Mercurial > mplayer.hg
changeset 15148:067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
obtained with MEncoder into different containers.
Based on Rich's guide and some tips by Nico Sabi.
Reviewed by The Wanderer, Dominik 'Rathann' Mierzejewski and Diego Biurrun
author | gpoirier |
---|---|
date | Wed, 13 Apr 2005 18:53:30 +0000 |
parents | 9198a882c887 |
children | 8319e8b0c437 |
files | DOCS/xml/en/mencoder.xml |
diffstat | 1 files changed, 136 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/DOCS/xml/en/mencoder.xml Wed Apr 13 18:31:44 2005 +0000 +++ b/DOCS/xml/en/mencoder.xml Wed Apr 13 18:53:30 2005 +0000 @@ -1290,6 +1290,142 @@ </para> </sect2> +<sect2 id="menc-feat-dvd-mpeg4-muxing"> +<title>Muxing</title> +<para> + Now that you have encoded your video, you will most likely want + to mux it with one or more audio tracks into a movie container, such + as AVI, Matroska or NUT. + <application>MEncoder</application> is currently only able to output + audio and video into MPEG and AVI container formats. + for example: + <screen>mencoder -oac copy -ovc copy -o <replaceable>output_movie.avi</replaceable> -audiofile <replaceable>input_audio.mp2</replaceable> <replaceable>input_video.avi</replaceable></screen> + This would merge the video file <replaceable>input_video.avi</replaceable> + and the audio file <replaceable>input_audio.mp2</replaceable> + into the AVI file <replaceable>output_movie.avi</replaceable>. + This command works with MPEG-1 layer I, II and III (more commonly known + as MP3) audio, WAV and a few other audio formats too. +</para> + +<para> + MEncoder features experimental support for + <systemitem class="library">libavformat</systemitem>, which is a + library from the FFmpeg project that supports muxing and demuxing + a variety of containers. + For example: + <screen>mencoder -oac copy -ovc copy -o <replaceable>output_movie.asf</replaceable> -audiofile <replaceable>input_audio.mp2</replaceable> <replaceable>input_video.avi</replaceable> -of lavf -lavfopts format=asf</screen> + This will do the same thing as the previous example, except that + the output container will be ASF. + Please note that this support is highly experimental (but getting + better every day), and will only work if you compiled + <application>MPlayer</application> with the support for + <systemitem class="library">libavformat</systemitem> enabled (which + means that a pre-packaged binary version will not work in most cases). +</para> + +<sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations"> +<title>Limitations of the AVI container</title> +<para> + Although it is the most widely-supported container format after MPEG-1, + AVI also has some major drawbacks. + Perhaps the most obvious is the overhead. + For each chunk of the AVI file, 24 bytes are wasted on headers and + index. + This translates into a little over 5 MB per hour, or 1-2.5% + overhead for a 700 MB movie. This may not seem like much, but it could + mean the difference between being able to use 700 kbit/sec video or + 714 kbit/sec, and every bit of quality counts. +</para> + +<para> + In addition this gross inefficiency, AVI also has the following major + limitations: +</para> + +<orderedlist> +<listitem> +<para> + Only fixed-fps content can be stored. This is particularly limiting + if the original material you want to encode is mixed content, for + example a mix of NTSC video and film material. + Actually there are hacks that can be used to store mixed-framerate + content in AVI, but they increase the (already huge) overhead + fivefold or more and so are not practical. +</para> +</listitem> +<listitem> +<para> + Audio in AVI files must be either constant-bitrate (CBR) or + constant-framesize (i.e. all frames decode to the same number of + samples). + Unfortunately, the most efficient codec, Vorbis, does not meet + either of these requirements. + Therefore, if you plan to store your movie in AVI, you'll have to + use a less efficient codec such as MP3 or AC3. +</para> +</listitem> +</orderedlist> + +<para> + Having said all that, <application>MEncoder</application> does not + currently support variable-fps output or Vorbis encoding. + Therefore, you may not see these as limitations if + <application>MEncoder</application> is the + only tool you will be using to produce your encodes. + However, it is possible to use <application>MEncoder</application> + only for video encoding, and then use external tools to encode + audio and mux it into another container format. +</para> +</sect3> + +<sect3 id="menc-feat-dvd-mpeg4-muxing-matroska"> +<title>Muxing into the Matroska container</title> +<para> + The Matroska is a free, open standard container format, aiming + to offer a lot of advanced features, which older containers + like AVI cannot handle. + For example, Matroska supports variable bitrate audio content + (VBR), variable framerates (VFR), chapters, file attachments, + error detection (EDC) and modern A/V Codecs like "advanced audio + coding" (AAC), "Vorbis" or "MPEG-4 AVC" (H.264), next to nothing + handled by AVI. +</para> + +<para> + The tools required to create Matroska files are collectively called + <application>mkvtoolnix</application>, and are available for most + Unix platforms as well as <application>Windows</application>. + Given that Matroska is an open standard, you may find other + tools that suit you better, but since mkvtoolnix is the most + common, and is supported by the Matroska team itself, we will + only cover its usage. +</para> + +<para> + Probably the easiest way to get started with Matroska is to use + <application>MMG</application>, the graphical frontend shipped with + <application>mkvtoolnix</application>, and follow the + <ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">guide to mkvmerge GUI (mmg)</ulink> +</para> + +<para> + You may also mux audio and video files using the command line: + <screen>mkvmerge -o <replaceable>output.mkv</replaceable> <replaceable>input_video.avi</replaceable> <replaceable>input_audio1.mp3</replaceable> <replaceable>input_audio2.ac3</replaceable></screen> + This would merge the video file <replaceable>input_video.avi</replaceable> + and the two audio files <replaceable>input_audio1.mp3</replaceable> + and <replaceable>input_audio2.ac3</replaceable> into the Matroska + file <replaceable>output.mkv</replaceable>. + Matroska, as mentioned earlier, is able to do much more than that, like + multiple audio tracks (including fine-tuning of audio/video + synchronization), chapters, subtitles, splitting, etc... + Please refer to the documentation of those applications for + more details. +</para> + +</sect3> + +</sect2> + </sect1> <sect1 id="menc-feat-telecine">