您尚未登录。

#1 2024-08-01 15:12:30

BRS5672023
会员
注册时间: 2020-07-07
帖子: 145

【问题已解决】算是个记录吧,关于 chromium 在b站视频上的 hevc 解码的表现。。

首先,在 arch 的 chromium 包含了 vulkan wayland 的 patch 后我也已经体验了一段时间了,关于 vaapi 解码的表现最诡异的是b站视频的解码。。

症状是,播放策略里面不管选哪个,都会 fallback 到 avc 编码的视频。。离奇的一点是,如果删除 ~/.config/chromium 这个目录的内容进行手动重置的话,那么就可以在第一次点开b站视频的时候调用到 av1 编码的内容,一旦刷新网页之后就只有 avc 的编码视频了。。但是另一方面直播的 hvc1 解码又是正常的,并且 firefox 能正常调用 av1 编码的视频。。同样的症状在 google-chrome,thorium,microsoft-edge 这些浏览器上均可复现(不过这些浏览器都不包含 vulkan wayland 的 patch,但 xwayland 下还是可以用 vaapi 的),当然,在其他网站上的 hevc 和 av1 解码的表现都是正常的,除了视频编码的 profile 是 hevc main 10 这种情况,见 10-bit Video Decoding Not Supported by Chromium's Linux VA-API Decoder

例外的情况是 ungoogled-chromium,它就可以正常调用 hev1 和 av1 编码的b站视频(前者需要修改播放策略为 hevc),并且因为 chromium 和 ungoogled-chromium 我用的是相同的 flag 文件,似乎只能觉得是 ungoogled-chromium 包含了额外的 patch。。

最后贴一下我的 flag 文件:

--use-gl=angle
--use-angle=vulkan
--enable-zero-copy
--ignore-gpu-blocklist
--enable-accelerated-video-decode
--enable-chrome-browser-cloud-management
--enable-features=RawDraw,CanvasOopRasterization,Vulkan,VulkanFromANGLE,DefaultANGLEVulkan,VaapiIgnoreDriverChecks,VaapiVideoDecoder,VaapiVideoEncoder,ScrollableTabStrip,OverlayScrollbar
#--disable-features=WaylandFractionalScaleV1
--video-capture-use-gpu-memory-buffer
--force-color-profile=display-p3-d65
--ozone-platform-hint=auto
--enable-wayland-ime

现在看来似乎和 amdgpu 先前要使用 vaapi 需要启用 vulkan 有关系(虽然 ungoogled-chromium 使用 vulkan 也没有这个问题。。),目前使用包含了 frontends/va: Support ARGB for processing + Chromium processing fixes 这个 patch 的 mesa-git(phoronix 上面说 mesa 25.1 就会包含这个 patch 了)并使用比如下面的 flags

--enable-features=AcceleratedVideoDecodeLinuxZeroCopyGL,AcceleratedVideoDecodeLinuxGL

之后已经可以正常调用b站视频的 hevc 或者 av1 硬件解码了

最近编辑记录 BRS5672023 (2025-03-13 20:19:11)

离线

#2 2024-10-20 07:41:07

BRS5672023
会员
注册时间: 2020-07-07
帖子: 145

Re: 【问题已解决】算是个记录吧,关于 chromium 在b站视频上的 hevc 解码的表现。。

按照 nvidia-vaapi-driver 这里的讨论,现在至少n卡能够(硬件)解码 hevc main 10 的视频了(虽然说还有一些问题),目前在我的a卡上面还是无法正常解码,只能显示黑屏。。

不知道n卡在b站上的视频解码是否有我在主楼所说的问题。。

离线

#3 2025-02-22 19:44:25

BRS5672023
会员
注册时间: 2020-07-07
帖子: 145

Re: 【问题已解决】算是个记录吧,关于 chromium 在b站视频上的 hevc 解码的表现。。

终于 firefox 137 要支持 hevc 解码了,试了下b站视频的解码没有出现问题;等到 137 成为正式版就可以完全转到 firefox 了

离线

#4 2025-03-05 17:34:24

BRS5672023
会员
注册时间: 2020-07-07
帖子: 145

Re: 【问题已解决】算是个记录吧,关于 chromium 在b站视频上的 hevc 解码的表现。。

另外,chromium 关于 hevc main 10 在 amdgpu 上的解码应该是已经修复了(虽然b站视频播放仍有我所提到的异常)

离线

#5 2025-03-05 18:23:38

chrisivanovic
会员
注册时间: 2023-06-13
帖子: 80

Re: 【问题已解决】算是个记录吧,关于 chromium 在b站视频上的 hevc 解码的表现。。

为啥我的还是不行捏, b站手动选HEVC在播放信息里看还是用的AVC, 找了一个hevc的测试视频在线播放, 提示没有找到支持的视频格式和MIME类型

离线

#6 2025-03-05 21:02:09

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 9,168
个人网站

Re: 【问题已解决】算是个记录吧,关于 chromium 在b站视频上的 hevc 解码的表现。。

chrisivanovic 说:

为啥我的还是不行捏, b站手动选HEVC在播放信息里看还是用的AVC, 找了一个hevc的测试视频在线播放, 提示没有找到支持的视频格式和MIME类型

--enable-features=AcceleratedVideoDecodeLinuxGL 了吗?Chrom* 只支持 VAAPI 解码 HEVC,火狐则是只要你的 ffmpeg 支持就行。

离线

#7 2025-03-05 21:12:05

chrisivanovic
会员
注册时间: 2023-06-13
帖子: 80

Re: 【问题已解决】算是个记录吧,关于 chromium 在b站视频上的 hevc 解码的表现。。

依云 说:
chrisivanovic 说:

为啥我的还是不行捏, b站手动选HEVC在播放信息里看还是用的AVC, 找了一个hevc的测试视频在线播放, 提示没有找到支持的视频格式和MIME类型

--enable-features=AcceleratedVideoDecodeLinuxGL 了吗?Chrom* 只支持 VAAPI 解码 HEVC,火狐则是只要你的 ffmpeg 支持就行。

- -.原来是这的原因: https://wiki.archlinux.org/title/Chromi … celeration
"this file should contain at most one line starting with --enable-features and --disable-features."
都放到一行去就生效了, 不过火狐还不行, ffmpeg是7.1, b站用不了hevc, 拖视频进去或者在线播放测试视频提示没有找到支持的视频格式和MIME类型, 难道是firefox.desktop的问题吗?

离线

#8 2025-03-05 21:46:03

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 9,168
个人网站

Re: 【问题已解决】算是个记录吧,关于 chromium 在b站视频上的 hevc 解码的表现。。

firefox 137 版本才支持的啦(前几天刚加的)……你要么用 nightly / beta 版本,要么就等一个月。

离线

#9 2025-03-05 21:52:16

chrisivanovic
会员
注册时间: 2023-06-13
帖子: 80

Re: 【问题已解决】算是个记录吧,关于 chromium 在b站视频上的 hevc 解码的表现。。

依云 说:

firefox 137 版本才支持的啦(前几天刚加的)……你要么用 nightly / beta 版本,要么就等一个月。

原来是看岔了....

离线

页脚