我有一个包含以下媒体信息的 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
选项。您可以使用诸如K
kBit/s 和M
MBit/s 之类的缩写。
例如:
ffmpeg -i input.mp4 -b:v 2M -b:a 192k output.mp4
但在你这样运行之前,请注意以下几点:
这是一个简单的单次编码,试图在最后达到指定的比特率。这可能会导致视频部分的比特率估计错误——最终文件大小可能会偏离。输出质量可能很差。建议使用两遍编码模式如果您想以某个比特率作为目标。请参阅H.264 编码指南了解更多提示。
ffmpeg 为所选的输出扩展选择默认的视频和音频编解码器。对于 AVI 容器,这分别是
mpeg4
和libmp3lame
编码器,即 MPEG-4 Part II 视频和 MP3 音频。您不能在这里使用原始的视频和音频编解码器(H.264 和 AAC),因为它们不受 AVI 容器支持。选择 MP4 容器作为输出,它将默认为libx264
和aac
编码器,即 MPEG-4 Part 10 视频和 AAC 音频。几乎所有编解码器都允许您设置特定的比特率,但许多编解码器都有可变比特率/固定质量模式。如果您不关心特定的文件大小,您应该使用固定质量模式请阅读H.264 编码指南以及关于恒定利率因子(CRF)就是如此。例如,将视频比特率替换
-b:v 2M
为。-crf 23