执行音频提取
ffmpeg -i test.mp4 -f mp3 -vn -codec copy input.mp3
参数解释:
-i 表示input,即输入文件
-f 表示format,即输出格式
-vn表示vedio not,即输出不包含视频
对比源视频文件和提取得到的音频文件大小,可以看到源视频文件为约23M,而提取出来的音频文件大小为3M。
-codec copy 应该是让 ffmpeg 不要做解码/编码操作, 不加会自动帮你选择解码器, 耗时多点, 文件占用也会不一样
查看音频分贝
ffmpeg -i input.mp3 -filter_complex volumedetect -c:v copy -f null /dev/null
[Parsed_volumedetect_0 @ 000001e05f032e40] mean_volume: -22.3 dB
[Parsed_volumedetect_0 @ 000001e05f032e40] max_volume: -4.8 dB
最高为-10db,最低为-31db
音频的分贝为负数是正常的,感兴趣的可以了解一下分贝的计算方法(log10,对电流等属性运算后的值取的对数)
1基于当前音量倍数处理
ffmpeg -i input.mp3 -af volume=20 -y output.mp3
2基于分贝数值的处理(提升20分贝,降低分贝使用负号)
ffmpeg -i input.mp3 -af volume=20dB -y output.mp3
3 音量平滑处理
ffmpeg -i input.mp3 -af "loudnorm" -y output.mp3