NGINX+ffmpeg 实现 大华摄像头视屏转流RTSP转RTMP或M3U8

一、准备
1.环境:
windows
2.开发工具:
ffmpeg、nginx(代理服务器)nginx-rmtp-module(nginx服务器的流媒体插件)、vlc(兼容性播放器)
3.原理:
nginx通过rtmp模块提供rtmp服务, ffmpeg推送一个rtmp流到nginx, 然后客户端通过访问nginx来收看实时视频流。

二、启动nginx服务器
1.Ctrl+R调命令框输入cmd; //进入控制台
2.cd /d E:\showwork\FFmpeg_nginx\nginx-1.7.11.3-Gryphon //进入nginx的目录
3.nginx.exe -c conf\nginx-win-rtmp.conf //运行rtmp配置文件
注意:此时命令行会一直处于执行中,不用管也不要关闭

在这里插入图片描述
(注意其中.conf 中修改server listen 端口号,本机同时用了IIS 的话有冲突, 我是改成了2000) 不是RTMP RTSP 的SERVER 这里也要注意
在这里插入图片描述
二、FFMPEG操作
1进入FFMPEG.EXE 所在目录,调用CMD开启操作窗口
在这里插入图片描述
大华的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
说明:
username: 用户名。例如admin。
password: 密码。例如admin。
ip: 为设备IP。例如 10.7.8.122。
port: 端口号默认为554,若为默认可不填写。
channel: 通道号,起始为1。例如通道2,则为channel=2。
subtype: 码流类型,主码流为0(即subtype=0),辅码流为1(即subtype=1)。

RTSP 转 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是服务器的IP,端口号是 .CONF(上文提到的)里RTMP里的端口号
在这里插入图片描述
用VLC测试RTSP 和RTMP 地址的可用性:
在这里插入图片描述

在这里插入图片描述

RTSP 转 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

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值