标准化AVI文件中的音频

齐农

我有一个具有不同音频级别的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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何标准化几个不同音频/ MP3文件中的声音级别?

来自分类Dev

标准化音频信号

来自分类Dev

如何标准化 OPUS 文件的音量

来自分类Dev

我的音频标准化代码正确吗?

来自分类Dev

标准化Python中的数字列表

来自分类Dev

标准化Python中的小概率

来自分类Dev

.Net中的接口标准化

来自分类Dev

在theano中逐行标准化矩阵

来自分类Dev

R中的MuMIn封装标准化

来自分类Dev

标准化此表中的功能

来自分类Dev

ggplot中的标准化条高

来自分类Dev

标准化DataFrame中的值

来自分类Dev

标准化R中每行的数据

来自分类Dev

标准化SQL查询中的数据

来自分类Dev

标准化DataFrame中的值

来自分类Dev

标准化 jq 中的数据

来自分类Dev

张量流中的数据标准化

来自分类Dev

在 gnuplot 中绘制标准化直方图

来自分类Dev

如何标准化熊猫中的行?

来自分类Dev

xslt 中的标准化空间

来自分类Dev

图像标准化

来自分类Dev

在OSX上标准化bash中的任意文件路径

来自分类Dev

如何获取文件或目录的标准化日期/时间戳。在纯批处理脚本中?

来自分类Dev

如何获取文件或目录的标准化日期/时间戳。在纯批处理脚本中?

来自分类Dev

如何标准化文本文件中的电话号码?

来自分类Dev

Rails标准化CSV文件数据

来自分类Dev

POSIX是否标准化文件描述符号?

来自分类Dev

Rails标准化CSV文件数据

来自分类Dev

从影片剪辑“ avi”文件中读取音频文件