jeddida
V2EX  ›  FFmpeg

我又来询问 ffmpeg 问题了!这次是硬件加速!

By jeddida at 2024 年 12 月 28 日 · 6061 次点击

书接上次,大佬们建议我用硬件加速,我现在换了 AMD 的显卡,并且成功在我的 Linux 安装了 ffmpeg 。 我运行:ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -i input.mp4 -vf format=yuv420p,hwupload -c:v h264_vaapi -b:v 1000k output.mp4

可硬件加速,CPU 占用率很低。 但是我在我的 c++代码里使用来创建:int ret = av_hwdevice_ctx_create = (&hw_device_ctx,AV_HWDEVICE_TYPE_VAAPI,"/dev/dri/renderD128");

我打印了 ret:-12 ,我查阅了资料是因为无法创建内存空间导致的。

忘了说,我用的是 qtcreator ,我在 qt 的 pro 文件了引入了-lavcodec -lavformat -lavutil -lswscale ,在不用硬件加速的时候可以看到视频,也可以播放,但是用了 vaapi 那个加速就会打印-12

我查阅资料可能是没有引入 libva 和 libva-drm 。

有没有大佬了解过这些! 跪谢!困扰我一周了!(我没法尝试是因为公司电脑关了,这周末难受的我啊,解决不了问题我都睡不好)

9 条回复  •  2024-12-29 17:58:43 +08:00
mumbler
   1
mumbler  
   2024 年 12 月 28 日
问过 AI 了吗
iamzuoxinyu
   2
iamzuoxinyu  
   2024 年 12 月 28 日
jeddida
   3
jeddida  
OP
   2024 年 12 月 29 日
@mumbler 问过了! ai 告诉我 没有引入 libva 和 libva-drm
jeddida
   4
jeddida  
OP
   2024 年 12 月 29 日
@iamzuoxinyu 我在 stackoverflow 搜了半天都没搜出来!感谢大佬
valord577
   5
valord577  
   2024 年 12 月 29 日
amd ffmpeg 建议集成这个 而不要走 va-api

https://github.com/ROCm/rocDecode
1Z3KYa0qBLvei98o
   6
1Z3KYa0qBLvei98o  
   2024 年 12 月 29 日 via iPhone
读源代码
guhuisec
   8
guhuisec  
   2024 年 12 月 29 日
ffmpeg 编译的 lib 要支持 vvapi 才行,你需要自己编译下 ffmpeg 的 lib 让他支持硬解,
© 2026 V2EX · 39ms · 3.9.8.5