ffmpeg:无法找到合适的输出格式libfaac

Sta*_*bie 6 video ffmpeg html5-video

我刚从http://ffmpeg.zeranoe.com/builds/下载了"FFmpeg git-070b0e1 32位静态(最新)" .我解析了我的Vista机器上的文件,然后更新了我的PATH指向presetsbin文件夹.

我跑的第一个命令就是:

ffmpeg -i C:/a.avi  -vcodec libtheora  -qscale 6  -acodec libvorbis  -ab 128k  -vf scale="480:-1"   C:/a.ogv
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

Please use -q:a or -q:v, -qscale is ambiguous
[NULL @ 0200F800] Unable to find a suitable output format for 'C:/a.ogv''
C:/a.ogv': Invalid argument
Run Code Online (Sandbox Code Playgroud)

我跑的第二个命令就是:

ffmpeg -i C:/a.avi  -vcodec libx264  -preset slow  -profile main  -crf 20  -acodec libfaac  -ab 128k  -vf scale="480:-1"   C:/a.mp4
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误: Unknown encoder 'libfaac'

问题:

  1. 我正在尝试转换输入视频(我不知道MIME类型是什么)并输出为ogv和mp4所以我可以在网站上播放它.当然,我正在寻找尽可能低的文件大小的最高质量.我已经从我在网上找到的东西中拼出了我的命令.我是在正确的轨道上吗?我该怎么做才能改善?

    1. 任何想法如何解决我得到的错误?

llo*_*gan 5

我不使用 Windows,因此我无法为您的文件名问题提供任何建议。

至于你关于使用 x264 的第一个问题,你有一个良好的开端,尽管我会消除-profile main它很可能不是必需的。也替换scale="480:-1"scale="trunc(oh*a*2)/2:480"以防止奇怪大小的输出;否则你可能会得到一个错误:[libx264] height not divisible by 2。此编码器的基本建议是使用-crf提供可接受质量的最高值和-preset您有耐心的最慢值。有关更多示例,请参阅FFmpeg:终极视频和音频操作工具FFmpeg 和 x264 编码指南

Zeranoe 构建不包括对 libfaac 的支持。包括它会使 ffmpeg 二进制文件不可再分发。Zeranoe 构建中支持的替代 AAC 编码器是-c:a libvo_aacenc和本机 FFmpeg AAC 编码器-c:a aac -strict experimental

在 ogv 中为 Theora 使用 libtheora 的另一种方法是在 webm 中为 VP8 使用 libvpx。我对这个编码器的经验很少,所以我不能给你任何建议。

请注意,ffmpeg 使用问题更适合 superuser.com。