Mux mkv and dts file, change default audio stream and language I want to mux (combine) two files into one mkv file. The first one is an mkv file that contains a video and an audio stream in German. The second one is an English audio stream in dts format.I want one mkv file that contains both audio channels, the English one being the first and default audio stream.

Here's the ffmpeg command I'm using so far:

ffmpeg -i movie.mkv -i audio.dts -map 0:v:0 -map 1:a:0
-map 0:a:0 -c copy movie_combined.mkv


This produces acceptable results. I get an mkv file that has two audio channels, the first one English, the second one German. However, there's two problems. The second (German) audio stream is still the default stream (VLC media player uses it by default and according to MediaInfo, there's a default flag on the stream). Also, the English stream doesn't show up as English, according to MediaInfo there's no language information for that stream.

How do I flag the English audio stream as the default one? And how do I add the language information for that stream (so that, for example, it shows up as English in the audio track selection of VLC media player)?
Based on this answer on stackoverflow, it seems that changing the disposition is now possible with ffmpeg (see also the official documentation).
I think that the command that you would need, so that the final file had English as the default audio stream is:
ffmpeg -i movie.mkv -i audio.dts -map 0:v:0 -map 1:a:0 -map 0:a:0 -c copy -disposition:a:0 default -disposition:a:1 0 movie_combined.mkv

The addition is -disposition:a:0 default -disposition:a:1 0. The numbering of the streams is for the output. -disposition:a:1 0 is needed to remove the disposition from the second stream.
(Instead of -disposition:a:1 0 you could also, in principle, use the non-documented -disposition:a:1 none, which has the same effect.)
To add metadata/language information, see the other answer.