本文是来自SMPTE Webcast的演讲,演讲者是来自Techex的广播工程师Russell Trafford-Jones。本次演讲的主题是互联网上的可靠实时贡献,深入探讨RIST和SRT协议。
TCP协议是传统的可靠协议,它是HLS, DASH, CAMF和RTMP的基础。它很适合文件传输和可靠传输,但是当出现丢包时传输速率会降低。
UDP是不可靠的数据传输协议。它在传输过程中可能发生丢包,因此可以采用FEC或者ARQ解决丢包问题。
FEC是前向纠错,它适用于丢包率在3%到5%的情况。如果传输速率比较低,那么它会引入更多的延迟。ARQ是自动重传,发生丢包后,接收端返回NACK,发送端重新发送丢失的数据包。它需要在每个包上附加时间戳和序列号,会增加RTT比例的延迟。
SRT协议的全称是安全可靠的传输,它将ARQ修改为适合实时媒体的应用场景。Haivision创造了SRT联盟来推广,并且专注于成员间的合作和协同测试。目前已经有超过350个成员。
SRT协议建立在开源的UDT协议上。它强制输入数据加密,可以保护数据安全。它允许在一个连接上混合多个SRT流。SRT试图加快重传速度。SRT在防火墙的情况下也可以很好地工作。
RIST协议的全称是可靠的互联网流媒体传输。VSF将其技术作为一个公开的规范。RIST需要两个端口,第一个端口用于传输媒体流, 并在第二个端口上使用RTCP创建了一个控制界面。RTCP协议是双向的。
RIST的技术路线图分为三种,分别是简单配置、主要配置和先进配置。其中简单配置包括交互ARQ、重传限制、连接聚合和冗余传输路径。它兼容普通的RTP协议,利用RTCP协议进行丢包恢复。
RIST的主要配置包括流加密,多流隧道,高比特率支持等。RIST的加密采用DTLS,它和网站采用的TLS类似。它还采用预分享的密钥,不需要证明。RIST采用了GRE隧道,非常适合IPv6穿透。GRE隧道消除了额外的端口,并且允许在一个连接中多流复用。GRE隧道也支持双向流等。RIST的先进配置包括智能带宽优化,公共通道会话管理和集中回电功能。
不采用RTMP协议的原因如下:首先RTMP协议过于古老,而且只支持H264。虽然RTMP协议以低延迟著称,但是这只是相对的。Haivision的报告指出RTMP如果不调整,则无法在超过2Mbps下正常工作。而且SRT协议可以取得比RTMP协议低50%的延迟。
使用SRT和RIST协议的场景很丰富,包括摄影机到基站的转播、体育场转播、新闻报道和云转播等。