使用ffmpeg+Nginx实现rtmp监控转发 学习笔记
使用ffmpeg+Nginx实现rtmp监控转发
某业务需求 要对接到监控画面到系统;由于监控是内网,业务是外网;且监控无法接入外网使用云服务,
临时的解决方案 使用前置机 做转发
下载nginx和nginx-rtmp-module
nginx 使用的是 openresty1.25.31
编译安装
1 |
|
显示版本和模块 安装成功
安装 ffmpeg
1 |
|
配置
修改 /usr/local/openresty/nginx/conf/nginx.conf 配置 增加下面配置
1 |
|
如果有多路监控 可以 加多个application
测试 启动
1 |
|
转码
使用ffmpeg 将海康监控的rtsp流推到nginx
1 |
|
-rtsp_transport tcp
:指定使用 TCP 协议来传输 RTSP 数据,这有助于减少丢包问题。-rtbufsize 5000000
:设置输入缓冲区的大小,有助于处理高质量视频流。-i rtsp://172.17.x.x:554/Streaming/Channels/101
:输入流的 URL,ip是网络摄像头的ip 101是主流 102是辅流。-c:v libx264
:使用 x264 编码器将视频编码为 H.264 格式。-c:a acc
:音频编码。-f flv
:指定输出格式为 FLV,适合用于 RTMP 流。rtmp://127.0.0.1:1935/live/v1
:RTMP 服务器的地址和流名称。
播放视频
防火墙开放1935端口
本机电脑 VLC media player 打开 网络串流 输入 rtmp://外网ip:1935/live/v1 就可以播放了