EasyNVR网页Chrome无插件播放安防摄像机视频流是怎么做到web浏览器延时一秒内
背景说明
由于互联网的飞速发展,传统安防摄像头的视频监控直播与互联网直播相结合是大势所趋。传统安防的直播大多在一个局域网内,在播放的客户端上也是有所限制,一般都需要OCX Web插件进行直播。对于安防监控的视频直播需求,根据不同的业务需求,对视频直播需求也不尽相同。针对这样的行业大环境背景,立足于开源社区的EasyDarwin团队推出了EasyNVR、EasyDSS等系列产品。而对于安防监控的视频直播需求,对延时要求都比较高。
用户问题咨询
企业集成视频到自身的物联网系统时,发现视频直播延时相对较大,但是从EasyNVR自身系统进行观看延时却低很多!想问下EasyNVR是如何实现低延时直播的?针对这个用户的疑问,我会在接下来的博文中对直播延时进行介绍!
视频直播延时出现分析
对于出现延时,我们需要从多方面进行分析。
1、设备端:
原因: EasyNVR是通过拉取设备的RTSP实现直播的,因此我们直播的视频源(RTSP)自身需要是低延时,如果设备端自身延时就存在,基于这个流进行转发直播,必然也会存在延时。
解决方案: 对于摄像机等出流的硬件设备,可以通过优化硬件设备、优化对应的参数,来保证源流地址的低延时。
2、网络传输:
原因:众所周知,视频直播对网络要求是相对较高的,网络跟不上势必会导致卡顿、延时的增加;
解决方案: 一方面可以增加网络配置,通过优化网络来增加流的传输速率,另一个方面通过降低流的相关配置,类似于降低流的码率之类的来减小视频流的传输对网络的要求!
3、客户端:
原因 不管是什么协议的视频流,在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有专业的运维(售前支撑、商务咨询、售后维护)团队,随时对客户各种突发情况快速响应处理,保证互联网直播的顺利进行。我们也希望实现“0延时”,但理想丰满,现实骨感。每一个完美的直播背后都需要设备、网络、并发量等流程配合完成,正所谓“蝴蝶效应”,任何一个小环节都会对直播延时产生影响,EasyNVR团队要做的就是不断完善开发互联网直播系统,保证直播的低延时、稳定性,同时视频播放高清流畅。

EasyNVR安防摄像机网页流媒体服务
EasyNVR是一款拥有完整、自主、可控知识产权,同时又能够具备软硬一体功能的安防互联网化流媒体服务器,能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP、Onvif协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发。详情可访问EasyNVR官网:http://www.easynvr.com

智慧城市

