超低延时直播基于 WebRTC 技术衍生,基于 WebRTC 标准构建点到点传输一般有如下 3 个步骤。
一次典型的直播推流与播放请求称为一次有效的会话。在直播的流媒体数据传输之前,客户端与服务端(Client/Server)需要明确双端具备的的音视频媒体的传输和处理能力,如支持的格式,编解码的处理细节,质量保证的处理方式等。为了解决客户端与服务端之间能力不对等的问题,保证兼容性,超低延时直播使用 SDP 协议先进行媒体能力会话协商,沟通彼此共有的媒体能力,满足传输的后续要求。
媒体协商的交互处理通过网络传输进行协商,这一过程称为信令交互。信令交互主要通过 SDP 协议进行。在信令交互过程中,可以使用不同的网络传输协议进行传输。传输协议包括 TCP/UDP 和 HTTP/QUIC 传输层协议栈。
会话协商完成后,开始媒体数据传输,媒体数据包含直播推/拉流的音视频数据。音视频数据通过 UDP 不可靠传输模式,结合拥塞控制、丢包检测和恢复等 QoS 手段完成基于 WebRTC 技术的媒体流传输和交付。信令交互、媒体协商、到媒体传输的一个完整过程就是超低延时直播的一次有效会话。
其中直播推流(主播端向服务器发送媒体音视频数据)直播拉流(观众端向服务器请求媒体音视频数据)均属于单向媒体数据传输,这一点不同于视频通话模式下的全双工双向传输音视频。