jeddida
V2EX  ›  FFmpeg

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

  •  
  •   jeddida · Dec 28, 2024 · 5361 views
    This topic created in 532 days ago, the information mentioned may be changed or developed.

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

    https://github.com/ROCm/rocDecode
    1Z3KYa0qBLvei98o
        6
    1Z3KYa0qBLvei98o  
       Dec 29, 2024 via iPhone
    读源代码
    guhuisec
        8
    guhuisec  
       Dec 29, 2024
    ffmpeg 编译的 lib 要支持 vvapi 才行,你需要自己编译下 ffmpeg 的 lib 让他支持硬解,
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2962 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 69ms · UTC 02:42 · PVG 10:42 · LAX 19:42 · JFK 22:42
    ♥ Do have faith in what you're doing.