视频流媒体对网络的要求,和网页是完全不同的。网页数据包小,丢几个包重传一下,人眼无感;游戏走UDP协议,虽然也怕延迟,但数据量远小于高清视频。而一部1080p电影,码率通常在8Mbps到15Mbps之间,4K片源更是要达到25Mbps甚至更高。这意味着每秒钟有2到3MB的数据需要连续、稳定地传输到你家的路由器,再交给播放器解码。任何一个环节出现抖动,画面就会卡顿。
真正导致“看电影卡”的元凶,通常是CDN节点调度机制。目前主流的视频平台,比如爱奇艺、腾讯视频、优酷,都使用CDN(内容分发网络)来加速。你以为你在看服务器上的原片,实际上你看的是离你最近的城市机房里的缓存副本。这些缓存有“热度”之分——一部刚上映的院线大片,会在全国上千个节点布满缓存,速度飞快。但如果你看一部冷门的老电影,或者小众纪录片,边缘节点上没有缓存,播放器就得回源站拉取数据。这个“回源”距离可能跨越几百公里甚至上千公里,中间经过的路由节点一多,延迟和丢包率就上来了。
更隐蔽的问题是,很多CDN节点为了保证热门内容的速度,会对冷门内容做“限速”处理。国内某大型云厂商的内部文档里提到,边缘节点对热点资源的带宽配额是单连接50Mbps,而对低频资源的配额可能只有2Mbps到4Mbps。低于视频码率,自然卡顿。你可以做个测试:同一部电影的高清版和流畅版,如果流畅版不卡而高清版卡,十有八九是节点对高频资源的带宽限制。
再有一个被忽视的变量是DNS解析。有时候你访问视频平台,DNS服务器会把你的请求分配到与你物理距离很远的节点。比如你人在武汉,但DNS解析到了北京、甚至内蒙古的节点,延迟可能增加30到50毫秒。这个数字看似不大,可对于高强度连续传输的视频流来说,每一次TCP的慢启动和拥塞控制都会放大延迟带来的影响。网游对延迟敏感,但服务器是固定的,IP地址你心里有数;视频平台的服务器是动态调度的,这次解析到的节点和下次可能完全不同,质量波动巨大。
还有个跟硬件相关的因素——播放器的解码能力。如果你用老旧的智能电视或机顶盒看4K视频,盒子里的芯片硬解不了高码率的HEVC编码,就会退回软解,CPU占用居高不下,导致掉帧。这种情况的表现是画面轻微卡顿,但你用手机测速完全正常,因为网速确实没问题。这类问题在各大电视厂商的售后社区里很常见:用户投诉“看视频一卡一卡的”,工程师远程检查后确认是解码芯片瓶颈。

另外有一个反直觉的点:你的Wi-Fi信号。很多人在不同设备上看视频的体验差异极大。手机离路由器近,看视频流畅;电视离得远,隔了两堵墙,卡成PPT。原因在于Wi-Fi的2.4GHz频段在穿墙后速率衰减严重,实际吞吐量可能从300Mbps跌到30Mbps甚至更低。视频播放器是自适应码率的,它检测到吞吐量不足,会自动降低画质;但如果降码率不够果断,或者缓冲策略保守,就会在降档和升档之间反复横跳,表现在观感上就是每隔十几秒卡一下。
解决这个问题需要做减法。不要着急换宽带套餐,先排查最可能的地方:用网线直连电脑播放同一部影片,如果不卡,问题出在Wi-Fi;如果还是卡,换一部热门影片对比,若热门流畅冷门卡顿,就是CDN调度在作怪,可以尝试切换运营商的DNS到114.114.114.114或223.5.5.5,强制重新解析。对于蓝牙音箱连接不畅导致的音画卡顿,那是另一个技术细节,但和网络无关。
大多数时候,你的网络并没有坏,只是你刚好在一条拥堵的管道里挤着看一部小众片子。把心态放平,把影片切到“高清”而不是“超清”,往往立竿见影。