找不到用于FFmpeg转码的x264编解码器设备

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了找不到用于FFmpeg转码的x264编解码器设备相关的知识,希望对你有一定的参考价值。

我正在搞弄FFmpeg转码教程(来源:https://ffmpeg.org/doxygen/trunk/transcoding_8c-example.html]

我正在使用FFmpeg 4.0.5并按如下所示成功构建它:

$ sudo apt-get install libx264-dev
$ cd ffmpeg-4.0.5
$ ./configure --prefix=buildout --enable-shared --disable-static --disable-doc  --enable-gpl --disable-opencl --enable-libx264
$ make
$ sudo make install
$ sudo ldconfig

我也一直在阅读文章以寻求指导。 (http://www.programmersought.com/article/71051173025/;jsessionid=2D01469BCFABF65530FCC81DBC04E9C0

transcoding.c源文件会编译:

$ gcc transcoding.c -o out -lavformat -lavcodec -lavutil -lavfilter

直接调用可执行文件:

$ ./out $INPUT_VIDEO $OUTPUT_VIDEO

其中$ INPUT_VIDEO是mp4容器(h264 / aac)

到目前为止,一切似乎都可以在我的Debian 10 VM上正常工作(如果相关)。但是,我得到以下错误输出:

[h264_v4l2m2m @ 0x564f664eebc0] Could not find a valid device
[h264_v4l2m2m @ 0x564f664eebc0] can't configure encoder
Cannot open video encoder for stream #0
Error occurred: Invalid argument

我所附的文章说我在编译FFmpeg时需要添加它,因此我将./ configure行更改为如上所述,但无济于事。任何帮助或指导将不胜感激。

答案

已解决!我的./configure选项不正确。

必须使用:

$ ./configure --enable-shared --enable-libx264 --enable-gpl

以上是关于找不到用于FFmpeg转码的x264编解码器设备的主要内容,如果未能解决你的问题,请参考以下文章

ffmpeg/Libavcodec 找不到编解码器

ffmpeg里有x264么

不支持 ffmpeg 编解码器,找不到支持的设备

FFMPEG进阶系列03-ffmpeg转码专题(中)x264参数详解

如何设置ffmpeg使得转码最快

ffmpeg/avconv:使用相同的编解码器和参数作为输入进行转码