FFMPEG amix filter volume issue with inputs of different duration

amix scales each input’s volume by 1/n where n = no. of active inputs. This is evaluated for each audio frame. So when an input drops out, the volume of the remaining inputs is scaled by a smaller amount, hence their volumes increase.

Changing the dropout_transition for all earlier inputs, as suggested in other answers, is one approach, but I think it will result in coarse volume modulations. Better method is to normalize the audio after the amix.

At present, you have two options, the loudnorm or the dynaudnorm filter. The latter is much faster

Syntax is to add it after the amix, so

[aud11][aud12]amix=inputs=13:duration=first:dropout_transition=0,dynaudnorm"

Read the documentation, if you wish to tweak parameters for maximum volume or RMS mode normalization..etc

Leave a Comment