FFmpeg 视频编码器示例代码不起作用

FFmpeg 视频编码器示例代码不起作用

我在ubuntu中使用ffmpeg。其版本和其他信息如下所示:

ffmpeg -h encoder=h264
ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
  configuration: 
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
Encoder h264_v4l2m2m [V4L2 mem2mem H.264 encoder wrapper]:
    General capabilities: delay 
    Threading capabilities: none
h264_v4l2_m2m_encoder AVOptions:

我使用以下构建代码运行编码器

~/ffmpeg-4.0/doc/examples$ ./encode_video out.h264 ff_h264_v4l2_m2m_encoder

并收到以下错误:

Codec 'ff_h264_v4l2_m2m_encoder' not found

你们有人能帮助我吗?这里应该使用什么编解码器名称来运行示例代码本身?

答案1

安装x264:

  • git clone http://git.videolan.org/git/x264.git
  • cd x264
  • sudo ./configure --enable-shared --disable-asm
  • sudo make && sudo make install

再次构建 FFmpeg。例如,对我来说,命令是:

  • sudo ./configure --disable-yasm --enable-libx264 --enable-swscale --enable-avresample --enable-gpl --enable-shared
  • sudo make && make install

如果您使用 OpenCV,则必须再次构建它。

相关内容