Please do NOT use mkvpropedit
for ordering the tracks like in the accepted answer. This will NOT order them properly unlike mkvmerge
.
If you inspect the video with a tool like MediaInfo, you can see that there's a StreamOrder
and ID
field.
From my experience (I've learned this the hard way), is that only the track ID
will change if you use mkvpropedit
. This does not change the StreamOrder
, therefore MKVToolnix will also not recognize the tracks as being ordered.
Instead use mkvmerge
where you can specify the --track-order
, e.g.:
mkvmerge --output "your_file (1).mkv" "(" "your_file.mkv" ")" --track-order 0:0,0:2,0:1
Where 0:0
denotes the video track, 0:2
would then be the German track and 0:1
would be the English track.
Hope this helps future readers.
mkvmerge --identify "file"
? I use VLC Media Player, which automatically plays the 'default' track regardless of order. This can be determined withffprobe "file" 2>&1 | grep Audio | tr -d '\-\-'
.mkvpropedit
, which comes withmkvtoolnix
, can change the default track to the one I want to play, by modifying the audio track properties in place, without remuxing:mkvpropedit "file" --edit track:a1 --set flag-default=0 --edit track:a2 --set flag-default=1 --edit track:s1 --set flag-default=0 --edit track:s3 --set flag-default=1
Stream #0:1(rus): Audio: eac3, 48000 Hz, 5.1(side), fltp, 640 kb/s (default) Stream #0:2(eng): Audio: eac3, 48000 Hz, 5.1(side), fltp, 640 kb/s
toStream #0:1(rus): Audio: eac3, 48000 Hz, 5.1(side), fltp, 640 kb/s Stream #0:2(eng): Audio: eac3, 48000 Hz, 5.1(side), fltp, 640 kb/s (default)
This takes about a second on my old Mac.s1
ands3
but I think the general notion of setting an audio track (a1
) as default should be an answer (and the right one).