tencent cloud

文档反馈

TCPlayer 快直播降级说明

最后更新时间:2024-04-11 16:47:59

    降级场景

    快直播基于 WebRTC 实现,依赖于操作系统和浏览器对于 WebRTC 的支持。
    目前,SDK 对以下操作系统和浏览器进行了测试,测试结果如下:
    操作系统
    操作系统版本
    浏览器类型
    浏览器版本
    是否支持拉流
    Windows
    win 10
    Chrome
    86+
    Firefox
    88+
    Microsoft Edge
    86+
    macOS
    10.5+
    Safari
    13.1+
    Chrome
    86+
    Firefox
    88+
    Microsoft Edge
    86+
    iOS
    13.1.1+
    Safari
    13.7+
    Chrome
    86+
    Firefox
    33+
    Microsoft Edge
    89
    微信内嵌
    -
    Android
    -
    Chrome
    86+
    Firefox
    88+
    微信内嵌
    X5 内核
    微信内嵌
    XWeb 内核
    此外,在部分支持 WebRTC 的浏览器,也会出现解码失败或者服务端问题,这些情况下,播放器都会将 WebRTC 地址转换为兼容性较好的 HLS 地址来播放,这个行为称为降级处理。
    总结一下,会触发降级的场景有以下几个:
    浏览器环境不支持 WebRTC 。
    连接服务器失败,并且连接重试次数已超过设定值 (内部状态码 -2004)。
    播放过程解码失败(内部状态码 -2005)。
    其他 WebRTC 相关错误(内部状态码 -2001)。

    降级方式

    1. 自动降级

    初始化播放器时,通过 sources 字段传入了快直播地址,在需要降级处理的环境,播放器自动会进行协议的转换,将快直播地址转换为 HLS 协议地址。
    例如,快直播地址:
    webrtc://global-lebtest-play.myqcloud.com/live/lebtest?txSecret=f22a813b284137ed10d3259a7b5c224b&txTime=69f1eb8c
    会自动转换为:
    https://global-lebtest-play.myqcloud.com/live/lebtest.m3u8?txSecret=f22a813b284137ed10d3259a7b5c224b&txTime=69f1eb8c

    2. 指定降级

    在播放自适应码率(ABR)场景,如果需要降级,并不能直接通过格式转换得到自适应码率的 HLS 地址,需要手动指定。又或者是在用户希望手动指定的其他场景,都可以通过如下方式指定降级地址,这里的地址并不局限于 HLS 协议,也可以是其他协议地址:
    var player = TCPlayer('player-container-id',{
    sources: 'webrtc://global-lebtest-play.myqcloud.com/live/lebtest?txSecret=f22a813b284137ed10d3259a7b5c224b&txTime=69f1eb8c&tabr_bitrates=d1080p,d540p,d360p&tabr_start_bitrate=d1080p',
    webrtcConfig: {
    fallbackUrl: 'https://global-lebtest-play.myqcloud.com/live/lebtest_HLSABR.m3u8',
    },
    });

    降级回调

    当触发降级时,播放器会触发回调:
    player.on('webrtcfallback', function(event) {
    console.log(event);
    });
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持