rtsp视频流转rtmp在网页上直播

先说下功能需求:
客户那里有一些海康摄像头,想把这些网络摄像头的监控画面集成在现有的web项目,通过html显示

之前粗略方案:使用vlc插件
缺点:最大弊端就是只能使用ie内核的浏览器查看,比如ie浏览器,360极速版浏览器。
参考链接:
https://blog.youkuaiyun.com/lxl631/article/details/52461240#commentsedit

新方案:ffmpeg+nginx(包括nginx-rtmp-module-master)+videojs.js
缺点:浏览器端需要允许flash

Q:为什么还要使用videojs.js前端插件?h5的<video>标签不可以么?
A:不可以。原生html不支持rtsp协议的视频流,所以需要转成rtmp,video标签无法直接播放rtmp视频流,videojs插件支持rtmp和hls这两种直播常用的视频流协议

**

概述

**
ffmpeg:很牛逼的流媒体开发框架,在这里我们使用ffmpeg来转码推流,即ffmpeg将rtsp流转为rtmp流并推给服务器nginx

nginx:高并发高性能的服务器,在这里用作转发服务器,因为现在是要作rtmp的转发服务器,还需要安装nginx-rtmp-module-master并做好配置

videojs.js:用来前端展示

ffmpeg安装及使用

官网:http://ffmpeg.org/
下载地址:https://ffmpeg.zeranoe.com/builds/win64/static/

安装方式:选个盘解压即可
说明:需要进行环境变量配置
具体见下方贴图
在这里插入图片描述
在这里插入图片描述
黑窗口输入:ffmpeg -version 测试下
在这里插入图片描述

在这里主要是使用ffmpeg进行转码,所以需要命令,下面是我根据自己需求写的几个命令,后面会用到

输入命令方式:在黑窗口直接粘上命令回车即可

//循环推流命令: 延迟4s左右 画质好
ffmpeg -re -stream_loop -1  -rtsp_transport tcp -i "rtsp://admin:ch123456@192.168.1.2/554/ch1/gj3/av_stream" -f flv -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 "rtmp://localhost:1935/live/test"



//设置ultrafast和zerolatency ,延迟 1s左右
ffmpeg -re -stream_loop -1  -rtsp_transport tcp -i  "rtsp://admin:ch123456@192.168.1.2/554/ch1/gj3/av_stream" -tune zerolatency -vcodec libx264 -preset ultrafast -b:v 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值