0

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

问题:

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

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

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

建议FFMPEG专家?

4

1 回答 1

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以尽可能小的文件大小。”

于 2012-05-19T03:33:11.703 回答