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

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

  •  
  •   jeddida · 2 天前 · 1531 次点击

    书接上次,大佬们建议我用硬件加速,我现在换了 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  
       2 天前
    问过 AI 了吗
    iamzuoxinyu
        2
    iamzuoxinyu  
       2 天前
    jeddida
        3
    jeddida  
    OP
       1 天前
    @mumbler 问过了! ai 告诉我 没有引入 libva 和 libva-drm
    jeddida
        4
    jeddida  
    OP
       1 天前
    @iamzuoxinyu 我在 stackoverflow 搜了半天都没搜出来!感谢大佬
    valord577
        5
    valord577  
       1 天前
    amd ffmpeg 建议集成这个 而不要走 va-api

    https://github.com/ROCm/rocDecode
    VchentozV
        6
    VchentozV  
       1 天前 via iPhone
    读源代码
    guhuisec
        8
    guhuisec  
       1 天前
    ffmpeg 编译的 lib 要支持 vvapi 才行,你需要自己编译下 ffmpeg 的 lib 让他支持硬解,
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1076 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:44 · PVG 06:44 · LAX 14:44 · JFK 17:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.