很多用户在使用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即可,不管是带宽还是服务器的资源消耗都会降低,客户端的反应速度也会提升,以达到降低延时的目的。