用于视频和音频的FFMPEG命令

时间:2012-05-17 04:06:45

标签: html5 audio video ffmpeg

我不是在构建下一个YouTube或iTunes,但我确实需要让我的用户能够上传他们的视频和音频 - 然后以尽可能低的文件大小以最高质量呈现在网络上。

问题:

  1. FOR INPUT:我应该支持哪些视频和音频格式?我猜我应该尝试支持最常见的格式,但我不完全确定它们是什么。另外,我不确定我是否应该支持最常见的格式。也许有理由不支持某种格式。

  2. FOR OUTPUT:我应该生成哪些视频和音频输出格式?我想使用HTML5和标签,但我知道我应该考虑支持非HTML5浏览器。我应该为视频做OGG,MP4和FLV吗?音频怎么样?

  3. 鉴于用户上传的未知视频和音频文件,我应该使用什么命令来生成所需的输出格式。我想要一个命令转换为特定的输出 - 并且希望不必根据输入执行与命令不同的任何操作(对于我来说,知道文件的MIME类型是什么等等都很麻烦。并且无法真正做到“如果输入是WMV,则运行此命令”逻辑)。

  4. 建议FFMPEG专家?

1 个答案:

答案 0 :(得分:2)

  1. 支持您实际支持的内容。构建FFmpeg,支持尽可能多的格式,然后只需报告FFmpeg在其文件上阻塞,而不是向用户提供受支持格式的列表。用户可以(几乎没有)告诉容器格式是什么,而且这些信息不足以让您知道是否可以正确转码。

  2. 在mp4容器中使用h264视频,在m4a容器中使用aac音频。由于视频将在线播放,因此没有理由支持许多格式。 HTML5和Flash都可以播放这些格式,因此除了您将获得的无数输入格式之外,不要通过多种输出格式给自己带来额外的问题。

  3. <强> ffmpeg -i <input video file> -c:v libx264 -c:a libfaac output.mp4 即可。当然这只是一个开始,你可能想要调整质量(-qscale),比特率(-b)等等。你可能需要稍微调整参数以满足你的需求,遗憾的是没有单一的配置可以“尽可能高的质量和最小的文件大小。”