FFmpeg无法识别预设,即使它存在于Ubuntu 12.04中。

3
我已经按照这份文档的步骤安装了ffmpeg和x264:http://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide 现在我有以下要执行的命令行:
sudo /usr/bin/ffmpeg -i input_file.flv -f flv -vcodec libx264 -vpre normal -r 25 -s 0x0 -aspect 1.7777777777778 -padcolor 000000 -padtop 0 -padbottom 0 -padleft 0 -padright 0 -acodec libfaac -ab 128000 -ar 22050 output_file.flv

Input #0, flv, from 'WIN! Jwow.flv':
  Metadata:
    starttime       : 0
    totalduration   : 101
    totaldatarate   : 865
    bytelength      : 10897460
    canseekontime   : true
    sourcedata      : BD58B2E43HH1338284027987695
    purl            : 
    pmsg            : 
  Duration: 00:01:40.66, start: 0.000000, bitrate: 877 kb/s
    Stream #0.0: Video: h264 (Main), yuv420p, 640x360, 745 kb/s, 29.97 tbr, 1k tbn, 59.94 tbc
    Stream #0.1: Audio: aac, 44100 Hz, stereo, s16, 131 kb/s
**File for preset 'normal' not found**

我在以下目录中拥有预设:

/usr/share/ffmpeg
/usr/local/share/ffmpeg
/home/user/.ffmpeg
/usr/local/src/ffmpeg/presets

我仍然遇到相同的错误:找不到名为“normal”的预设文件

问题是什么?

额外信息 - 当我运行ffmpeg -version时,会得到以下内容:

ffmpeg version git-2012-05-31-60de761
built on May 31 2012 15:54:11 with gcc 4.6.3
configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-version3 --enable-x11grab
1个回答

12

好消息是你正在使用最新版本的ffmpeg和x264。坏消息是你正在使用过时的语法。FFmpeg开发非常活跃,语法变化是会发生的,当前等价于你命令的语法是:

ffmpeg -i input_file.flv -vcodec libx264 -preset medium -crf 23 -acodec libfaac -aq 100 -ar 22050 output_file.flv

我去掉了所有多余的内容。为什么要用0填充?调整输出大小为0x0是什么意思?大多数情况下您不需要更改帧速率,所以我也删除了-r

我建议在使用libx264和-crf时,使用-aq(或-q:a,这两种方式都可以)进行音频编码而不是-b:a。它类似于faac -q 100,这是其默认值。

至于预设,FFmpeg现在不再使用文本文件来模拟标准x264预设,而是直接通过libx264访问它们。请参见x264 --fullhelp获取预设列表,但忽略placebo预设,因为它完全是浪费时间。基本用法是使用您有耐心等待的最慢预设。

我添加了-crf选项来控制视频质量。默认值为23。较低的值表示较高的质量,合理的范围为18-24。基本用法是使用能够给您可接受质量的最高值。有关详细说明,请参见FFmpeg:终极视频和音频操作工具


非常感谢,我没有想到最好的MMS“Clip buket” - 我认为是这样 - 使用一个过时的命令,我还很新手在ffmpeg方面,不管怎样,你的答案对我来说非常有帮助。再次感谢。 - Ahmad Tahboub

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接