腾讯云云点播TCPlayer 快直播降级说明_音视频解决方案_同尘科技

云点播 1年前 (2023-10-17) 浏览 66

降级场景

快直播基于 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);});



对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?