UDP成为低延时流媒体关键 选SRT还是QUIC?

本文探讨了在低延迟流媒体传输中,SRT和QUIC两个基于UDP的协议的竞争。SRT作为开源平台在第一英里传输中逐渐受到关注,而QUIC,由谷歌发明,已在大规模商业部署中取得进展,尤其是在CDN领域。随着3GPP对QUIC的兴趣,它有可能成为5G时代的首选传输协议。然而,SRT在专业视频制作中的应用也展现出潜力,尤其是在远程直播制作中。未来,CMAF的普及将进一步降低延迟,QUIC与CMAF的结合可能限制SRT的广泛应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

640?wx_fmt=jpeg


无论是SRT还是QUIC,UDP都成为实现低延迟视频流传输的必选项。在刚刚结束的俄罗斯世界杯,以及即将到来的重大体育赛事中,SRT与QUIC还将有一番较量。LiveVideoStack对原文进行了摘译。


文 / Fred Dawson

译 / 王月美

审校 / Ant

原文:http://www.screenplaysmag.com/2018/08/14/udp-based-streaming-modes-battle-for-traction-as-paths-to-low-latency/


一个充满挑战的任务—通过互联网实现低延迟、电视级别的优质视频内容,已经演变成了一个不那么令人沮丧但仍然令人生畏的挑战。


对于执行流媒体操作的人员来说,如何在SRT,QUIC,WebRTC和CMAF之间选择,是日常工作中一个特别令人恼火的干扰。


在消费者拥有比以往更多的服务选择时(根据Parks Associates的说法,仅在美国就有超过200种OTT服务),如果不喜欢他们所看到的东西(而且往往他们经常不喜欢),他们可以很容易地选择离开去其他地方。Parks在2017年第三季度对超过10,000个美国家庭进行的一项调查中发现,OTT视频服务的累积流失率超过了50%,这不包括相对低流失率的Netflix和亚马逊服务。


如FCC在其最新的年度宽带报告中列出的那样,当下载速度平均高于55 mbps时,消费者不能在忍受启动延迟和卡顿。由Akamai赞助的一项涉及2300万视频观看会议的研究发现,观众开始大量放弃启动时间延迟超过两秒的视频。研究发现,对于延迟超过两秒的每一秒中就有6%的观众停止观看,这意味着延迟5秒的视频将会失去四分之一的观众。


由缓冲不足造成的卡顿也会产生类似的结果。出席IEEE 2017年网络协议国际会议的研究人员表示,他们对美国9个城市625,626名用户的行为进行审查发现:对于经历很少或没有卡顿的用户,平均每日观看时间超过210分钟;对于每分钟经历0.5次缓冲事件的用户,平均每日观看时间从该值减少到不到30分钟。另外,Conviva在北美近20亿次观看会议上编制的统计数据表明,在8%的观看会话中,缓冲问题至少会造成一个卡顿。


### SRT协议与QUIC协议的特性对比分析 #### 1. 基础传输层协议 SRT协议基于UDP实现,而QUIC协议同样使用UDP作为底层传输协议。两者都通过在应用层实现可靠性机制来避免TCP的握手延迟和拥塞控制带来的额外开销[^4]。 #### 2. 可靠性机制 - **SRT**:采用前向纠错(FEC)技术进行数据恢复,并通过ARQ(自动重传请求)机制实现丢包重传。此外,SRT支持丰富的控制消息类型,包括ACK、ACKACK和NACK,用于精确控制数据流的可靠传递[^2]。 - **QUIC**:通过内置的拥塞控制算法和丢失检测机制来确保数据的可靠传递。QUIC的丢失检测算法在`[QUIC-RECOVERY]`第6节中详细描述,能够快速识别并恢复丢失的数据包[^5]。 #### 3. 加密与安全性 - **SRT**:使用AES加密技术对数据进行保护,确保传输过程中的安全性。SRT的设计目标之一是为实时音视频流提供安全的传输环境[^1]。 - **QUIC**:基于TLS 1.3实现了端到端的加密通信,提供了更高的安全性和隐私保护。QUIC的加密机制不仅覆盖了数据传输,还扩展到了握手过程,有效防止中间人攻击[^5]。 #### 4. 延迟优化 - **SRT**:通过在应用层实现发送确认机制和流量控制,减少了端到端的延迟。SRT特别适用于需要低延迟的实时音视频应用场景,如直播和远程医疗[^1]。 - **QUIC**:通过多路复用技术减少头部阻塞问题,并结合高效的拥塞控制算法降低网络延迟。QUIC的拥塞控制算法在`[QUIC-RECOVERY]`第7节中有所描述,能够在动态网络环境中保持较低的延迟[^5]。 #### 5. 扩展性与适用场景 - **SRT**:主要针对实时音视频传输进行了优化,适合在网络条件较差的情况下保证数据的可靠性和实时性。其高性能发送器和接收器模块能够在有损网络中最大化可用带宽[^3]。 - **QUIC**:作为一种通用的传输协议,适用于多种场景,包括Web浏览、文件传输和实时通信等。QUIC的设计目标是替代传统的TCP协议,因此具有更广泛的适用性[^4]。 ```python # 示例代码:SRTQUIC的简单比较 class ProtocolComparison: def __init__(self, name, base_protocol, reliability, encryption, delay_optimization): self.name = name self.base_protocol = base_protocol self.reliability = reliability self.encryption = encryption self.delay_optimization = delay_optimization srt = ProtocolComparison("SRT", "UDP", "FEC + ARQ", "AES", "Low latency for real-time video") quic = ProtocolComparison("QUIC", "UDP", "Congestion control + loss detection", "TLS 1.3", "Low latency for web applications") print(f"SRT: {srt.base_protocol}, {srt.reliability}, {srt.encryption}, {srt.delay_optimization}") print(f"QUIC: {quic.base_protocol}, {quic.reliability}, {quic.encryption}, {quic.delay_optimization}") ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值