avcodec_find_encoder_by_name("h264_qsv") 失败
时间: 2023-09-20 15:10:29 浏览: 279
avcodec_find_encoder_by_name("h264_qsv") 失败可能是因为以下原因之一:
1. 没有正确安装Intel Quick Sync Video编解码器或驱动程序。
2. 编解码器名称拼写错误或不支持当前版本的FFmpeg。
3. 编解码器名称可能已更改或已弃用。
您可以尝试以下解决方案:
1. 确保已正确安装Intel Quick Sync Video编解码器或驱动程序,并已启用硬件加速。
2. 检查编解码器名称是否正确并且与FFmpeg版本兼容。
3. 尝试使用其他编解码器进行编码,例如x264或nvenc。
希望这些信息能够帮助您解决问题!
相关问题
ubuntu 中avcodec_find_encoder_by_name("h264_qsv") 失败
在 Ubuntu 中,avcodec_find_encoder_by_name("h264_qsv") 失败可能是因为您没有安装Intel Quick Sync Video编解码器或驱动程序。请按照以下步骤检查和安装:
1. 确认您的CPU支持Intel Quick Sync Video技术。您可以通过在终端中输入以下命令来检查:
```
sudo lshw -C display
```
如果您的CPU支持Intel Quick Sync Video,则输出中应该包含“configuration: driver=i915”或“configuration: driver=i965”。
2. 安装Intel Graphics Driver。您可以在终端中输入以下命令来安装:
```
sudo apt-get install intel-gpu-tools
```
3. 安装libmfx库。您可以在终端中输入以下命令来安装:
```
sudo apt-get install libmfx-dev
```
如果无法找到该库,请添加Multiverse存储库。您可以在终端中输入以下命令来添加:
```
sudo add-apt-repository multiverse
sudo apt-get update
```
4. 确认您的FFmpeg版本支持Intel Quick Sync Video编解码器。您可以在终端中输入以下命令来检查:
```
ffmpeg -codecs | grep qsv
```
如果您的FFmpeg版本支持Intel Quick Sync Video编解码器,则输出中应该包含“h264_qsv”。
如果您按照以上步骤操作后仍然无法使用 avcodec_find_encoder_by_name("h264_qsv"),则可能需要升级您的FFmpeg版本或尝试其他编解码器。
avcodec_find_encoder
avcodec_find_encoder是FFmpeg中的一个函数,用于查找编码器。它的作用是在已注册的编码器列表中查找符合指定编码格式的编码器。如果找到了匹配的编码器,将返回指向AVCodec结构体的指针,否则返回NULL。该函数的原型如下:
```
AVCodec *avcodec_find_encoder(enum AVCodecID id);
```
其中,id表示要查找的编码器的ID。
使用该函数可以方便地查找指定编码格式的编码器,进而进行视频编码操作。
阅读全文