(Re)muxing without (re)encoding

Sometimes it is necessary to change muxer (AVI, MKV, MPEG TS, MPEG PS, ...) of some file to be able to read it on limited devices. However, if video and audio streams are encoded with codecs readable with your device, you should not reencode them.

The same case arises when you have several audio and video streams in separate files and want to mux them in a single file with an appropriate container.

This tutorial explains how to (re)mux some streams in a different container with Datura.

New project, add input file(s)

First of all, create a new project in Datura (File, New). Then, drop your input file(s) or click on "+". For the purpose of this tutorial, we suppose to have a single AVI file that contains one video stream (DivX) and two audio stream (both in MP3 but in different languages), and we want to produce a single MKV file that contains the original video stream and of a the audio streams.

Define output file

In the project window, click on second icon in the toolbar called "Output". Set the output file by clicking the button "Choose" or by manually typing the path and name. Normally, the extension of this file should correspond to the target muxer (container). If you choose a non-standard extension, you have to manually select the Muxer in the list below, otherwise you can safely let Datura choose the appropriate muxer for you.

Define video stream(s)

Select the "Video" tab. Click on "+" to add a video stream. In the bottom part of the window, select the video input stream that will be used to produce this new stream. Since we don't want to reencode it, let the Codec parameter to "Copy stream". With this special Codec value, the stream is left as is: no reecoding, no cropping, no padding, ... If you have several video streams, repeat this process for each stream.

Define audio stream(s)

Select the "Audio" tab. Click on "+" to add an audio stream. In the bottom part of the window, select the audio input stream that will be used to produce this new stream. Since we don't want to reencode it, let the Codec parameter to "Copy stream". If you have several video streams, repeat this process for each stream.

Optional additional features

If one of the selected stream is shorter than the others, and you want to stop the muxing when the shortest stream ends, then click on "Parameters" icon in the toolbar and check the "Stop at shortest stream" option.

For each of your new streams, you may want Datura to start reading it from a specific position. You can so specify the "Start after" parameter to specify the first seconds, minutes and/or hours you want Datura to ignore at the beginning of each stream.

If you want to specify explicitely the duration of the output file, you can specify it in the "Duration" parameter at the top of the window below the muxer parameter.

Launch the muxing

You can now click on "Encode" to launch the muxing process. The "Operations" window then opens with your job queued. Simply click on "Start" icon to launch the process. This process should be very fast since no reencoding is requested. Enjoy !