我期待这个功能很久了,现在终于能用了,忍不住发帖分享一下。
硬件解码默认还没启用,需要自己稍微折腾一下:
1 ,需要设置 LIBVA_DRIVER_NAME=v4l2_request 环境变量,不设置的话就不能自动探测到合适的 VA-API driver 。
2 ,mpv 播放器需要加上 gpu-api=opengl 这个配置,不指定这个的话颜色是绿的,而且屏幕还会闪烁。
3 ,m2 设备上的 hevc 硬件解码我实测还不可用,需要自己编译 libva-v4l2_request 的源码,禁用 hevc ,不禁用的话用 mpv 硬解播放 hevc 视频会报错。
4 ,chrome 浏览器也需要自己编译 libva-v4l2_request ,用 https://github.com/omacom/libva-v4l2_request.git avd-fixes 分支最新的代码,否则画面也是一片绿。
另外我自行编译了 moonlight-qt ,用 v6.2.0 的代码,实测 h264 硬解效果非常好。
libva-v4l2_request 禁用 hevc 的方法如下:
⬢ d@macmini-m2_fedora-toolbox-44:~/src/libva-v4l2_request$ git diffdiff --git a/src/codec_hevc.c b/src/codec_hevc.cindex dd9b15a..8e27807 100644--- a/src/codec_hevc.c+++ b/src/codec_hevc.c@@ -1393,7 +1393,7 @@ const struct v4l2r_codec v4l2r_codec_hevc = { .name = "hevc", .pixelformat = V4L2_PIX_FMT_HEVC_SLICE, .profiles = hevc_profiles,- .nb_profiles = 2,+ .nb_profiles = 0, .priv_size = sizeof(struct hevc_context), .init = hevc_init, .uninit = hevc_uninit,⬢ d@macmini-m2_fedora-toolbox-44:~/src/libva-v4l2_request$
⚠️内容来自互联网,如有侵权请点击反馈!侵权投诉 |