直播延迟高,拉流地址flv,也设置了极速模式,但是还有超过5秒的延迟怎么办?

  • 回答 (1)
  • 关注 (0)
  • 查看 (420)

Android端做了操作

mTXPlayConfig.setAutoAdjustCacheTime(true);

mTXPlayConfig.setMinAutoAdjustCacheTime(1);

mTXPlayConfig.setMaxAutoAdjustCacheTime(1);

并且拉流地址已经是flv的了,但是现在观看直播有最少5到10秒的延时,这个有没有什么好一点的办法

用户1011198用户1011198提问于
Tabor

Tencent · Content Operation (已认证)

一个会花式跑脚本的boy~修改于

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

Step1. 检查播放协议

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

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

Step2. 检查播放器设置

腾讯云RTMP SDK的播放器支持极速、流畅和自动三种模式:

极速模式:能保证绝大多数场景下延迟都在 2-3 秒以内,美女秀场适合这个模式。

流畅模式:绝大多数场景下延迟都在 5 秒以上,适合对延迟不敏感但对流畅度要求高的场景,比如游戏直播。

自动模式:如果网络很好,延迟一般都在 2-3 秒以内,但网络波动比较大的时候会自动调整到5秒以上来抵抗网络抖动。

Step3. 后台不要打水印

腾讯云支持后台打水印,目的是满足一些不能使用腾讯云RTMP SDK的推流器(支持直播端加水印)但依然要打水印的客户。但是这种方案会引入额外的三秒延迟,故如果您本身使用的是腾讯云RTMP SDK来推流,就把后台水印关闭后在主播端的APP上加水印吧。

Step4. 第三方推流器?

我们只能确保在腾讯云一体化解决方案中保持理想的效果,如果您使用的是第三方推流软件,建议您先换成腾讯云RTMP SDK的推流Demo做个对比,排除一下第三方推流器的编码缓存引入大延迟的可能,因为很多第三方的推流器对会暴力的采用无限缓冲的方式来解决上行带宽不足的问题。

Step5. 检查OBS设置

建议按照PC推流文档中配置对应的参数,并注意要把 关键帧间隔 设置为1或者2。

所属标签

可能回答问题的人

  • 腾讯云视频

    腾讯 · 行业应用产品经理 (已认证)

    38 粉丝0 提问0 回答
  • 腾讯云技术服务团队

    腾讯云 · 技术服务团队 (已认证)

    16 粉丝0 提问3 回答
  • 宝哥@devops运维

    腾讯 · 高级云计算工程师 (已认证)

    44 粉丝0 提问0 回答
  • elliswu

    腾讯计算机系统有限公司 · 高级工程师 (已认证)

    3 粉丝0 提问0 回答
  • 小翔

    0 粉丝0 提问1 回答
  • 1076485026

    0 粉丝0 提问0 回答

扫码关注云+社区

领取腾讯云代金券