V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ililu
V2EX  ›  macOS

Chrome 104 Mac 终于支持硬解 HEVC 了

  •  4
     
  •   ililu · 2022-08-03 10:01:32 +08:00 · 16692 次点击
    这是一个创建于 847 天前的主题,其中的信息可能已经有所发展或是发生改变。

    添加下面这个启动参数就可以了 open /Applications/Google\ Chrome.app --args --enable-features=PlatformHEVCDecoderSupport

    B 站设置:更多播放设置-播放策略-HEVC

    83 条回复    2023-04-05 12:38:13 +08:00
    ililu
        1
    ililu  
    OP
       2022-08-03 10:02:17 +08:00
    wuyazuofeiji
        2
    wuyazuofeiji  
       2022-08-03 10:08:09 +08:00
    怎么添加启动参数啊
    w88975
        3
    w88975  
       2022-08-03 10:09:52 +08:00
    @wuyazuofeiji autorun
    wuyazuofeiji
        4
    wuyazuofeiji  
       2022-08-03 10:12:26 +08:00
    正式版才 103.0.5060.134 ,你是用的测试版本吗
    hfl1995
        5
    hfl1995  
       2022-08-03 10:12:37 +08:00
    在命令行启动吗?为啥设置完还是没有 hdr 的选项
    hfl1995
        6
    hfl1995  
       2022-08-03 10:13:07 +08:00
    @wuyazuofeiji 正式版 104 了
    cmu2chert
        7
    cmu2chert  
       2022-08-03 10:14:01 +08:00
    怎么设置啊
    Cavolo
        8
    Cavolo  
       2022-08-03 10:15:05 +08:00 via iPhone   ❤️ 1
    等明天 Brave 更新了看看
    wuyazuofeiji
        9
    wuyazuofeiji  
       2022-08-03 10:15:55 +08:00
    @hfl1995 #6 哈哈刚去检查了下更新,真的 104 了
    frankkly
        10
    frankkly  
       2022-08-03 10:16:14 +08:00
    这个升级可以解决 B 站看视频发热大的问题吗
    yyysuo
        11
    yyysuo  
       2022-08-03 10:27:13 +08:00
    win 上支持吗?
    tanrenye
        12
    tanrenye  
       2022-08-03 10:28:40 +08:00
    @frankkly 关弹幕就能降低发热,跟视频解码关系不大
    dufu1991
        13
    dufu1991  
       2022-08-03 10:33:10 +08:00
    开启这个与 inter 芯片和 M 系列有关吗?
    A01514035
        14
    A01514035  
       2022-08-03 10:45:45 +08:00
    我靠,喜大普奔,我看 LPL 直播终于不用风扇呜呜转了
    tanrenye
        15
    tanrenye  
       2022-08-03 10:46:59 +08:00
    看了知乎的完整文章,说是最终可能到 105 才会集成到正式版里,再等一两个月吧,全平台都支持
    SpecterShell
        16
    SpecterShell  
       2022-08-03 10:47:57 +08:00   ❤️ 10
    这个功能是字节跳动开发并提交给 Chromium 的,用的是系统解码能力(例如 Windows 调用 D3D11 ,macOS 调用 VideoToolbox ),具体可以参考字节的文章。
    https://zhuanlan.zhihu.com/p/541082191
    aireason
        17
    aireason  
       2022-08-03 10:49:31 +08:00
    难道交专利费了?
    SpecterShell
        18
    SpecterShell  
       2022-08-03 10:51:12 +08:00
    @aireason #17 调用系统解码器,不用交专利费。
    SpecterShell
        19
    SpecterShell  
       2022-08-03 10:52:14 +08:00
    @yyysuo #11 全平台支持,但 Windows 7 及以下不行。https://github.com/StaZhu/enable-chromium-hevc-hardware-decoding/issues/2
    revalue
        20
    revalue  
       2022-08-03 10:52:56 +08:00
    好像之前 mac chrome 打开 b 站 HEVC ,电脑散热风扇就会狂转
    xiaooloong
        21
    xiaooloong  
       2022-08-03 10:54:36 +08:00
    万一走的是 wasm 软解呢?
    IslandOwnerHuang
        22
    IslandOwnerHuang  
       2022-08-03 10:59:03 +08:00
    不知道 Mac 版 Edge 何时会更新
    SpecterShell
        23
    SpecterShell  
       2022-08-03 11:01:00 +08:00   ❤️ 1
    @xiaooloong #21 视频统计信息第二行没有 wasm player 就是硬解。
    A01514035
        24
    A01514035  
       2022-08-03 11:01:40 +08:00
    https://pic.rmb.bdstatic.com/bjh/e7e5574e316f8cd1acc2713449d9756e.png
    话说怎么分辨出有没有用硬件解码。我这个用楼主的方式启动以后,怎么感觉还是软解呢。chrome 已经到 104 版本了。
    tnesa
        25
    tnesa  
       2022-08-03 11:02:50 +08:00
    我也挺喜欢小宁子·······
    ChangQin
        26
    ChangQin  
       2022-08-03 11:04:18 +08:00
    safari 支持 HEVC 吗
    DOLLOR
        27
    DOLLOR  
       2022-08-03 11:10:48 +08:00
    @A01514035 看到 wasm player ,应该是软解了
    cwbsw
        28
    cwbsw  
       2022-08-03 11:17:52 +08:00
    @A01514035
    看有没有 VTDecoderXPCSupport 进程的占用。
    我试了下确实支持了,chrome://gpu 里有显示 hevc 的解码能力,播放 hevc 视频也有调用硬解进程,但是 B 站还是在调用软解解码器。
    cwbsw
        29
    cwbsw  
       2022-08-03 11:20:57 +08:00
    @cwbsw 更新:清除网站数据后 B 站就能正确调用硬解了。
    Xusually
        30
    Xusually  
       2022-08-03 11:24:44 +08:00
    @cwbsw @A01514035 @DOLLOR
    根据字节跳动的文章内容看,https://zhuanlan.zhihu.com/p/541082191
    不然尝试修改 Chrome 的 UA 为 Safari 试试看?
    Cavolo
        31
    Cavolo  
       2022-08-03 11:44:00 +08:00 via iPhone
    @IslandOwnerHuang Mac 上用 Edge 意义何在
    Cavolo
        32
    Cavolo  
       2022-08-03 11:44:17 +08:00 via iPhone
    Windows 用 Edge 的理由又少了一个
    UrsulaTucker
        33
    UrsulaTucker  
       2022-08-03 12:00:13 +08:00
    @SpecterShell #19 又是 Linux 用户受伤的一天
    ronman
        34
    ronman  
       2022-08-03 12:01:11 +08:00 via Android
    @Cavolo edge 肯定会跟进啊
    windyskr
        35
    windyskr  
       2022-08-03 12:09:08 +08:00   ❤️ 4
    先更新 Chrome 到 104 ,再在 Chrome 里面 command + q 强制退出一下 Chrome ,terminal 输入 open /Applications/Google\ Chrome.app --args --enable-features=PlatformHEVCDecoderSupport 打开 Chrome 。
    再安装这个插件
    https://chrome.google.com/webstore/detail/user-agent-switcher-and-m/bhchdcejhohfmigjafbampogmaanbfkg
    修改成 safari 的 UA ,再打开 https://www.bilibili.com/video/BV15z4y1Z734 测试一下,就可以了!!!
    ColorfulBoar
        36
    ColorfulBoar  
       2022-08-03 12:13:50 +08:00   ❤️ 6
    扫了一眼字节那位的文章真的说不出话来……

    「所谓硬解,即指使用 GPU 内专用于解码的芯片来处理解码工作,由于 GPU 多核心低频且专一的优势,在解码视频时发热和功耗显著低于 CPU 。」
    敢情调了半天包,愣是没整明白视频解码用的就不是通常的 GPU 核心,Apple 那套 GPU 性能宣传法骗骗外行也就算了,这亲自实现了代码都没搞懂到底是真傻还是装傻……

    「考虑到 Apple 其最新 Apple Silicon 芯片专门实现了支持 H.264 、HEVC 和 ProRes 的专用编解码媒体处理引擎,看在 Apple 这么努力的份上,我首先挑选了 macOS 平台来进行尝试 。」
    我寻思 GTX960 那一代就支持 HEVC 了,Apple 到底努力在哪了?

    「遂观察其实现逻辑,发现 Windows 的硬解实现逻辑与 macOS 完全不同」
    想来想去没想通这编解码个视频到底和操作系统有啥关系……整天跟 DirectX 过不去干嘛,就算 Vulkan 的视频相关扩展用不了不能一次性解决两个系统三家硬件(这玩意好像挺新的我也没试过不知道有啥坑),但反正硬件一共就三家,照着 SDK 里面的 sample 和文档抄一抄做三遍也完事了,照现在你这个搞法咋支持 Linux……哦不支持啊那没事了,虽然跟我没关系,但感觉 Linux 用户真是倒了大霉了,就因为实现者脑袋不咋转就莫名其妙失去了支持 (//●⁰౪⁰●)//
    bitdepth
        37
    bitdepth  
       2022-08-03 12:26:44 +08:00
    @ColorfulBoar GPU 直接顯示自己 codec 核心的圖像或者 render 效能就是比軟解好
    nvidia 早期的 hevc decoder 有夠爛的
    Linux 上硬加速方案不統一,Intel AMD 用 vaapi, nvidia 用 nvcodec
    比較好的專用加速器支援 v4l2 m2m ,不過絕大多數都是打折的
    更多是不支援的

    最好的方案就是學 Webkit 用 Gstreamer
    Jim142857
        38
    Jim142857  
       2022-08-03 13:02:34 +08:00
    已成功。用 Safari 的理由又少了一个
    IslandOwnerHuang
        39
    IslandOwnerHuang  
       2022-08-03 13:33:31 +08:00
    @Cavolo Safari 的插件太少了,而且部分插件只支持 Chrome 和 Edge ,不支持 Safari ,例如我们线上考试监考用的 Proctorio 。
    Cavolo
        40
    Cavolo  
       2022-08-03 13:41:38 +08:00 via iPhone
    @IslandOwnerHuang 所以我一般全平台选择 chrome 原版或者 Brave ,Edge 微软加料太多
    IslandOwnerHuang
        41
    IslandOwnerHuang  
       2022-08-03 13:51:59 +08:00
    @Cavolo Chrome 在 macOS 上内存占用太恐怖了,比 Edge 高。而且 Chrome 热得太快了,我的是 intel Mac ,Chrome 一开直接暖手......
    sgissb1
        42
    sgissb1  
       2022-08-03 14:44:27 +08:00
    @ColorfulBoar gpu 不等于一定有 hw codec ,或者连 hw decoder 都没有用。某些 mx 系列 gpu 就被阉割了。

    另外,win 上用 gpu 的 codec 有很多种办法,一种裸调 api ,还有通过 dxva 等等内置好的 api 去解码。解码延时和性能有点区别。另外如果直接调 gpu driver runtime 的 api 会有很多适配问题,所以 win 提供了一些教高级别的 api 去适配掉了。

    不过字节的那个文章,确实也有点那啥。本质客户端做 hw codec 适配确实是一个工作量相对较大的针线活。
    kxy09
        43
    kxy09  
       2022-08-03 15:33:58 +08:00
    @yyysuo 支持
    dufu1991
        44
    dufu1991  
       2022-08-03 15:47:57 +08:00
    @windyskr 🙏🏻,还是你这个具体,题主说的一句话我弄了半天没成功。
    boko
        45
    boko  
       2022-08-03 15:52:30 +08:00   ❤️ 2
    goodryb
        46
    goodryb  
       2022-08-03 16:02:40 +08:00
    @windyskr #35 插件其实也可以不装,视频播放设置里面有限 hevc 即可
    XiaoBaiYa
        47
    XiaoBaiYa  
       2022-08-03 16:20:10 +08:00
    按照该方法启动了 bilibili 的 hevc
    但是 emby 启动失败,直接显示没有兼容的流
    windyskr
        48
    windyskr  
       2022-08-03 17:38:47 +08:00
    @goodryb #46 不装插件可以放 hevc ,但是似乎没有 HDR 。
    lowsunndy
        49
    lowsunndy  
       2022-08-03 17:46:48 +08:00
    折腾了半天,还是要用 Chrome 伪装成 Safari 。。。那我为什么不直接用 Safari 看呢,还更省电。。。。。我现在就是看 netflix 和 youtube ,b 站用 Safari ,其他网页用 Chrome
    br00k
        50
    br00k  
       2022-08-03 19:05:02 +08:00
    @lowsunndy 本来就是尝鲜测试,目前还没在正式版 Chrome 默认开启,后面默认开启了 B 站应该也会适配。
    longbye0
        51
    longbye0  
       2022-08-03 19:13:09 +08:00 via iPhone
    看 b 站用 265 图啥,人是用来做成本省流量的,用户又不缺
    ililu
        52
    ililu  
    OP
       2022-08-03 20:31:58 +08:00
    @longbye0 图硬解不发烫,图码率高、效果好,图杜比视界
    goodryb
        53
    goodryb  
       2022-08-03 22:39:49 +08:00
    @windyskr #48 好像还真是,看来 b 站策略还没跟上,等 105 正式出来之后应该就有了
    janxin
        54
    janxin  
       2022-08-04 08:37:24 +08:00
    Firefox 用户哭泣
    execute
        55
    execute  
       2022-08-04 08:52:47 +08:00
    @longbye0 #51 之前看到过一个评论,大概意思是:以 B 站的辣鸡 CDN 来看,HEVC 很有必要,HEVC 移动用户多,CDN 缓存多,网页端用上能显著减少缓冲、卡顿
    mscsky
        56
    mscsky  
       2022-08-04 09:59:29 +08:00
    但是现在有直接用 av1 了啊
    fox233
        57
    fox233  
       2022-08-04 11:20:39 +08:00
    怎么添加启动参数呢?每次都用命令启动很明显狠不方便
    longbye0
        58
    longbye0  
       2022-08-04 13:34:13 +08:00
    @ililu 如果原视频上传是 265 且 b 站没做二次转码,可能会画质更好。杜比不了解,不谈。

    做转码的话,都是看 RD 曲线,找一个合适的码率。从成本来看,b 站肯定会选择更低码率的 265 来达到接近的画质。

    那对用户来讲,我选择更高码率的 264 有什么坏处呢。
    a707782628
        59
    a707782628  
       2022-08-04 20:15:55 +08:00 via iPhone
    B 站支持没有版权限制的 av1 ,也差不多了
    allin1
        60
    allin1  
       2022-08-05 15:09:01 +08:00
    @longbye0 我不是大会员,看低码率 1080p ,肉眼可见 avc 更糊。所以只看 hevc
    longbye0
        61
    longbye0  
       2022-08-05 17:29:56 +08:00 via iPhone
    @allin1 我选择原画 264 。
    那 b 站更不地道了,同档位做同码率 264 、265 编码。
    systemcall
        62
    systemcall  
       2022-08-05 20:42:13 +08:00
    @execute #55
    b 站已经开始上 av1 了
    av1 编码效率更高,而且 Chrome 和 Edge 之类的主流浏览器都是开箱即用,不需要折腾任何东西
    缺点是硬件解码器不普及,大多数用户只能够软解
    移动端几乎全军覆没,桌面端只有 RX6600 及以上、RTX3050 及以上、Intel 12 代核显支持
    不过 av1 软解的效率比 b 站的那个 wasm 软解 hevc 的效率高很多
    还有,软解不代表只能利用 CPU 。有一些解码的方法,是利用 CPU 和 GPU 里的流处理器一起解码,可以有效降低 CPU 的负载
    systemcall
        63
    systemcall  
       2022-08-05 20:48:44 +08:00
    @ColorfulBoar #36
    视频解码有很多方法的,可以全程用 CPU 软解,可以把部分计算丢给 GPU 的流处理器,也可以全程用 GPU 的专门的解码电路
    chroma 的 upscaling ,是可以用 video decode 的部分来做的,也可以用流处理器或者 CPU
    假如视频的分辨率和实际显示的分辨率不一样,也是要额外的处理,这个时候也可以选择用 CPU 或者 GPU ,GPU 的话有些是有专门的硬件,但是 PC 上一般还是用的流处理器吧
    还有 HDR 和 SDR 之间的映射,很多种方法,往深了说其实 Windows 一大堆的问题,Chrome 也是毛病一堆
    还有,根据 DXVA Checker 和维基百科等处的信息,GTX 650 TI 就开始支持 HEVC 4k 了
    但是 HEVC 10bit 是 GTX 950 开始
    Intel 差不多,AMD 落后很多
    但是 AMD 在 GCN 时代,显卡内部有专门的电路,可以对画面进行插帧,效果还不错。这个用 CPU 来处理的话,负载可不低
    moyunhai
        64
    moyunhai  
       2022-08-06 16:07:49 +08:00
    可是,bilibili 不是有官方 mac 端吗?为什么要用浏览器呢?
    cccb
        65
    cccb  
       2022-08-06 17:13:50 +08:00
    2020 macbook Air m1 + Macos 12.5 + Chrome 104 最新稳定版

    按照本帖内部提到的所有方法(带参数启动,强制退出,清楚缓存,修改 UA 等)都尝试了一遍 还是没能成功切换 HEVC

    这个是不是对 M1 无效啊 UA 工具也只有 Intel 对 UA 没有 m1 的
    ililu
        66
    ililu  
    OP
       2022-08-06 18:41:18 +08:00
    @cccb 本人使用的 m1 macbook pro 14,是不是你操作上有错误
    f165af34d4830eeb
        67
    f165af34d4830eeb  
       2022-08-06 18:43:49 +08:00
    @moyunhai #64 那个客户端体验稀烂,可以参考 t/854398 。而且网页端还能用 js 解锁番剧,不需要挂梯子。
    f165af34d4830eeb
        68
    f165af34d4830eeb  
       2022-08-06 18:50:01 +08:00
    @systemcall #63 AMD Fluid Motion 在当年是真的补帧神器,可惜 RDNA 给砍了。
    cccb
        69
    cccb  
       2022-08-06 20:44:06 +08:00
    @ililu 刚刚检查 Chrome 浏览器设置 发现设置——系统——使用硬件加速模式(如果可用) 选项是关闭的。我开启并重新操作之后,能正常使用 Hevc 硬件解码了,感谢🙏
    lslqtz
        70
    lslqtz  
       2022-08-07 00:22:11 +08:00
    @ColorfulBoar
    1. 「所谓硬解,即指使用 GPU 内 [专用于解码的芯片] 来处理解码工作,由于 GPU 多核心低频且专一的优势,在解码视频时发热和功耗显著低于 CPU 。」
    半对半错吧。

    2. 「遂观察其实现逻辑,发现 Windows 的硬解实现逻辑与 macOS 完全不同」
    VideoToolBox 是 Apple 的专有 API ,且 macOS 下无任何其它 API ,硬解实现逻辑必定不同,没有任何问题。

    其它不予评价。
    lslqtz
        71
    lslqtz  
       2022-08-07 00:25:07 +08:00
    @longbye0 新设备支持新编码,可以获得更高画质,还是比较合理的。
    你可以说 H264 码率给的应该比 HEVC 要高,而不是 HEVC 码率应该给的比 H264 低,这不应该是用户的思路。

    另:我比较在乎的是有没有 DRM 支持。
    Slurp
        72
    Slurp  
       2022-08-07 03:18:56 +08:00
    @f165af34d4830eeb 本质上,所谓 js 解锁番剧,不过是别人帮你套了一层代理… 自己做个 bilibili API 和视频分流,是一样的效果。而且把 cookie 交给别人,心安吗?
    f165af34d4830eeb
        73
    f165af34d4830eeb  
       2022-08-07 11:51:16 +08:00 via iPhone
    @Slurp #72 当然要用自建云函数 /代理,用别人的确实有 cookie 泄漏的风险。但是 js 解锁我觉得确实比开代理软件分流更方便,而且还能自己选择 cdn
    moyunhai
        74
    moyunhai  
       2022-08-09 18:18:32 +08:00
    @f165af34d4830eeb 并没有稀烂啊,我是 m1 macbook air 用起来很安静啊,看了下耗电也很正常啊,系统显示原生支持 m1
    neiltroyer849
        75
    neiltroyer849  
       2022-08-31 18:02:44 +08:00
    今天新版的 Chrome Mac 105 了还是要参数才能开 HEVC 选项,有点无语
    cccb
        76
    cccb  
       2022-08-31 19:09:27 +08:00
    @neiltroyer849 +1 还是得带参数启动
    ililu
        77
    ililu  
    OP
       2022-09-11 21:09:45 +08:00
    @neiltroyer849 我看有些人已经不用启动参数了,说明这东西在灰度测试,你要带参数启动说明还没灰度到你
    ililu
        78
    ililu  
    OP
       2022-09-11 21:12:12 +08:00
    @neiltroyer849 我试了下,我已经不用启动参数了
    shikkoku
        79
    shikkoku  
       2022-09-15 15:08:26 +08:00
    刚刚新装 105 ,要启动参数。不然 gpu 信息没有 hevc 。
    neiltroyer849
        80
    neiltroyer849  
       2022-09-28 13:44:34 +08:00
    更新:新推出的 106 stable 应该是完全开放了。不用参数也有 HEVC 了
    liuyinltemp
        81
    liuyinltemp  
       2022-10-17 09:33:37 +08:00
    mac m1 上 safari 我看 B 站是支持 hevc 的,但是 edge 更新到 106 还是不行,mac 上 safari 插件太少,感觉不如 edge 好用
    liuyinltemp
        82
    liuyinltemp  
       2022-10-17 09:33:56 +08:00
    m1 下 edge 有办法开启 hevc 吗?
    Microi
        83
    Microi  
       2023-04-05 12:38:13 +08:00
    @XiaoBaiYa #47 我也遇到这个问题了,请问你解决了吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5361 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 08:17 · PVG 16:17 · LAX 00:17 · JFK 03:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.