实现 CDN 直播观看
2022-09-19 14:11 61414
CDN 直播观看,也叫 “CDN 旁路直播”,由于 TRTC 采用 UDP 协议进行传输音视频数据,而标准直播 CDN 则采用的 RTMPHLSFLV 等协议进行数据传输,所以需要将 TRTC 中的音视频数据旁路 到直播 CDN 中,才能在让观众通过直播 CDN 进行观看。
给 TRTC 对接 CDN 观看,一般被用于解决如下两类问题:
- 问题一:超高并发观看
TRTC 的低延时观看能力,单房间支持的最大人数上限为10万人。CDN 观看虽然延迟要高一些,但支持10万人以上的并发观看,且 CDN 的计费价格更加便宜。 - 问题二:移动端网页播放
TRTC 虽然支持 WebRTC 协议接入,但主要用于 Chrome 桌面版浏览器,移动端浏览器的兼容性非常不理想,尤其是 Android 手机浏览器对 WebRTC 的支持普遍都很差。所以如果希望通过 Web 页面在移动端分享直播内容,还是推荐使用 HLS(m3u8) 播放协议,这也就需要借助直播 CDN 的能力来支持 HLS 协议。
原理解析
腾讯云会使用一批旁路转码集群,将 TRTC 中的音视频数据旁路到直播 CDN 系统中,该集群负责将 TRTC 所使用的 UDP 协议转换为标准的直播 RTMP 协议。
单路画面的旁路直播
当 TRTC 房间中只有一个主播时,TRTC 的旁路推流跟标准的 RTMP 协议直推功能相同,不过 TRTC 的 UDP 相比于 RTMP 有更强大的弱网络抗性。
混合画面的旁路直播
TRTC 最擅长的领域就是音视频互动连麦,如果一个房间里同时有多个主播,而 CDN 观看端只希望拉取一路音视频画面,就需要使用 云端混流服务 将多路画面合并成一路,其原理如下图所示:
下篇:TRTC开启查找文件