目前标准直播使用的是常见的 RTMP、FLV、HLS 等格式的播放协议,而这些播放协议的共同点就是它们都基于 TCP 协议实现,TCP 有延迟确认和捎带应答,例如接收到数据后不会立即对每个数据响应 ACK,而是攒一定的数据量才会响应,这就会带来延迟的感知,在弱网场景下,这甚至会导致几秒钟或几十秒钟的延迟。
为了让直播拥有更低的延迟,需要响应更快更优质的播放协议,调研显示,低延时直播在业界的协议有 QUIC、SRT、WebRTC、ORTC,四种协议的底层都采用了 UDP 协议。比较而言,QUIC 的延迟比较高,因为该协议没有流媒体功能;SRT、WebRTC、ORTC 延迟都是毫秒级别的,都有流媒体特性,其中 SRT、ORTC 在业界使用较少, WebRTC 使用广泛,技术生态繁荣。
目前标准直播的 FLV 协议延迟一般在 2秒到10秒左右,它的延迟因素主要是 GOP 大小和 TCP 弱网传输积压。HLS 的延迟更大,一般在几秒到几十秒,它的延迟因素主要是 GOP 大小和 TS 大小,在标准直播中延迟最高。