Suppose that we have one video file in.mkv, which has two audio tracks, what is the most direct way to remux it into two separate mkv files with just one audio track?

Two streams is an example, the technique should work with 100 audio streams.


There are several ways to do that. The simplest, but not the best would be to run some sort of remuxing twice, each time taking just a single audio track. But since there is no re-encoding the speed will go down since the computer is forced to read the whole file twice (or more times if you have more audio tracks).

To accomplish the task with a single read using libav (ffmpeg will probably be the same):

avconv -i in.mkv -map 0:0 -map 0:1 -c:a copy -c:v copy out1.mkv -map 0:0 -map 0:2 -c:a copy -c:v copy out2.mkv

It is probably also possible to do that with gstreamer.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.