视频直播 > 最佳实践 > 如何降低延时

如何降低延时?

更新时间:2020-09-17 18:51:14

    

本页目录

按正常情况,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 个,所以总延迟基本都在在 20-30s。

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

 上一篇:鉴权代码示例

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值