我正在使用ffmpeg将立体声音频文件转换为单声道。
ffmpeg -i $1 -ac 1 -ab 192k mono_$1
但是,转换后,RMS和峰值响度级别不同。
Tests-iMac:auditions test$ ./rms.sh mono_test.mp3
mean_volume: -20.1 dB
max_volume: -0.2 dB
Peak level dB: -0.150201
RMS level dB: -20.138039
RMS peak dB: -10.650649
RMS trough dB: -94.923318
Flat factor: 0.000000
Peak count: 2.000000
Bit depth: 32/32
Number of samples: 5800320
Number of NaNs: 0.000000
Number of Infs: 0.000000
Number of denormals: 0.000000
Tests-iMac:auditions test$ ./rms.sh test.mp3
mean_volume: -22.9 dB
max_volume: -2.9 dB
Peak level dB: -2.896314
RMS level dB: -22.883812
RMS peak dB: -13.397327
RMS trough dB: -95.943631
Flat factor: 0.000000
Peak count: 2.000000
Bit depth: 32/32
Number of samples: 5800320
Number of NaNs: 0.000000
Number of Infs: 0.000000
Number of denormals: 0.000000
第一个输出是单声道文件,在技术上比立体声文件大,第二个列出。如何在转换为单声道的同时保留峰值和RMS值?我没有问题脚本可以获取立体声响度值以传递到单声道转换过程。
谢谢!
我只需要使用音频过滤器将音量减小2.7db。
ffmpeg -i $1 -ac 1 -af "volume=-2.7dB" -ab 192k mono_$1