回复 @
autoxbc 除了 @
lslqtz 提到的播放过程中检测丢帧 API 外,
https://developer.mozilla.org/en-US/docs/Web/API/mediaCapabilities/decodingInfo这个 API 可以询问浏览器播放某种编码的音、视频的支持情况、流畅度和是否省电。
另回复楼主 @
caEsIum @
lslqtz 也提到了不一定软解就不省电(或者不流畅),可以参考一下
https://v2ex.com/t/811506 。
Safari 不支持 av1 ,只能放 vp9 。
在能放(但不一定硬解)的设备上,YouTube 之前优先选 av1 的 DASH 。但最近一段时间我的仅支持软解 av1 的环境:macOS 和 Windows (RTX 2060) 上的 Chrome 都只看到 vp9 的流(包括 4K 分辨率的视频)。
关于 HEVC ,Chrome 也只是最近才支持在非 ChromeOS + DRM 环境能放。B 站只是没有立刻跟上配置。
虽然 av1 比 vp9 的压缩效率更高,但 YouTube 一部分视频的 av1 码率都要比 vp9 更高 (同等分辨率)。播放器在选择 dash 流的时候除了解码能力外,还可能考虑到它的带宽消耗、你的网速以及在你播放器分辨率上的最佳观影效果 (stats for nerds: optimal res) 等因素。
以 28 亿观看的 MV 视频 ID k2qgadSvNyU 为例,其 480p 和 720p 分辨率下 av1 的码率都要比 vp9 更高。