是不是网页没办法准确判断是否支持硬解?

2022-04-16 00:42:00 +08:00
 jim9606

最近看了不少关于 B 站硬上 HEVC 的讨论,主要就是集中在使用 wasm 强行软解 HEVC/AV1 导致耗电和 cpu 高负载,B 站官微宣称会判断性能,我理解就是只用硬解。

我查到的是 js 可以用 MediaSource.isTypeSupported 这个 API 检查浏览器是否支持某种视频编码,但这个 API 并不会反馈是否支持硬解,如果不硬上,那在 Edge 尝试播放 HEVC 就有这几种情况。

  1. 浏览器不支持( Chromium ,Firefox ),API 返回 false ,回落到 AVC ,硬上就用 wasm 解码;
  2. 硬件不支持或缺少解码器,浏览器支持,情况同 1 ;
  3. 硬件不支持但有解码器,浏览器支持,API 返回 true ,使用解码器软解;
  4. 硬件支持,有解码器,浏览器支持,API 返回 true ,完美硬解。

这里支持的浏览器为旧 Edge 和近期的新 Edge ,解码器为商店 HEVC 视频扩展,收费版支持软解,免费版不支持。 可以看到即使不用 wasm ,也没法保证 HEVC 一定是硬解的。AV1 就更麻烦了,Chromium 系和 Firefox 都内置解码器,API 都会返回 true ,但根本没法判断能不能硬解。

是不是就没有办法准确判断了?

2659 次点击
所在节点    问与答
3 条回复
echo1937
2022-04-16 09:33:47 +08:00
顺路吐槽下,
AV1:下载资源比较少,流媒体资源相对多,解码芯片 I 家要 11 代,N 家 30 系,A 家 6000 系,普及路漫漫;
HEVC:下载资源多(几乎都是 264/265 ),流媒体资源相对少一些,解码芯片比较普遍,浏览器 Safari 支持,Edge 要折腾,其他浏览器几乎都不支持。
Chism
2022-04-16 09:51:23 +08:00
chrome 开启硬解,播油管会卡住不动,于是关了
azh7138m
2022-04-16 11:31:28 +08:00
chrome 还有个黑名单来维护一些异常 case
在部分支持硬解的硬件上使用软解来规避一些问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/847260

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX