zoukankan      html  css  js  c++  java
  • EasyNVR是怎么做到Web浏览器播放RTSP/Onvif安防摄像机视频直播延时控制在一秒内的

    移动互联网、4G/5G网络、视频分析、人工智能的飞速发展,带来的传统安防摄像机IPC的视频监控直播与互联网直播相结合也是大势所趋。传统安防的直播大多在一个局域网内,胖终端架构,在播放的客户端上也是有所限制,一般都是都需要Windows+IE+OCX Web插件进行直播。对于安防监控的视频直播需求,根据不同的业务需求,对视频直播需求也是不同的。其中,有大部分安防直播,对视频直播的延时要求是相对比较高的。

    经常会有用户咨询到,集成视频到自身的物联网系统、OA系统、互联网安防监控系统,发现视频直播延时会相对较大,但是从EasyNVR自身系统进行观看会发现延时会低很对多!希望了解到咱们的EasyNVR是如何实现低延时直播的。针对这个用户的疑问,我会在接下来的博文中对直播延时进行介绍!

    视频直播延时出现分析

    对于出现延时,我们需要从多方面进行分析。

    设备端:

    原因: EasyNVR是通过拉取设备的RTSP实现直播的,因此我们直播的视频源(RTSP)自身需要是低延时,如果设备端自身的延时就存在,我们再基于这个流进行转发直播,必然也会存在延时。但大部分情况下,尤其是大品牌的厂家,例如海康、大华、宇视这些摄像机的流,接入过来,基本延时都控制的非常低,所以延时出现在这个环境的可能性很低

    解决方案: 对于摄像机等出流的硬件设备,我们可以通过优化硬件设备 优化对应的参数,从而保证源流地址的低延时

    网络传输:

    原因:众所周知,视频直播,对网络要求肯定是相对较高的,网络跟不上势必会导致卡顿、延时的增加

    解决方案: 一个是我们可以增加网络配置,通过优化网络来增加流的传输速率,另一个方面是通过减低流的相关配置,类似于降低流的码率之类的来减小视频流的传输对网络的要求!

    客户端:

    原因:不管是什么协议的视频流,在EasyNVR这边的处理方式都是将视频流转发出来,由客户端进行解码播放,因此,在视频直播展现的过程中,客户端的解码播放是至关重要的一环,大部分的播放问题出现也都是由于客户端的导致的。

    解决方案: 对于EasyNVR的是视频播放,EasyNVR内部专门个对于的web流媒体视频直播的播放器,该播放器可以播放HLS、FLV、RTMP等视频流,对于rtmp视频流,是需要在web页面通过flash解码来进行播放,咱们的播放器内部是通过优化flash文件来处理了视频流的客户端播放,分为了视频流畅不卡顿的“流畅模式”和低延时的“极速模式”
    EasyNVR流畅模式
    EasyNVR极速模式

    EasyNVR延时测试对比

    EasyNVR
    通过该图片我们可以看出,在派出设备自身rtsp延时的情况下,EasyNVR的低延时极速模式基本可以做到于源视频流保持同步!

    我们再次验证一下源视频流的延时
    EasyNVR
    图片不太清晰,但是我们可以清除的看到源视频流的延时是半秒以内的。

    结论总结

    通过一些列的测试对比,我们发现,EasyNVR在转发视频流的能力上是完全没有问题的,对于视频流的延时处理也是相对优秀的。因此我们在实地的集成过程中如果有出现类似的视频延时问题,我们可以从源rtsp地址入手,后者是更多的关注客户的播放视频这边

    备注:这里附送
    EasyNVR视频直播的web播放器地址:https://github.com/EasyDSS/EasyPlayer.js
    EasyNVR相关集成使用说明文档及demo:https://github.com/EasyNVR


    关于EasyNVR

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

    官方网站:http://www.easynvr.com

  • 相关阅读:
    nginx内置变量
    MySQL获取错误编号 try判断 获取 Exception 上的错误
    MySQL错误代码大全(转)
    PHP递归菜单/权限目录(无限极数组)
    PHP魔术方法
    php and和&&的一个坑(文章是发现其他博客,保存自己笔记)
    nginx配置php与前后端分离(文档只供本人观看,接受错误但勿喷!)
    servlet的构造器与init方法
    模板方法设计模式
    MVC
  • 原文地址:https://www.cnblogs.com/EasyNVR/p/10833969.html
Copyright © 2011-2022 走看看