sudo-iのBlog

  • 🍟首页
  • 🍊目录
    • 技术分享
    • vps教程
    • 软件分享
    • 干货分享
  • 🍎链接
  • 🍓工具
    • 🌽IP路由追踪
    • 域名被墙检测
    • KMS激活
    • 域名whois查询
  • 🍕联系
  • 🍌登录
Sudo-i
关注互联网,生活,音乐,乐此不疲
  1. 首页
  2. 技术分享
  3. 正文

解决ffmpeg无法调用intel QSV转码一例

21 11 月, 2025 8点热度 0人点赞 0条评论

最近在Debian下使用ffmpeg,调用intel QSV转换视频时遇到一个问题

废话

原本我使用的命令是

ffmpeg -i 1.mp4 -b:v 4000k -c:v h264_qsv -preset fast -c:a copy -y -stats 2.mp4

h264_qsv 是 ffmpeg 中的一个编码器,可以使用Intel QSV(Quick Sync Video)来实现硬件加速技术来进行H.264视频的编码

最近新换了硬件,于是顺手也重做了系统,发现问题来了。使用上述命令转码时,提示

[AVHWDeviceContext @ 0x65217f5774c0] Failed to initialise VAAPI connection: -1 (unknown libva error).
[h264_qsv @ 0x65217e1a8dc0] Failed to create a VAAPI device.
Error initializing output stream 0:0 — Error while opening encoder for output stream #0:0 – maybe incorrect parameters such as bit_rate, rate, width or height

首先我想到的是,查看 /dev/dir

root@AIO:~# ls /dev/dri
by-path  card1	renderD128

能加载到核显啊,奇怪,再看看驱动

#安装驱动和vainfo
apt install intel-media-va-driver vainfo -y
root@AIO:~# vainfo
error: can't connect to X server!
libva info: VA-API version 1.17.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.17 (libva 2.12.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.1.1 ()
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSliceLP
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSliceLP
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD

驱动也是一切正常啊~~

期间各种搜索和折腾,直到翻阅到debian下关于硬件加速的官方文档:https://wiki.debian.org/HardwareVideoAcceleration#VA-API

有句话点醒了我

For Intel, it’s split generationally, and into free and non-free drivers. The non-free drivers are necessary to encode media while the free drivers can only decode

对于英特尔来说,它按代数分为free和non-free驱动程序。non-free驱动程序是编码媒体所必需的,而free驱动程序只能解码

我日哦!

解决

给apt加上 non-free non-free-firmware

#/etc/apt/sources.list
deb https://mirrors.ustc.edu.cn/debian bookworm main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.ustc.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware

apt update 更新一下,然后安装 non-free 版驱动

apt install intel-media-va-driver-non-free

再次尝试,恢复正常

20251121101328801

无关联文章

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:21 11 月, 2025

李炫炫

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2025 sudo-iのBlog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2024054662号

鲁公网安备37108102000450号