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

相关文章

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

如何解决mysql出现Incorrect string value for column ‘表项‘ at row 1错误问题

《如何解决mysql出现Incorrectstringvalueforcolumn‘表项‘atrow1错误问题》:本文主要介绍如何解决mysql出现Incorrectstringv... 目录mysql出现Incorrect string value for column ‘表项‘ at row 1错误报错