背景说明

由于互联网的飞速发展,传统安防摄像头的视频监控直播与互联网直播相结合也是大势所趋。传统安防的直播大多在一个局域网内,在播放的客户端上也是有所限制,一般都是都需要OCX Web插件进行直播。对于安防监控的视频直播需求,根据不同的业务需求,对视频直播需求也是不同的。其中,有大部分安防直播,对视频直播的延时要求是相对比较高的。

用户问题咨询

经常会有用户咨询到,集成视频到自身的物联网系统,发现视频直播延时会相对较大,但是从EasyNVR自身系统进行观看会发现延时会低很对多!希望了解到咱们的EasyNVR是如何实现低延时直播的。

针对这个用户的疑问,我会在接下来的博文中对直播延时进行介绍!

视频直播延时出现分析

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

设备端:

原因: EasyNVR是通过拉取设备的RTSP实现直播的,因此我们直播的视频源(RTSP)自身需要是低延时,如果设备端 自身的延时就存在,我们再基于这个流进行转发直播,必然也会存在延时。

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

网络传输:

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

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

客户端:

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

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



EasyNVR延时测试对比



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

我们再次验证一下源视频流的延时



图片不太清晰,但是我们可以清除的看到源视频流的延时是半秒以内的。

结论总结

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

备注:这里附送

EasyNVR视频直播的web播放器地址:https://www.npmjs.com/package/easy-player

EasyNVR相关集成使用说明文档及demo:https://github.com/EasyNVR/EasyNVR


关于EasyNVR

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

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

EasyNVR解决方案交流群:383501345

Copyright © EasyNVR Team 2016-2019

—本文转自EasyNVR官方博客:https://blog.csdn.net/EasyNVR

最新文章

  1. sublime text 3 + python配置,完整搭建及常用插件安装
  2. EntityFramework+MySql 笔记2
  3. HDU 1874 畅通工程续(最短路/spfa Dijkstra 邻接矩阵+邻接表)
  4. Solr DataImportHandler
  5. ios 正则邮箱
  6. Sprint第二个冲刺(第六天)
  7. org.springframework.core.NestedIOException
  8. UFLDL实验报告3:Self-taught
  9. java.lang.ClassCastException: sun.proxy.$Proxy11 cannot be cast to分析
  10. 【Gapps】安装GooglePlay引发一系列问题
  11. IOS应用程序生命周期详解
  12. 在SOUI中支持高分屏显示
  13. 排序算法Java实现(归并排序)
  14. C# SortedDictionary以及SortedList的浅谈
  15. Mvc请求的生命周期
  16. ocr_vote disk损坏恢复
  17. 使用jQuery+huandlebars循环中索引(@index)使用技巧(访问父级索引)
  18. 卡尔曼滤波跟踪 opencv
  19. HTML5 本地文件操作之FileSystemAPI实例(二)
  20. 转载,自己留着看eclipse 快捷键

热门文章

  1. luogu 2312 解方程 乱搞+取模
  2. CF696B Puzzles 概率期望
  3. cube.js 学习(二)cube.js与 graphql2chartjs的比较
  4. RookeyFrame Bug 线上创建的DLL被删除了 模块无法删除 临时解决
  5. P4425 【[HNOI/AHOI2018]转盘】
  6. 23、CacheManager原理剖析与源码分析
  7. Sudoku(简单DFS)
  8. 【转】Linux开机启动管理---systemd使用
  9. golang 闭包
  10. SpringMVC的请求转发的三种方法