我正在开发可以比较2个视频文件并显示差异的程序。 我使用SOX和FFMPEG比较文件的音轨:
但如果两个文件仅按音量级别不同 - 所有音轨都将被检测为非静音范围。
如何理解2个文件具有相同的音轨,但音量级别不同?
我尝试通过sox更改声级:sox -v 1.1 input.wav output.wav
然后比较统计信息(-n stat)。
它工作正常。除法参数audio2 / audio1:
Samples read 1.00;
Length (seconds) 1.00;
Scaled by 1.00;
Maximum amplitude 1.10;
Minimum amplitude 1.10;
Midline amplitude 1.10;
Mean norm 1.10;
Mean amplitude 1.00;
RMS amplitude 1.10;
Maximum delta 1.10;
Mean delta 1.10;
RMS delta 1.10;
Rough frequency 1.00;
Volume adjustment 1/1.10;
BUT!当我尝试使用ffmpeg更改视频量时:ffmpeg -i input.mp4 -vcodec copy -af "volume=10dB" output.mp4
(或volume=volume=0.5
)并且比较了sox音频统计信息:我无法找到任何模式......
Samples read 1.00
Length (seconds) 1.00
Scaled by 1.00
Maximum amplitude 0.71
Minimum amplitude 0.64
Midline amplitude -2401.73
Mean norm 0.34
Mean amplitude 0.50
RMS amplitude 0.36
Maximum delta 0.37
Mean delta 0.34
RMS delta 0.36
Rough frequency 0.99
Volume adjustment 0.71
我将感激任何想法和帮助。