In the syntax -map 1:a:24
, 1
stands for the input file index. Counting starts from 0
, so 1
refers to the 2nd input file but the command only has one input. a
stands for stream type, and in this case, it's audio - v
is for video, s
for subtitles, d
for data. 24
represents for the 25th (0-indexed, remember) audio track. If your command has one input file with three video, three audio and three subtitle streams in the following order: V A S A V S V A S
, then the 2nd video will be -map 0:v:1
You can reference it using absolute index by using -map 0:4
. With absolute indexing, there's no stream type specifier.
Assuming the stream numbering in y ouryour description is correct, use
ffmpeg -i IN.MKV -map 0:0 -map 0:a:0 -map 0:a:2 -map 0:s:23 -map 0:s:24 -c copy OUT.MKV
Note that if -c copy
is omitted, all streams will be re-encoded - nonot what you want normally.