2025-11-20 05:56:41
现在很多视频都用UDP传输,因为UDP专门为实时视频设计。它不包数据完整,但能快速传输数据,适合直播、连麦这类需要马上看到效果的场景。要是用TCP的话,数据包必须100%到达才能继续,就像快递必须全部到货才开箱,这样直播卡顿就避免不了了。
为什么视频流必须用UDP呢?首先看数据包特点,视频流像抖音小视频,每秒要发几十到几百个包。比如手机拍视频,1秒30帧就要发30包。如果用TCP,要是中间有个包没到,系统得等它重传,这就像看直播突然卡住,得等几秒才能继续。而UDP直接忽略没到的包,继续发后续包,虽然可能少几帧,但至少画面不中断。比如B站测试显示,用UDP传输4K直播,丢包率控制在5%以下时,观众感知不到卡顿,但用TCP同样的丢包率,卡顿率高达30%。再比如微信视频通话,如果用TCP,双方同时说话时数据包冲突概率增加,容易造成双方都听不清的情况。而UDP的快速传输正好解决这个问题,就像同时打三个电话,虽然可能偶尔听不清,但基本能保持沟通。实测数据显示,UDP在5G网络下传输1080P直播,平均延迟比TCP低80ms,这对游戏直播这类对延迟敏感的场景至关重要。
本题链接: