流媒体服务海康摄像头RTSP视频推流转码拉流直播综合应用:VLC+FFMPEG+Nginx实现RTSP到RTMP网页直播
Posted liuyonghong159632
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了流媒体服务海康摄像头RTSP视频推流转码拉流直播综合应用:VLC+FFMPEG+Nginx实现RTSP到RTMP网页直播相关的知识,希望对你有一定的参考价值。
文章目录
前言
前几章节已完成推流拉流转码直播相关的基础工作准备,本章节整体演示综合直播应用,延迟5秒钟左右…
一、前几章节回顾
- 【流媒体服务】基础协议了解(一):【1】RTP/RTMP/RTSP等基础协议了解
- 【流媒体服务】推流拉流体验(二):【1】使用VLC轻松体验本地视频推流、拉流、播放功能
- 【流媒体服务】安装推流转码工具(三):【1】下载安装ffmpeg推流转码工具
- 【流媒体服务】Web网站服务搭建(四):【1】下载安装Nginx网站服务
二、操作步骤
1、准备本地视频
准备本地视频用于推流: 暗战2.mp4
2、获取海康RTSP视频流
- 海康RTSP视频流地址:rtsp://admin:1234qwer@192.168.0.128:554/h264/ch1/main/av_stream
3、FFMPEG:转码推流服务准备
- 参考链接:【流媒体服务】安装推流转码工具(三):【1】下载安装ffmpeg推流转码工具
- 准备好转码推流服务。
4、nginx:网站服务准备
- 参考链接: 【流媒体服务】Web网站服务搭建(四):【1】下载安装Nginx网站服务
- 完成Nginx网站服务准备:
- 注意网站端口已经改为81,即http://localhost:81;
- rtmp监听端口为1935,即http://localhost:1935。
5、FFMPEG推流:rtsp转rtmp
- cmd 执行命令:ffmpeg -i “rtsp://admin:1234qwer@192.168.0.64:554/h264/ch1/main/av_stream” -vcodec libx264 -acodec aac -f flv rtmp://localhost:1935/live/movie
- 看到如下界面表示成功:
- cmd 打开另外要给窗口:ffplay.exe rtmp://localhost:1935/live/movie
- 看到如下窗口表示成功:
6、FFMPEG推流:rtsp转hls
- cmd执行如下命令:ffmpeg -i “rtsp://admin:1234qwer@192.168.0.64:554/h264/ch1/main/av_stream” -vcodec libx264 -acodec aac -f flv rtmp://localhost:1935/hls/movie
- 看到如下窗口表示成功:
- cmd 打开新窗口:ffplay.exe http://localhost:81/hls/movie.m3u8
- 看到如下窗口表示成功:
- 此时Nginx网站根目录下会多出很多视频流文件:
- 出现的问题:hls实时数据流播放一会儿就卡死了,需要结束掉重新启动 ffplay.exe http://localhost:81/hls/movie.m3u8
三、网页播放视频流
1、准备测试网页:test.html
<html>
<head>
<link href="https://cdn.bootcss.com/dplayer/1.25.0/DPlayer.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
<script src="https://cdn.bootcss.com/dplayer/1.25.0/DPlayer.min.js"></script>
</head>
<body>
<div id="dplayer"></div>
<script>
const dp = new DPlayer(
container: document.getElementById('dplayer'),
video:
url: 'http://localhost:81/hls/movie.m3u8', /*注意这个为实时视频数据流*/
type: 'customHls',
customType:
customHls: function(video, player)
const hls = new Hls();
hls.loadSource(video.src);
hls.attachMedia(video);
,
,
,
);
</script>
</body>
</html>
2、各种浏览器打开test.html测试页面:
四、总结
整体延迟5秒钟左右,赶紧还不错!
海康大华安防网络摄像头OnvifRTSP视频流媒体服务解决方案EasyNVR如何针对运营商方案进行异网卡顿问题处理
监控摄像头网络直播
越来越多人的开始讲普通安防摄像机接入网络流媒体服务器,进行网络直播。这方面的解决方案比较多,最近测试了一个比较轻巧的解决方案:EasyNVR。这个就是实现接入普通RTSP/Onvif的安防摄像机,转成RTMP和HLS流,可以在各平台上进行H5 web直播或者app直播。
卡顿原因介绍
使用EasyNVR进行监控摄像头网络直播时,可能会遇到卡顿的问题,原因可能有以下几种可能:
- 网络情况不稳定。摄像机或者客户端网络不稳定,或者服务器带宽不足。
- 摄像机码率太高。正常直播时码率建议设置到320Kbps到1024Kbps之间,根据实际网络情况而定。可以选择摄像机的子码率进行直播。登录摄像头配置页面将码率设置到合适的值。
- 视频流时间戳不正常。这个情况在最新的EasyNVR上已经能够很好的兼容了,都可以使用最新EasyNVR测试。
EasyNVR业务异网卡顿解决方案
提出问题
近期有个老客户,用我们的EasyNVR产品做他们的视频能力输出平台,由于该用户是和运营商合作的,因此所对应的的服务器是该运营商的。当其他运营商访问时,视频流经常出现卡顿、黑屏等问题,但本网访问非常流畅。 为此,该客户对应的业务发展严重受阻。
分析问题
通过在不同网络环境下测试,确实有这类情况,研发经过抓包分析,在别的运营商网络下访问该流媒体,丢包率很高。本网无问题,因此初步判断为跨网问题导致。这也是目前不同运营商之间常见的问题,只能通过网络加速来解决。
解决问题
客户前期已经和国内比较知名的加速公司洽谈测试,由于相关费用过高,未采取此方案。为此,特向我们咨询有无解决方案,我们建议将EasyNVR视频流转推到第三方的CDN方案,将异网用户的流量引入第三方商业直播平台,利用第三方直播平台强大的CDN资源来进行分流,且第三方平台使用的是流量付费,适合该业务场景。
经过开发测试,该方案非常适合运营商目前的场景,通过业务平台添加网络切换按钮,完美解决异网网络卡顿问题。
以上是关于流媒体服务海康摄像头RTSP视频推流转码拉流直播综合应用:VLC+FFMPEG+Nginx实现RTSP到RTMP网页直播的主要内容,如果未能解决你的问题,请参考以下文章
RTSP安防摄像头/海康大华硬盘录像机/NVR网页低延时播放流媒体服务器EasyNVR调取接口报Unauthorized如何解决?
LiveNVR高性能稳定RTSPOnvif探测流媒体服务配置通道接入海康大华等摄像机进行全终端无插件直播
海康大华等网络摄像头RTSP_Onvif网页无插件直播流媒体服务器EasyNVR鉴权出现跨域问题的解决方法
RTSP安防网络摄像头/海康大华硬盘录像机网页无插件直播流媒体服务器EasyNVR之鉴权接口的调用配置说明
EasyRTSPLive摄像机NVR录像机RTSP协议实时流转RTMP协议直播流推送之搭建EasyRTMPLive拉RTSP流转RTMP测试环境的方法解析