内部视频传输到公网上
公网上采用EasyDarwin开源包,作为接受拉推流服务器。
具体操作方法:https://github.com/EasyDarwin/EasyDarwin
操作系统:centOS
内网上采用FFmpeg工具进行推流,具体部署在“消防智能计算中心”上
推流方法如下:ffmpeg -i "rtsp://admin:[email protected]:554/cam/realmonitor?channel=2&subtype=1" -rtsp_transport udp -vcodec h264 -f rtsp rtsp://localhost/3
X86版本:
Arm版本:
大华录像机查看录像的方法:
rtsp://172.22.0.26:554/cam/playback?channel=1&subtype=0&starttime=2016_04_18_11_50_00
说明:
playback表示回放
channel=number表示通道号
subtype=0表示主码流
starttime=YYYY_MM_DD_HH_mm_SS表示回放开始时间
endtime=YYYY_MM_DD_HH_mm_SS表示回放结束时间
在外网服务器上搭建消息队列服务器,“消防智能计算中心”实时对需要推流的数据进行监测
在“计算中心的Redis”中标识需要推流的路及互联网的地址
Redis里的结构如下:
开始推流的key:startPush
停止推流的key:endPush
startPush的json如下:
{id: channel: targetUrl: requestIp:}
endPush的json如下:
{id: channel: requestIp:}
正在运行的推流runningPush:
Key:spl_push_id Value:requestIp
实现流程为:
依赖的包:
go get github.com/go-redis/redis/v8
go get github.com/robfig/cron/[email protected]
nohup ./main &