经典案例
EasyNVR网页Chrome无插件播放安防摄像机视频流是怎么做到web浏览器延时一秒内的更多相关文章
- EasyNVR网页Chrome无插件播放摄像机视频功能二次开发之云台控制接口示例代码
随着多媒体技术和网络通信技术的迅速发展,视频监控技术在电力系统.电信行业.工业监控.工地.城市交通.水利系统.社区安防等领域得到越来越广泛的应用.摄像头直播视频监控通过网络直接连接,可达到的世界任何角 ...
- EasyNVR网页H5无插件播放摄像机视频功能二次开发之直播通道接口保活示例代码
背景需求 随着雪亮工程.明厨亮灶.手机看店.智慧幼儿园监控等行业开始将传统的安防摄像头进行互联网.微信直播,我们知道摄像头直播的春天了.将安防摄像头或NVR上的视频流转成互联网直播常用的RTMP.HT ...
- 如何自己构建一套EasyNVR这样的无插件流媒体服务器实现摄像机硬盘录像机的网页可视化直播
EasyNVR流媒体解决方案 EasyNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera.NVR等具有RTSP协议输出的设备接入到EasyNVR,EasyNV ...
- EasyNVR摄像机网页Chrome无插件视频播放功能二次开发之通道配置文件上传下载示例代码
背景需求 熟悉EasyNVR产品的朋友们都知道,产品设计初期根据整个直播流程层级,我们将EasyNVR无插件直播系统划分为:硬件层.能力层.应用层,连接硬件与应用之间的桥梁,同时屏蔽各种厂家硬件的不同 ...
- 通过Onvif设备探索获取EasyNVR网页无插件播放所需要的摄像机硬盘录像机NVR的RTSP地址
想实现网络监控摄像头进行视频直播的朋友门应该知道,方法其实非常简单,你不需要使用支持直播的网络摄像机,只需要经过一套流媒体服务器将监控摄像头的RTSP视频流转为RTMP\HLS\HTTP-FLV视频流 ...
- 如何自己实现一套EasyNVR这样的无插件流媒体服务器
EasyNVR流媒体解决方案 EasyNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera.NVR等具有RTSP协议输出的设备接入到EasyNVR,EasyNV ...
- Web下无插件播放rtsp视频流的方案及各家优秀内容资源整理
Web下无插件播放rtsp视频流的方案及各家优秀内容资源整理 方案一:服务器端用 websocket 接受 rtsp ,然后,推送至客户端 实现步骤: 方案二:使用 ffmpeg + nginx 把 ...
- EasyNVR网页无插件播放摄像机RTSP流是如何调取接口在Web页实现多窗口同时直播的
背景需求 在互联网飞速发展的时代,开发者常会说的一个词就是"跨平台".自从移动端的用户需求越来越大,H5逐渐发展,跨平台似乎已经成为了软件开发不可或缺的技术.EasyNVR互联网直 ...
- EasyNVR无插件播放HLS/RTMP网页直播方案前端完善:监听表单变动
在上一篇博客中我们表述完了防止提交成功后多余操作提交的一个过程:其中的精髓在于ajax的触发事件的使用. 而这篇博客主要想说明一下如何实时的判断出表单是否发生变化. 问题表述: 在网页前端的开发过程中 ...
随机推荐
- kubernetes存储之GlusterFS
目录 1.glusterfs概述 1.1.glusterfs简介 1.2.glusterfs特点 1.3.glusterfs卷的模式 2.heketi概述 3.部署heketi+glusterfs 3 ...
- poj1679The Unique MST(次小生成树模板)
次小生成树模板,别忘了判定不存在最小生成树的情况 #include <iostream> #include <cstdio> #include <cstring> ...
- Tomcat项目内存参数调优
一.常见的Java内存溢出有以下三种: 1. Java.lang.OutOfMemoryError: Java heap space 即JVM Heap溢出 解释说明:JVM在启动的时候会自动设置JV ...
- easyui_验证扩展
本文为转载,并非原创 easyui validatebox 验证类型 分类: jquery-easyUI -- : 11000人阅读 评论() 收藏 举报 easyuiValidateBox requ ...
- django-发送文件
客户端授权密码”,勾选“开启”,弹出新窗口填写手机验证码. settings.py配置 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBac ...
- 学习Spring-Data-Jpa(十)---注解式方法查询之@Query、@Modifying与派生delete
1.@Query 对于少量的查询,使用@NamedQuery在实体上声明查询是一种有效的办法,并且可以很好的工作.由于查询本身绑定到执行它们的java方法,实际上可以通过Spring-Data-Jpa ...
- 22-ESP8266 SDK开发基础入门篇--编写Android TCP客户端 , 连接和断开
https://www.cnblogs.com/yangfengwu/p/11192618.html 有些很细致的东西参考这篇 https://www.cnblogs.com/yangfengwu ...
- (转)React事件处理函数必须使用bind(this)的原因
1.JavaScript自身特性说明如果传递一个函数名给一个变量,之后通过函数名()的方式进行调用,在方法内部如果使用this则this的指向会丢失.示例代码:首先我们创建test对象并直接调用方法 ...
- 洛谷P1081 开车旅行
题目 双向链表+倍增+模拟. \(70pts\): 说白了此题的暴力就是细节较多的模拟题. 我们设离\(i\)城市最近的点的位置为\(B[i]\),第二近的位置为\(A[i]\).设\(A\)或\(B ...
- 【转】Resource Localization in YARN
一个Applciation运行在YARN上的流程为,从YARN Client向ResourceManager提交任务,将Applciation所需资源提交到HDFS中,然后ResourceManage ...