How to prevent iTunes/QuickTime Player playing both the main (5.1 AC-3) and backup (2.0 AAC) audio tracks at the same time?
It turns out that streams have a 'default' status, and I guess that this status is copied from the input stream to both the output streams, even though you'd usually only want the high quality one to be the default. All Apple software plays all the default audio streams simultaneously.
To fix this, ffmpeg
provides a disposition
flag which can be 0
or default
(see documentation for further options). To have the first audio track as default and the second one not, you would add as parameters:
-disposition:a:0 default -disposition:a:1 0
Having the AC-3 stream as default appears to automatically play the AAC stream if an AC-3 decoder isn't available, which is exactly what I wanted.