卡顿掉帧:快播盒子的四段瓶颈定位法
卡顿是「供不上」或「算不动」。前者看吞吐,后者看算力。四个候选瓶颈里,最窄的那一段决定结果,其它三段再宽也没用。
先量,再调
调播放器缓冲、关硬件加速、换解码器,这些动作在不知道瓶颈在哪的时候基本是撞运气。先做一次成本极低的区分实验:把同一个文件复制到播放设备的本地存储再播。
| 实验结果 | 说明 | 下一步 |
|---|---|---|
| 复制到本地后不卡了 | 瓶颈在网络或介质读取 | 按下面「供不上」处理 |
| 复制到本地还是卡 | 瓶颈在解码或渲染 | 按下面「算不动」处理 |
| 连复制都很慢 | 介质或接口本身就慢 | 看读取慢那一条 |
供不上:把需求算出来
一路视频需要多少带宽是可以算的:取文件的总码率,再加上协议与重传开销。带宽算具会把并发路数和峰值系数一起算进去。算出来的数字和链路标称值比的时候要记住一件事:无线链路的标称速率是理论峰值,实际可用通常明显低于标称,而且会随距离、遮挡、邻频干扰变化,所以要留足余量,具体能跑多少只能自己实测。
- 把播放设备从无线换成有线,是验证网络瓶颈最快的办法。
- 机械硬盘在同时读写、或者文件碎片很多时,持续吞吐会明显低于空盘顺序读。
- 通过路由器转一道的共享播放,路径上任何一段拥塞都会表现为周期性卡顿。
算不动:看分辨率、帧率与编码
同样的画面,用较新的编码压得更小,但解码要花的算力更多。低功耗设备往往只对某几种编码有硬件解码通路,一旦落到软解就会掉帧。判断方法是找一个分辨率、帧率相近但编码不同的文件对比:换编码就不卡,基本可以确认是硬解通路的问题。
- 先降帧率再降分辨率:高帧率素材对解码与渲染的压力往往比分辨率更直接。
- 关掉画质增强:插帧、锐化、降噪这些后处理会额外吃算力,排查期间先全部关掉。
- 注意发热:连续播放一段时间后才开始卡,多半是散热不足导致的降频。
动手排查清单
按顺序勾,勾过的会记在这台设备的浏览器里
勾选进度只写在本机浏览器的本地存储里:换一台设备看不到,清掉浏览器数据就会丢失。本站没有账号,也不会把任何内容传到服务器。