全部产品
视频直播

如何降低延时

更新时间:2017-09-04 20:02:02   分享:   

按正常情况,RTMP推流+FLV播放的正常延迟在2-3s左右,如果太长则是有问题的。如果您发现直播延迟时间特别长,可以按照如下思路来排查:

以下方法仅适用于RTMP与FLV

阿里云提供FLV、HLS、RTMP三种播放协议,不少用户采用HLS的播放协议。HLS是苹果研发的协议,对浏览器兼容较好,并且跨终端的支持。是很多朋友的首选。但是HLS本身机制的问题,是基于大颗粒的TS分片的流媒体协议,每个分片都有5s以上的时长,分片数量一般为3-4个,所以总延迟在20-30s左右。很多人通过设置TS切片的时间来减少延时,虽然能有效的减少一些延时,但基于协议本身的特性也无法想rtmp与flv协议一样将延迟降低到很低。

GOP帧设置

GOP帧是视频的关键帧,是一组连续的画面,由一张 I 帧和数张 B / P 帧组成,是视频图像编码器和解码器存取的基本单位,它的排列顺序将会一直重复到影像结束。直播会将每一帧数据 打上时序标签 后进行在网络上进行传输,减少GOP帧的数量,减少播放器加载GOP帧所用的时间。一般情况下设置为1-2S。

服务器缓存设置

一般情况服务器会先缓存一部分直播数据,在将数据通过网络传输至终端。这样能保证数据传输的流畅性,有缓存数据也就会造成一定的直播延时,对直播要求较高的场景就会要求将缓存调小已达到较小的延迟。

当然,相对应的缓存越小,当网络环境不好是,数据无法及时的下载,就会出现卡顿的现象。

确认使用的播放协议

不少客户播放协议采用HLS(m3u8),并感觉延迟较大,这个是正常的。苹果主推的HLS是基于TS分片文件的流媒体协议,每个分片都有5s以上的时长,分片数量一般为3-4个,所以总延迟基本都在在 20s - 30s。

换用FLV作为播放协议即可解决这个问题。但是要注意,如果您要在手机浏览器上观看直播视频,只有HLS(m3u8) 这一种播放协议可以选择,其它的直播协议在苹果的Safari浏览器上都是不支持的。

本文导读目录
本文导读目录
以上内容是否对您有帮助?