使用 MEncoder 时未找到 lavc

使用 MEncoder 时未找到 lavc

我正在跟进这个答案将 VCD 翻录成 AVI 文件。当我运行

mencoder vcd://3 -audio-preload 0.0 -o file.avi -mc 0 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2000

它只是返回

-lavcopts is not an MEncoder option

-lavcopts从命令中删除,我得到

success: format: 2  data: 0x2DFE54 - 0x12f78530
MPEG-PS file format detected.
VIDEO:  MPEG1  352x240  (aspect 12)  29.970 fps  1100.0 kbps (137.5 kbyte/s)
[V] filefmt:2  fourcc:0x10000001  size:352x240  fps:29.970  ftime:=0.0334
==========================================================================
Opening audio decoder: [mpg123] MPEG 1.0/2.0/2.5 layers I, II, III
AUDIO: 44100 Hz, 2 ch, s16le, 224.0 kbit/15.87% (ratio: 28000->176400)
Selected audio codec: [mpg123] afm: mpg123 (MPEG 1.0/2.0/2.5 layers I, II, III)
==========================================================================
Couldn't find video filter 'lavc'.
Failed to open the encoder.

我通过 Google 搜索试图找到类似的问题,但没有找到任何类似的问题。


更新 #1:

以下是可用的编解码器:

   copy     - frame copy, without re-encoding. Doesn't work with filters.
   frameno  - special audio-only file for 3-pass encoding, see DOCS.
   raw      - uncompressed video. Use fourcc option to set format explicitly.
   xvid     - XviD encoding
   x264     - H.264 encoding

更新 #2:

我正在运行版本 37998-1。

答案1

已在修订版 38015 中修复。

cfg-mencoder.h在 SVN 修订版 37998 中:

#ifdef CONFIG_FFMPEG
    //{"lavcopts", lavcopts_conf, CONF_TYPE_SUBCONFIG, CONF_GLOBAL, 0, 0, NULL}, //TODO: ve_lavc doesn't build after latest FFmpeg major bumps
#else
    {"lavcopts", "MPlayer was compiled without libavcodec. See README or DOCS.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
#endif /* CONFIG_FFMPEG */

我跑了

$ mplayer vcd://2 -dumpstream -dumpfile file.mpeg

并且它运行良好(如果 VCD 没有故障的话)。

谢谢普罗甘迪感谢 Arch Linux 的帮助!

相关内容