将ffmpeg与libx264一起使用时,无法将配置文件设置为高

时间:2012-03-08 22:18:08

标签: ffmpeg x264 transcoding

这是我的命令:

ffmpeg -i input.avi -vcodec libx264 -vpre fast -vpre high -acodec copy output.avi

输出:

Input #0, avi, from 'short.avi':
  Metadata:
    encoder         : Lavf53.3.0
  Duration: 00:00:25.04, start: 0.000000, bitrate: 12705 kb/s
    Stream #0.0: Video: msmpeg4v2, yuv420p, 1920x1080, 24 tbr, 24 tbn, 24 tbc
    Stream #0.1: Audio: aac, 48000 Hz, 5.1, s16, 316 kb/s
    Metadata:
      title           : ED-CM-5.1-DVD-Final2
File for preset 'high' not found

但是,在将配置文件设置为baseline或main时,我能够成功转码文件,从x264的手册页中可以清楚地看到“high”也应该是一个有效的参数。我还想知道这些预设文件在文件系统中的位置(我正在运行ubuntu 11.10),以便我可以确定我现在可以实际使用哪些参数用于预设和配置文件。我对此问题感到非常沮丧,非常感谢你们的任何意见。提前谢谢。

2 个答案:

答案 0 :(得分:0)

我在/usr/local/share/ffmpeg/

从手册页:

The argument passed to the "vpre", "apre", and "spre" preset options
identifies the preset file to use according to the following rules:

First ffmpeg searches for a file named arg.ffpreset in the directories
$FFMPEG_DATADIR (if set), and $HOME/.ffmpeg, and in the datadir defined
at configuration time (usually PREFIX/share/ffmpeg) or in a ffpresets
folder along the executable on win32, in that order. For example, if
the argument is "libx264-max", it will search for the file
libx264-max.ffpreset.

If no such file is found, then ffmpeg will search for a file named
codec_name-arg.ffpreset in the above-mentioned directories, where
codec_name is the name of the codec to which the preset file options
will be applied. For example, if you select the video codec with
"-vcodec libx264" and use "-vpre max", then it will search for the file
libx264-max.ffpreset.

答案 1 :(得分:0)

我正在研究FFmpeg和Libav(FFmpeg的分支)目前可用的预设集。 FFmpeg不再包含许多libx264预设文件(仅限'ipod320'和'ipod640')。 Libav指定“基线”和“主要”的预设,但不是“高”。

这就解释了为什么'-vpre high'失败了。

我不完全确定哪里没有高调的预设。可能是开发人员不想对该配置文件的最佳编码实践做出假设。