V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jim9606
V2EX  ›  问与答

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

  •  
  •   jim9606 · 2022-04-16 00:42:00 +08:00 · 2316 次点击
    这是一个创建于 713 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近看了不少关于 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 ,但根本没法判断能不能硬解。

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

    3 条回复    2022-04-16 11:31:28 +08:00
    echo1937
        1
    echo1937  
       2022-04-16 09:33:47 +08:00
    顺路吐槽下,
    AV1:下载资源比较少,流媒体资源相对多,解码芯片 I 家要 11 代,N 家 30 系,A 家 6000 系,普及路漫漫;
    HEVC:下载资源多(几乎都是 264/265 ),流媒体资源相对少一些,解码芯片比较普遍,浏览器 Safari 支持,Edge 要折腾,其他浏览器几乎都不支持。
    Chism
        2
    Chism  
       2022-04-16 09:51:23 +08:00 via Android
    chrome 开启硬解,播油管会卡住不动,于是关了
    azh7138m
        3
    azh7138m  
       2022-04-16 11:31:28 +08:00 via iPhone
    chrome 还有个黑名单来维护一些异常 case
    在部分支持硬解的硬件上使用软解来规避一些问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4510 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 01:06 · PVG 09:06 · LAX 18:06 · JFK 21:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.