WRITING / 2019.08.05

工程日志:自适应流媒体中的能力协商

讨论新增编码格式和分片协议时,服务端如何根据终端能力、网络和回退路径生成可播放结果。

为视频增加新编码格式,并不等于所有客户端都能播放。终端硬件、系统版本、容器能力和网络环境共同决定最终选择。

不要把能力判断散落各处

客户端上报结构化能力,服务端将它转换为统一能力画像。播放地址生成、转码策略和缓存键都依赖同一份画像,避免不同服务得出相反结论。

清单应包含回退表示

自适应播放清单可以同时包含高压缩率表示和广泛兼容的基础表示。即使能力判断错误,播放器仍有可用回退项。

缓存键包含决策维度

如果播放响应按终端能力变化,缓存键必须包含协议、编码能力等级等稳定维度,否则会把不兼容结果返回给另一类设备。

渐进上线

先生成新格式但不下发,再对白名单设备开放,观察播放失败和回退比例,最后逐步扩大。转码成功率不能替代端到端播放成功率。

能力协商的目标不是尽可能使用新格式,而是在任何设备上优先返回可播放的最佳结果。