NGINX+ffmpeg 实现 大华摄像头视屏转流RTSP转RTMP或M3U8
一、準(zhǔn)備
1.環(huán)境:
windows
2.開(kāi)發(fā)工具:
ffmpeg、nginx(代理服務(wù)器)nginx-rmtp-module(nginx服務(wù)器的流媒體插件)、vlc(兼容性播放器)
3.原理:
nginx通過(guò)rtmp模塊提供rtmp服務(wù), ffmpeg推送一個(gè)rtmp流到nginx, 然后客戶端通過(guò)訪問(wèn)nginx來(lái)收看實(shí)時(shí)視頻流。
二、啟動(dòng)nginx服務(wù)器
1.Ctrl+R調(diào)命令框輸入cmd; //進(jìn)入控制臺(tái)
2.cd /d E:\showwork\FFmpeg_nginx\nginx-1.7.11.3-Gryphon //進(jìn)入nginx的目錄
3.nginx.exe -c conf\nginx-win-rtmp.conf //運(yùn)行rtmp配置文件
注意:此時(shí)命令行會(huì)一直處于執(zhí)行中,不用管也不要關(guān)閉
(注意其中.conf 中修改server listen 端口號(hào),本機(jī)同時(shí)用了IIS 的話有沖突, 我是改成了2000) 不是RTMP RTSP 的SERVER 這里也要注意
二、FFMPEG操作
1進(jìn)入FFMPEG.EXE 所在目錄,調(diào)用CMD開(kāi)啟操作窗口
大華的RTSP 地址:
例子:
rtsp://admin:admin@172.16.5.247:554/cam/realmonitor?channel=2&subtype=1
rtsp://[username]:[password]@[ip]:[port]/cam/realmonitor?channel=1&subtype=0
說(shuō)明:
username: 用戶名。例如admin。
password: 密碼。例如admin。
ip: 為設(shè)備IP。例如 10.7.8.122。
port: 端口號(hào)默認(rèn)為554,若為默認(rèn)可不填寫(xiě)。
channel: 通道號(hào),起始為1。例如通道2,則為channel=2。
subtype: 碼流類型,主碼流為0(即subtype=0),輔碼流為1(即subtype=1)。
RTSP 轉(zhuǎn) RTMP 命令:
ffmpeg -re -rtsp_transport tcp -i “rtsp://admin:admin@172.16.5.247:554/cam/realmonitor?channel=2&subtype=1” -f flv -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 “rtmp://127.0.0.1:1935/live”
RTSP 是大華的RTSP
RTMP:IP是服務(wù)器的IP,端口號(hào)是 .CONF(上文提到的)里RTMP里的端口號(hào)
用VLC測(cè)試RTSP 和RTMP 地址的可用性:
RTSP 轉(zhuǎn) M3U8:
ffmpeg -f rtsp -rtsp_transport tcp -i “rtsp://admin:admin@172.16.5.168:554/cam/realmonitor?channel=1&subtype=1” -strict -2 -c:v libx264 -vsync 2 -c:a aac -f hls -hls_time 4 -hls_list_size 5 -hls_wrap 10 D:/DHDEMO/nginx-1.7.11.3-Gryphon/html/168_1.m3u8
成功后的效果:
DEMO下載地址: https://download.csdn.net/download/a523879907/12880534
總結(jié)
以上是生活随笔為你收集整理的NGINX+ffmpeg 实现 大华摄像头视屏转流RTSP转RTMP或M3U8的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 浅谈电力系统短路故障的分析
- 下一篇: R语言中的异常处理和eval函数