使用LiveNVR实现将RTSP转RTMP、FLV、HLS,实现监控摄像头无插件直播

背景需求

对于摄像机直播,客户反馈的最多就是实现web直播、摆脱插件,能够自定义集成等问题,
对于熟悉LiveNVR已经完美的解决了这些问题。然而对于web播放也存在一些问题,一般咱们web播放RTMP流使用的是flash,在这个过程当中就会出现一个问题,随着web一直播放直播时间的增长,视频直播的延时也会累积起来,延时也就越大web

问题分析

经过自我调研和客户反馈得出在ckplayer、videojs、aliplayer等播放器都会有相似问题,出现该问题的缘由在于咱们播放rtmp视频流的时候启用了flash,我们的LiveNVR调用的videojs播放rtmp视频流依然会有这个问题的存在。npm

解决参考

videojs是一款开源的播放器,对于播放器自身定位不必定是实时的直播。咱们对他进行了从新的编译,将缓存设置更小,同时videojs也有对应的参数是用来对应播放实时流的。
通过咱们实时的测试发现,编译出的低延时,追帧版本的播放器在实测过程当中对网络有必定的要求,由于播放器在播放时为了保证明时性就会一直追帧,这样就不会存在累计延时的状况了,可是,当网络环境差的时候,咱们的网络没法彻底知足直播视频数据时就会在直播会面中出现相似掉帧的状况。缓存

LiveNVR的处理方式

LiveNVR是实时的进行直播视频流,所以在视频的web直播中咱们也有遇到延时累计的问题。咱们采用的方式是将两个播放形式都集成到咱们的播放系统中,而且能够经过播放页面来进行播放模式的选择网络

咱们将直播分为了实时直播和流畅直播,顾名思义,实时就是保证直播的实时性,保证播放器的低延时直播;流畅直播则为能够在网络环境不是特别理想的状况下依然能够 进行流畅的视频直播。ide

通过播放一段时间的对比就能够看出二者这件的差异。测试

注意为了方便用户的集成,咱们将videojs的功能通封装成播放器 liveplayer插件

具体调用方式和使用方法见连接:https://www.npmjs.com/package/@liveqing/liveplayer视频


关于LiveNVR

LiveNVR可以经过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具备RTSP协议输出的设备接入到LiveNVR,LiveNVR可以将这些视频源的音视频数据进行拉取,转换为HTTP-FLV/RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),而且LiveNVR可以将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发;blog

相关文章
相关标签/搜索