我有一个具有不同音频级别的avi文件。有没有一种方法可以在需要的地方使用ffmpeg适当减少和增加文件的音频?
在ffmpeg中,您可以使用音量过滤器更改曲目的音量。确保您下载了该程序的最新版本。
找出要申请的收益
首先,您需要分析音频流的最大音量,以查看归一化是否还可以得到回报:
ffmpeg -i video.avi -af "volumedetect" -f null /dev/null
在Windows上用NUL替换/ dev / null。这将输出如下内容:
[Parsed_volumedetect_0 @ 0x7f8ba1c121a0] mean_volume: -16.0 dB
[Parsed_volumedetect_0 @ 0x7f8ba1c121a0] max_volume: -5.0 dB
[Parsed_volumedetect_0 @ 0x7f8ba1c121a0] histogram_0db: 87861
如您所见,我们的最大音量为-5.0 dB,因此我们可以应用5 dB的增益。如果您获得0 dB的值,则无需标准化音频。
应用音量过滤器:
现在,我们将音量过滤器应用于音频文件。请注意,应用过滤器意味着我们将不得不对音频流进行重新编码。当然,您要哪种音频编解码器取决于原始格式。这里有些例子:
纯音频文件:只需使用所需的编码器对文件进行编码:
ffmpeg -i input.wav -af "volume=5dB" output.mp3
当然,您的选择非常广泛。
AVI格式:通常在AVI容器中带有视频的MP3音频:
ffmpeg -i video.avi -af "volume=5dB" -c:v copy -c:a libmp3lame -q:a 2 output.avi
在这里,我们选择质量等级2。值的范围是0–9,而值越低表示越好。有关设置质量的更多信息,请参阅MP3 VBR指南。例如,您还可以使用-b:a 192k设置固定的比特率。
MP4格式:使用MP4容器时,通常会找到AAC音频。我们可以使用ffmpeg的内置AAC编码器。
ffmpeg -i video.mp4 -af "volume=5dB" -c:v copy -c:a aac -strict experimental -b:a 192k output.mp4
在这里您还可以使用其他AAC编码器。其中一些也支持VBR。有关一些提示,请参见此答案和AAC编码指南。
在以上示例中,视频流将使用-c:v复制进行复制。如果输入文件中有字幕或多个视频流,请在输出文件名前使用选项-map 0。
笔者的信息是:乔恩Skarpeteig在超级用户
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句