如何指定音频和视频比特率

如何指定音频和视频比特率

我有一个包含以下媒体信息的 mov 文件:

Stream 0
Type: Video
Codec: H264-MPEG-4 AVC (part 10)avc1
Language: English
Resolution: 1280x720
Frame rate: 24

Stream 1
Type: Audio
Codec: MPEG AAC Audio (mp4a)
Language: English
Channels: Stereo
Sample rate: 44100HZ

我想使用 FFmpeg 将该 MOV 文件转换为 AVI 文件。

我知道我可以指定音频和视频比特率(来自本文):

ffmpeg -i InputFile.mpg -ab 128 -b 1200 OutputFile.avi

但就我的情况而言,如果我想保持原始质量,我的音频和视频比特率应该是多少?

答案1

要指定视频和音频的目标比特率,请分别使用-b:v-b:a选项。您可以使用诸如KkBit/s 和MMBit/s 之类的缩写。

例如:

ffmpeg -i input.mp4 -b:v 2M -b:a 192k output.mp4

但在你这样运行之前,请注意以下几点:

  • 这是一个简单的单次编码,试图在最后达到指定的比特率。这可能会导致视频部分的比特率估计错误——最终文件大小可能会偏离。输出质量可能很差。建议使用两遍编码模式如果您想以某个比特率作为目标。请参阅H.264 编码指南了解更多提示。

  • ffmpeg 为所选的输出扩展选择默认的视频和音频编解码器。对于 AVI 容器,这分别是mpeg4libmp3lame编码器,即 MPEG-4 Part II 视频和 MP3 音频。您不能在这里使用原始的视频和音频编解码器(H.264 和 AAC),因为它们不受 AVI 容器支持。选择 MP4 容器作为输出,它将默认为libx264aac编码器,即 MPEG-4 Part 10 视频和 AAC 音频。

  • 几乎所有编解码器都允许您设置特定的比特率,但许多编解码器都有可变比特率/固定质量模式。如果您不关心特定的文件大小,您应该使用固定质量模式请阅读H.264 编码指南以及关于恒定利率因子(CRF)就是如此。例如,将视频比特率替换-b:v 2M为。-crf 23

相关内容