When playing 5.1 surround sound audio on stereo, the dialogues come out quiet low but the other sound effect comes out heavily loud. Fortunately, FFmpeg already has built-in filters to fix this issue like loudnorm
and dynaudnorm
but I have no clue how to use them with FFmpeg nor have I found any commands online that discuss these. I know that these FFmpeg filters work with MPV player which uses FFmpeg in real time.
I have used simple command like
ffmpeg -i "movie.mkv" -acodec flac -ac 2 -vcodec copy "movie2.mkv"
which gives out an output files of smaller size and the overall volume is far lower than when played natively. This is not what I'm looking for, I want to mux all the channels into 2(stereo) without any cuts or loss in quality/bit-rate. I'm open to any other software/tool recommendation if FFmpeg lacks in achieving this.
-ac 2
option doesn't delete any channels, it really mixes the input channels into 2 output channels. The only channel that is dropped without being used is the LFE (bass) channel. Still it's possible to mix it if you like, defining your own channel mapping instead of the default ones. trac.ffmpeg.org/wiki/AudioChannelManipulation-ac 2
, I'll explain why. The original file size is 9.2 GB. Converting the audio to FLAC usingacodec flac
gives out the file size 11.1 GB. But when I applyacodec flac -ac 2
the file size comes down to 9.2 GB. That's like 2 GB loss there.