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

5 天前
 jeddida

书接上次,大佬们建议我用硬件加速,我现在换了 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 。

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

1654 次点击
所在节点    FFmpeg
9 条回复
mumbler
5 天前
问过 AI 了吗
iamzuoxinyu
5 天前
jeddida
4 天前
@mumbler 问过了! ai 告诉我 没有引入 libva 和 libva-drm
jeddida
4 天前
@iamzuoxinyu 我在 stackoverflow 搜了半天都没搜出来!感谢大佬
valord577
4 天前
amd ffmpeg 建议集成这个 而不要走 va-api

https://github.com/ROCm/rocDecode
VchentozV
4 天前
读源代码
guhuisec
4 天前
guhuisec
4 天前
ffmpeg 编译的 lib 要支持 vvapi 才行,你需要自己编译下 ffmpeg 的 lib 让他支持硬解,
guhuisec
4 天前

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1100954

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX