我刚刚从 http://ffmpeg.zeranoe.com/builds/ 下载了“FFmpeg git-070b0e1 32 位静态(最新)” .我在我的 Vista 机器上提取文件,然后更新我的 PATH 以指向 presets
和 bin
文件夹。
我运行的第一个命令是这样的:
ffmpeg -i C:/a.avi -vcodec libtheora -qscale 6 -acodec libvorbis -ab 128k -vf scale="480:-1" C:/a.ogv
我遇到了这个错误:
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
我运行的第二个命令是这样的:
ffmpeg -i C:/a.avi -vcodec libx264 -preset slow -profile main -crf 20 -acodec libfaac -ab 128k -vf scale="480:-1" C:/a.mp4
我收到此错误:Unknown encoder 'libfaac'
问题:
我正在尝试转换输入视频(我不知道 MIME 类型是什么)并将其输出为 ogv 和 mp4,以便我可以在网站上播放。当然,我希望以尽可能小的文件大小获得尽可能高的质量。我已经从我在网上找到的内容中拼凑了我的命令。我在正确的轨道上吗?我可以做些什么来改进?
- 关于如何解决我遇到的错误有什么想法吗?
最佳答案
我不使用 Windows,因此我无法对您的文件名问题给出任何建议。
至于你关于使用 x264 的第一个问题,你的开端很好,尽管我会消除 -profile main
它很可能不需要。同时将 scale="480:-1"
替换为 scale="trunc(oh*a*2)/2:480"
以防止出现奇数大小的输出;否则你可能会得到一个错误:[libx264] height not divisible by 2
。对此编码器的基本建议是使用提供可接受质量的最高 -crf
值和您有耐心的最慢 -preset
值。参见 FFmpeg: The ultimate Video and Audio Manipulation Tool和
FFmpeg and x264 Encoding Guide更多示例。
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。
关于video - ffmpeg:找不到合适的输出格式,libfaac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12405467/