背景和需求
(1)常见的直播大部分采用RTMP、HLS、FLV协议,技术成熟、兼容性较好、支持大规模并发等优点,但端到端延时最低只能控制在4-6秒,降低了直播的互动体验,也阻碍了直播在一些场景的落地推广,不利于直播应用生态系统的繁荣。
(2)电商直播、在线课堂、体育赛事、互动娱乐等多样化互动直播的形式出现,让用户对实时互动性有了更高的要求,端到端延时跨入毫秒级直播时代。
基于TCP拉流播放情况下,后进直播间的观众会比先进的观众延迟长。
目标
(1)直播端到端延迟小于1200毫秒。
(2)支持线上大规模、千万级高并发场景的低延时直播能力。
(3)能从直播无缝切换到连麦场景,再从连麦无缝切换到直播场景,音视频媒体流不中断。
方案特性
(1)低延时直播系统RTS(Real-Time Streaming),基于RTC实时音视频引擎和传统RTMP直播系统的基础上,分别对直播推流端、播放端、边缘节点嵌入RTC模块,集成最新的RTP推拉流协议和实时媒体传输策略
传统直播方案
HLS:10-20秒;HTTP-FLV:3-5秒;RTMP:3-5秒;
低延时直播方案
N对N实时音视频会议:基于UDP/RTP协议,采用MCU或SFU会议模式架构系统,延时800ms之内。
1对N低延时直播: 基于UDP/RTP协议,但仍属于传统广播式直播业务架构, 只是延时比较低, 在400-1500ms之间。
2对N低延时连麦直播:基于UDP/RTP协议,融合了实时音视频会议+传统广播式直播两种业务架构, 延时比较低, 在400-1500ms之间,连麦双方通过MCU节点进行音视频实时通信,观众通过传统CDN网络拉取连麦参与者的合流画面和混音。该方案兼顾实时互动连麦和低成本直播需求,支持成百上千万的观众同时拉取混合画面。
系统架构图
(1)主播推流到服务器,观众端从服务器拉流
rtmp推流与rtp推流/连麦音视频链路并存。
flv拉流与rtp拉流播放的音视频链路并存。
CDN节点与RTC节点并存融合,提高服务器和网络带宽资源的复用率。
(2)就近接入和智能调度系统
传统调度系统由SLB全球负载均衡系统负责CDN边缘节点的调度和就近接入。L1边缘节点一般是移动、联通或电信的单线接入服务器(成本较低、布置数量较多),L2大区节点一般是多线接入服务器(成本高、布置数量较少)。
RTS直播和RTMP直播并存的推拉流系统:除了最开始一公里的RTP边缘推流和最后一公里的RTP边缘拉流,其他媒体流链路都是RTMP协议。RTP推流端与MCU节点、RTP播放端与L1融合节点之间都做平滑发送、Nack重传和FEC抗丢包、带宽预测与码率自适应、视频JitterBuffer与音频NetEQ防网络抖动策略。