EasyNVR安防摄像头网页无插件直播H5、谷歌Chrome直播方案中如何降低播放延迟问题

本文主要是介绍EasyNVR安防摄像头网页无插件直播H5、谷歌Chrome直播方案中如何降低播放延迟问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景分析

EasyNVR主要功能包括通过RTSP协议接入摄像机支持Onvif协议支持云台控制焦距缩放、全平台(web/Android/iOS/微信/H5)观看支持RTMP、HLS、http-flv协议、支持CDN接入,直接在每一个通道配置填写独立的阿里云/腾讯云CDN的RTMP推流地址即可支持全网页配置管理支持用户管理,权限验证支持录像点播、录像计划、时间录像检索播放

使用EasyNVR降低播放延迟

很多用户在使用EasyNVR的时候希望尽量降低播放延迟,今天我们整理几个办法以供大家参考。

1、优先选择rtmp协议

EasyNVR目前支持多种协议输出,包括flv、rtmp、hls,beta版本已经新增了rtsp输出,后期会更新到release版里。从协议的原理上来讲,延迟的高低排名是rtmp<flv<hls,其中只要浏览器支持flash rtmp就能播放,flv在pc的浏览器上已经不需要插件就能播放,但移动端的浏览器目前支持flv的较少,只有hls是在pc以及移动端的浏览器上都同行,但延迟较大。

 

2、关闭“按需直播”

“按需直播”是指客户端有播放请求时服务端EasyNVR才会从设备端(比如摄像头、硬盘录像机等)拉取数据进行协议转换,并分发出去,默认情况下按需直播功能是关闭的,因为按需直播比实时直播更节省带宽流量,实时直播则会一直从设备拉流,流媒体数据在服务端一直处于stand by的状态,所以客户端播放的时候延迟会更低。

 

3、接子码流(辅码流)或降低摄像头码率

摄像头支持输出多路视频流,正常称之为主码流或子码流,有的厂家叫作主辅码流,甚至有的摄像头还有第三码流、第四码流等等,下面这个截图就是某个大华摄像头的后台。

 

摄像头默认的码流一般都比较高,2M或者4M比较常见,码流越高对带宽消耗越大,数据传输速度也就越慢,在这种情况下可以接入子码流或手动降低码流,比如将2M降低为1M,移动端观看可以降低到512Kb/S即可,不管是带宽还是服务器的资源消耗都会降低,客户端的反应速度也会提升,以达到降低延时的目的。

 

这篇关于EasyNVR安防摄像头网页无插件直播H5、谷歌Chrome直播方案中如何降低播放延迟问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/329651

相关文章

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja