2002-06-14 01:44:30 +00:00
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2001-11-04 11:20:11 +00:00
|
|
|
<HTML>
|
2002-03-07 17:55:34 +00:00
|
|
|
|
|
|
|
<HEAD>
|
2002-08-04 00:07:55 +00:00
|
|
|
<TITLE>Encoding - MEncoder - The Movie Encoder for Linux</TITLE>
|
2003-02-27 14:01:19 +00:00
|
|
|
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
|
2002-06-14 01:44:30 +00:00
|
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
2002-03-07 17:55:34 +00:00
|
|
|
</HEAD>
|
|
|
|
|
2002-06-14 01:44:30 +00:00
|
|
|
<BODY>
|
2001-11-04 11:20:11 +00:00
|
|
|
|
|
|
|
|
2003-01-09 09:37:53 +00:00
|
|
|
<H1><A NAME="encoding">7. Encoding with MEncoder</A></H1>
|
2002-08-11 18:27:38 +00:00
|
|
|
|
2002-11-09 02:07:14 +00:00
|
|
|
<P>For the complete list of available MEncoder options and examples, please see
|
2003-01-11 18:58:42 +00:00
|
|
|
the man page. For a series of hands-on examples and detailed guides on using
|
|
|
|
several encoding parameters, read the
|
2003-02-10 18:33:57 +00:00
|
|
|
<A HREF="../tech/encoding-tips.txt">encoding-tips</A> that were collected from
|
2003-01-11 18:58:42 +00:00
|
|
|
several mailing list threads on
|
|
|
|
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-users">mplayer-users</A>.
|
|
|
|
Search the <A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">archives</A>
|
|
|
|
for a wealth of discussions about all aspects of and problems related to
|
|
|
|
encoding with MEncoder.</P>
|
2001-11-04 11:20:11 +00:00
|
|
|
|
2003-01-09 09:37:53 +00:00
|
|
|
|
2003-01-12 21:24:19 +00:00
|
|
|
<H2><A NAME="2pass">7.1 Encoding 2 or 3-pass MPEG-4 ("DivX")</A></H2>
|
2001-11-11 22:30:31 +00:00
|
|
|
|
2002-08-10 20:26:43 +00:00
|
|
|
<P><U><B>2-pass encoding:</B></U> the name comes from the fact that this method
|
|
|
|
encodes the file <I>twice</I>. The first encoding (dubbed <I>pass</I>)
|
|
|
|
creates some temporary files (*.log) with a size of few megabytes, do not
|
|
|
|
delete them yet (you can delete the AVI). In the second pass, the 2-pass
|
|
|
|
output file is created, using the bitrate data from the temporary files. The
|
|
|
|
resulting file will have much better image quality. If this is the first time
|
|
|
|
you heard about this, you should consult some guides available on the
|
|
|
|
Net.</P>
|
2001-11-11 22:30:31 +00:00
|
|
|
|
2003-01-06 04:58:20 +00:00
|
|
|
<P>This example shows how to encode a DVD to a 2-pass MPEG-4 ("DIVX") AVI. Just
|
|
|
|
two commands are needed:<BR>
|
2002-08-10 20:26:43 +00:00
|
|
|
<CODE> rm frameno.avi</CODE> - remove this file, which
|
|
|
|
can come from a previous 3-pass encoding (it interferes with current
|
|
|
|
one)<BR>
|
2003-05-25 19:29:33 +00:00
|
|
|
<CODE> mencoder dvd://2 -ovc lavc -lavcopts
|
2002-12-19 21:36:44 +00:00
|
|
|
vcodec=mpeg4:vpass=1 -oac copy -o movie.avi<BR>
|
2003-05-25 19:29:33 +00:00
|
|
|
mencoder dvd://2 -ovc lavc -lavcopts
|
2002-12-19 21:36:44 +00:00
|
|
|
vcodec=mpeg4:vpass=2 -oac copy -o movie.avi</CODE></P>
|
2002-01-28 14:01:29 +00:00
|
|
|
|
2002-06-14 01:44:30 +00:00
|
|
|
<P><U><B>3-pass encoding:</B></U> this is an extension of 2-pass encoding,
|
2002-01-28 14:01:29 +00:00
|
|
|
where the audio encoding takes place in a separate pass. This method enables
|
|
|
|
estimation of recommended video bitrate in order to fit on a CD. Also, the
|
2002-06-14 01:44:30 +00:00
|
|
|
audio is encoded only once, unlike in 2-pass mode. The schematics:</P>
|
2002-01-28 14:01:29 +00:00
|
|
|
|
2002-08-27 18:06:07 +00:00
|
|
|
<OL>
|
|
|
|
<LI>Remove conflicting temporary file:
|
|
|
|
<P><CODE>rm frameno.avi</CODE></P></LI>
|
|
|
|
<LI>First pass:
|
2002-12-19 21:36:44 +00:00
|
|
|
<P><CODE>mencoder <file/DVD> -ovc frameno -oac mp3lame -lameopts vbr=3 -o frameno.avi</CODE></P>
|
2002-08-27 18:06:07 +00:00
|
|
|
<P>An audio-only avi file will be created, containing
|
|
|
|
<B>only</B> the requested audio stream. Don't forget <CODE>-lameopts</CODE>,
|
2002-10-20 12:20:39 +00:00
|
|
|
if you need to set it. If you were encoding a long movie, MEncoder
|
2002-08-27 18:06:07 +00:00
|
|
|
prints the recommended bitrate values for 650Mb, 700Mb, and 800Mb
|
|
|
|
destination sizes, after this pass finishes.</P></LI>
|
|
|
|
<LI>Second pass:
|
2002-11-02 05:42:11 +00:00
|
|
|
<P><CODE>mencoder <file/DVD> -oac copy
|
|
|
|
-ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=<bitrate></CODE></P>
|
2003-01-06 04:58:20 +00:00
|
|
|
<P>This is the first pass of video encoding.
|
2002-10-20 12:20:39 +00:00
|
|
|
Optionally specify the video bitrate MEncoder printed at the end of
|
2002-08-27 18:06:07 +00:00
|
|
|
the previous pass.</P></LI>
|
|
|
|
<LI>Third pass:
|
2002-11-02 05:42:11 +00:00
|
|
|
<P><CODE>mencoder <file/DVD> -oac copy
|
|
|
|
-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=<bitrate></CODE></P>
|
2003-01-06 04:58:20 +00:00
|
|
|
<P>This is the second pass of video encoding.
|
|
|
|
Specify the same bitrate as in the previous pass unless you really know
|
|
|
|
what you are doing. In this pass, audio from <CODE>frameno.avi</CODE>
|
|
|
|
will be inserted into the destination file.. and it's all ready!</P></LI>
|
2002-08-27 18:06:07 +00:00
|
|
|
</OL>
|
2002-01-28 14:01:29 +00:00
|
|
|
|
2002-08-20 00:33:04 +00:00
|
|
|
<H4>Example for 3-pass encoding:</H4>
|
2002-01-28 14:01:29 +00:00
|
|
|
|
|
|
|
<P><CODE> rm frameno.avi</CODE> - remove this file,
|
|
|
|
which can come from a previous 3-pass encoding (it interferes with current
|
|
|
|
one)<BR>
|
2003-05-25 19:29:33 +00:00
|
|
|
<CODE> mencoder dvd://2 -ovc frameno
|
2002-12-19 21:36:44 +00:00
|
|
|
-o frameno.avi -oac mp3lame -lameopts vbr=3<BR>
|
2003-05-25 19:29:33 +00:00
|
|
|
mencoder dvd://2 -ovc lavc
|
2002-12-19 21:36:44 +00:00
|
|
|
-lavcopts vcodec=mpeg4:vpass=1 -oac copy -o movie.avi<BR>
|
2003-05-25 19:29:33 +00:00
|
|
|
mencoder dvd://2 -ovc lavc
|
2002-12-19 21:36:44 +00:00
|
|
|
-lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi</CODE></P>
|
2002-01-28 14:01:29 +00:00
|
|
|
|
2003-01-09 09:37:53 +00:00
|
|
|
|
2003-01-29 21:56:07 +00:00
|
|
|
<H2><A NAME="mpeg">7.2 Encoding to MPEG format</A></H2>
|
2003-01-28 17:11:57 +00:00
|
|
|
|
|
|
|
<P>MEncoder can create MPEG (MPEG-PS) format output files. It's probably
|
|
|
|
useful only with libavcodec's <I>mpeg1video</I> codec, because players
|
|
|
|
- except MPlayer - expect MPEG1 video, and MPEG1 layer 2 (MP2) audio streams
|
|
|
|
in MPEG files.</P>
|
|
|
|
|
|
|
|
<P>This feature is not very useful right now, aside that it probably has
|
|
|
|
many bugs, but the more importantly because MEncoder currently cannot encode
|
|
|
|
MPEG1 layer 2 (MP2) audio, which all other players expect in MPEG files.</P>
|
|
|
|
|
|
|
|
<P>To change MEncoder's output file format, use the <CODE>-of mpeg</CODE>
|
|
|
|
option.</P>
|
|
|
|
|
|
|
|
<P>Example:<BR>
|
|
|
|
<CODE>mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video
|
|
|
|
-oac copy <other options> media.avi -o output.mpg</CODE></P>
|
|
|
|
|
|
|
|
|
2003-01-29 21:56:07 +00:00
|
|
|
<H2><A NAME="rescaling">7.3 Rescaling movies</A></H2>
|
2001-11-13 17:11:26 +00:00
|
|
|
|
2002-11-23 21:56:41 +00:00
|
|
|
<P>Often the need to resize movie images' size emerges. Its reasons can be
|
|
|
|
many: decreasing file size, network bandwidth, etc. Most people
|
|
|
|
even do rescaling when converting DVDs or SVCDs to DivX AVI. <B>This is bad.</B>
|
|
|
|
Instead of even you doing so, read the <A HREF="#aspect">Preserving
|
|
|
|
aspect ratio</A> section.</P>
|
2001-11-13 17:11:26 +00:00
|
|
|
|
2002-05-04 16:29:11 +00:00
|
|
|
<P>The scaling process is handled by the <I>'scale'</I> video filter:
|
2003-03-22 12:02:27 +00:00
|
|
|
<CODE>-vf scale=width:height</CODE>. Its quality can be set with the
|
2002-10-20 12:20:39 +00:00
|
|
|
<CODE>-sws</CODE> option. If it's not specified, MEncoder will use 0:
|
2002-05-04 16:29:11 +00:00
|
|
|
fast bilinear.</P>
|
2001-12-10 17:37:18 +00:00
|
|
|
|
2003-02-06 21:25:48 +00:00
|
|
|
<H4>Usage:</H4>
|
2002-11-23 21:56:41 +00:00
|
|
|
|
|
|
|
<P><CODE> mencoder input.mpg -ovc lavc -lavcopts
|
2003-03-22 12:02:27 +00:00
|
|
|
vcodec=mpeg4 -vf scale=640:480 -oac copy -o
|
2002-11-23 21:56:41 +00:00
|
|
|
output.avi</CODE></P>
|
2001-12-10 17:37:18 +00:00
|
|
|
|
2002-02-12 22:34:35 +00:00
|
|
|
|
2003-01-29 21:56:07 +00:00
|
|
|
<H2><A NAME="copying">7.4 Stream copying</A></H2>
|
2001-12-10 17:37:18 +00:00
|
|
|
|
2002-10-20 12:20:39 +00:00
|
|
|
<P>MEncoder can handle input streams in two ways: <B>encode</B> or
|
2001-12-10 17:37:18 +00:00
|
|
|
<B>copy</B> them. This section is about <B>copying</B>.</P>
|
|
|
|
|
|
|
|
<UL>
|
2002-08-10 20:26:43 +00:00
|
|
|
<LI><B>Video stream</B> (option <CODE>-ovc copy</CODE>): nice stuff can be
|
|
|
|
done :)<BR>
|
2002-08-14 12:24:01 +00:00
|
|
|
Like, putting (not converting) FLI or VIVO or MPEG1 video into
|
2002-10-20 12:20:39 +00:00
|
|
|
an AVI file. Of course only MPlayer can play such files :) And it
|
2002-08-10 20:26:43 +00:00
|
|
|
probably has no real life value at all. Rationally: video stream copying
|
|
|
|
can be useful for example when only the audio stream has to be encoded
|
|
|
|
(like, uncompressed PCM to MP3).</LI>
|
2001-12-10 17:37:18 +00:00
|
|
|
|
2002-06-14 01:44:30 +00:00
|
|
|
<LI><B>Audio stream</B> (option <CODE>-oac copy</CODE>): straightforward.
|
2003-07-14 03:41:12 +00:00
|
|
|
It is possible to take an external audio file (MP3, WAV) and mux it
|
2002-08-10 20:26:43 +00:00
|
|
|
into the output stream. Use the <CODE>-audiofile <filename></CODE>
|
|
|
|
option for this.</LI>
|
2001-12-10 17:37:18 +00:00
|
|
|
</UL>
|
|
|
|
|
2002-02-12 22:34:35 +00:00
|
|
|
|
2003-01-29 21:56:07 +00:00
|
|
|
<H2><A NAME="fixing">7.5 Fixing AVIs with broken index or interleaving</A></H2>
|
2001-12-18 17:07:21 +00:00
|
|
|
|
|
|
|
<P>Easiest thing. We simply copy the video and audio streams, and
|
2002-10-20 12:20:39 +00:00
|
|
|
MEncoder generates the index. Of course this cannot fix possible bugs
|
2002-08-10 20:26:43 +00:00
|
|
|
in the video and/or audio streams. It also fixes files with broken
|
|
|
|
interleaving, thus the <CODE>-ni</CODE> option won't be needed for them
|
|
|
|
anymore.</P>
|
2001-12-18 17:07:21 +00:00
|
|
|
|
2002-06-14 01:44:30 +00:00
|
|
|
<P>Command: <CODE>mencoder -idx input.avi -ovc copy -oac copy -o output.avi</CODE></P>
|
2001-12-18 17:07:21 +00:00
|
|
|
|
2003-02-02 21:11:59 +00:00
|
|
|
|
2003-02-02 23:56:45 +00:00
|
|
|
<H3><A NAME="appending">7.5.1 Appending multiple AVI files</A></H3>
|
|
|
|
|
2003-02-04 21:38:31 +00:00
|
|
|
<P>As a side-effect, the broken AVI fixer function enables MEncoder to append
|
|
|
|
2 (or more) AVI files:</P>
|
2003-02-02 21:11:59 +00:00
|
|
|
|
|
|
|
<P>Command: <CODE>cat 1.avi 2.avi | mencoder -noidx -ovc copy -oac copy -o output.avi -</CODE></P>
|
|
|
|
|
2003-02-04 21:38:31 +00:00
|
|
|
<P><B>Note:</B> This expects <CODE>1.avi</CODE> and <CODE>2.avi</CODE> to use the same codecs, resolution,
|
2003-02-02 23:56:45 +00:00
|
|
|
stream rate etc, and at least 1.avi must not be broken. You may need to fix
|
|
|
|
your input AVI files first, as described <A HREF="#fixing">above</A>.</P>
|
|
|
|
|
2001-12-24 23:00:07 +00:00
|
|
|
|
2003-01-29 21:56:07 +00:00
|
|
|
<H2><A NAME="libavcodec">7.6 Encoding with the libavcodec codec family</A></H2>
|
2001-12-24 23:00:07 +00:00
|
|
|
|
2002-08-04 22:13:09 +00:00
|
|
|
<P><A HREF="codecs.html#libavcodec">libavcodec</A> provides simple encoding to a
|
2002-08-10 20:26:43 +00:00
|
|
|
lot of interesting video and audio formats (currently its audio codecs are
|
|
|
|
unsupported). You can encode to the following codecs:</P>
|
2001-12-24 23:00:07 +00:00
|
|
|
|
|
|
|
<UL>
|
|
|
|
<LI>mjpeg - Motion JPEG</LI>
|
2001-12-26 21:45:23 +00:00
|
|
|
<LI>h263 - H263</LI>
|
2001-12-24 23:00:07 +00:00
|
|
|
<LI>h263p - H263 Plus</LI>
|
2003-01-12 21:24:19 +00:00
|
|
|
<LI>mpeg4 - ISO standard MPEG-4 (DivX 5, XVID compatible)</LI>
|
2003-01-06 04:58:20 +00:00
|
|
|
<LI>msmpeg4 - pre-standard MPEG-4 variant by MS, v3 (aka DivX3)</LI>
|
|
|
|
<LI>msmpeg4v2 - pre-standard MPEG-4 by MS, v2 (used in old asf files)</LI>
|
|
|
|
<LI>wmv1 - Windows Media Video, version 1 (aka WMV7)</LI>
|
2001-12-24 23:00:07 +00:00
|
|
|
<LI>rv10 - an old RealVideo codec</LI>
|
|
|
|
<LI>mpeg1video - MPEG1 video :)</LI>
|
2003-01-06 04:58:20 +00:00
|
|
|
<LI>huffyuv - lossless compression</LI>
|
2001-12-24 23:00:07 +00:00
|
|
|
</UL>
|
|
|
|
|
|
|
|
<P>The first column contains the codec names that should be passed after the
|
2002-06-14 01:44:30 +00:00
|
|
|
<CODE>vcodec</CODE> config, like: <CODE>-lavcopts vcodec=msmpeg4</CODE></P>
|
2001-12-24 23:00:07 +00:00
|
|
|
|
2002-06-14 01:44:30 +00:00
|
|
|
<P>An example, with MJPEG compression:<BR>
|
2003-05-25 19:29:33 +00:00
|
|
|
<CODE> mencoder dvd://2 -o title2.avi -ovc lavc
|
2002-10-06 20:55:38 +00:00
|
|
|
-lavcopts vcodec=mjpeg -oac copy</CODE></P>
|
2001-12-31 01:12:55 +00:00
|
|
|
|
2002-02-12 22:34:35 +00:00
|
|
|
|
2003-01-29 21:56:07 +00:00
|
|
|
<H2><A NAME="image_files">7.7 Encoding from multiple input image files (JPEGs, PNGs or TGAs)</A></H2>
|
2002-03-03 10:54:03 +00:00
|
|
|
|
2002-10-20 12:20:39 +00:00
|
|
|
<P>MEncoder is capable of creating movies from one or more JPEG, PNG or TGA
|
2002-09-10 21:59:52 +00:00
|
|
|
files. With simple framecopy it can create MJPEG (Motion JPEG), MPNG
|
|
|
|
(Motion PNG) or MTGA (Motion TGA) files.</P>
|
2002-03-03 10:54:03 +00:00
|
|
|
|
2002-08-27 18:06:07 +00:00
|
|
|
Explanation of the process:
|
2002-03-03 10:54:03 +00:00
|
|
|
|
2002-08-27 18:06:07 +00:00
|
|
|
<OL>
|
2002-10-20 12:20:39 +00:00
|
|
|
<LI>MEncoder <I>decodes</I> the input image(s) with
|
2002-10-10 01:42:27 +00:00
|
|
|
<CODE>libjpeg</CODE> (when decoding PNGs, it will use <B>libpng</B>).</LI>
|
2002-03-03 10:54:03 +00:00
|
|
|
|
2002-10-20 12:20:39 +00:00
|
|
|
<LI>MEncoder then feeds the decoded image to the chosen video compressor
|
2003-03-29 01:24:16 +00:00
|
|
|
(DivX4, XviD, ffmpeg msmpeg4, etc...).</LI>
|
2002-08-27 18:06:07 +00:00
|
|
|
</OL>
|
2002-03-03 10:54:03 +00:00
|
|
|
|
2002-08-20 00:33:04 +00:00
|
|
|
<H4>Examples</H4>
|
2002-03-03 10:54:03 +00:00
|
|
|
|
|
|
|
<P>The explanation of the <CODE>-mf</CODE> option can be found below in the
|
2003-01-28 17:11:57 +00:00
|
|
|
man page.</P>
|
2002-03-03 10:54:03 +00:00
|
|
|
|
2002-06-14 01:44:30 +00:00
|
|
|
<P><I>Creating a DivX4 file from all the JPEG files in the current dir:</I><BR>
|
2003-01-25 10:03:35 +00:00
|
|
|
<CODE>mencoder -mf on:w=800:h=600:fps=25 -ovc divx4
|
|
|
|
-o output.avi \*.jpg</CODE></P>
|
2002-03-03 10:54:03 +00:00
|
|
|
|
2002-06-14 01:44:30 +00:00
|
|
|
<P><I>Creating a DivX4 file from some JPEG files in the current dir:</I><BR>
|
2003-01-25 10:03:35 +00:00
|
|
|
<CODE>mencoder -mf on:w=800:h=600:fps=25
|
|
|
|
-ovc divx4 -o output.avi frame001.jpg,frame002.jpg</CODE></P>
|
2002-03-28 17:30:46 +00:00
|
|
|
|
2002-06-14 01:44:30 +00:00
|
|
|
<P><I>Creating a Motion JPEG (MJPEG) file from all the JPEG files in the current dir:</I><BR>
|
2003-01-25 10:03:35 +00:00
|
|
|
<CODE>mencoder -mf on:w=800:h=600:fps=25 -ovc copy
|
|
|
|
-o output.avi \*.jpg</CODE></P>
|
2002-03-03 10:54:03 +00:00
|
|
|
|
2002-06-14 01:44:30 +00:00
|
|
|
<P><I>Creating an uncompressed file from all the PNG files in the current dir:</I><BR>
|
2003-01-29 22:19:52 +00:00
|
|
|
<CODE>mencoder -mf on:w=800:h=600:fps=25:type=png -ovc rawrgb
|
2003-01-25 10:03:35 +00:00
|
|
|
-o output.avi \*.png</CODE></P>
|
2002-03-03 10:54:03 +00:00
|
|
|
|
2003-02-02 23:56:45 +00:00
|
|
|
<P><B>Note:</B> Width must be integer multiple of 4, it's a limitation of the
|
|
|
|
RAW RGB AVI format.</P>
|
2003-02-02 21:11:59 +00:00
|
|
|
|
2002-06-14 01:44:30 +00:00
|
|
|
<P><I>Creating a Motion PNG (MPNG) file from all the PNG files in the current dir:</I><BR>
|
2003-01-25 10:03:35 +00:00
|
|
|
<CODE>mencoder -mf on:w=800:h=600:fps=25:type=png -ovc copy
|
|
|
|
-o output.avi \*.png</CODE></P>
|
2002-03-03 10:54:03 +00:00
|
|
|
|
2002-09-10 21:59:52 +00:00
|
|
|
<P><I>Creating a Motion TGA (MTGA) file from all the TGA files in the current dir:</I><BR>
|
2003-01-25 10:03:35 +00:00
|
|
|
<CODE>mencoder -mf on:w=800:h=600:fps=25:type=tga -ovc copy
|
|
|
|
-o output.avi \*.tga</CODE></P>
|
2002-09-10 21:59:52 +00:00
|
|
|
|
2002-03-03 10:54:03 +00:00
|
|
|
|
2003-01-29 21:56:07 +00:00
|
|
|
<H2><A NAME="vobsub">7.8 Extracting DVD subtitles to a Vobsub file</A></H2>
|
2002-07-11 21:47:16 +00:00
|
|
|
|
2002-10-20 12:20:39 +00:00
|
|
|
<P>MEncoder is capable of extracting subtitles from a DVD into
|
2002-08-10 20:26:43 +00:00
|
|
|
Vobsub fomat files. They consist of a pair of files ending in
|
|
|
|
<CODE>.idx</CODE> and <CODE>.sub</CODE> and are usually packaged in a single
|
2002-10-20 12:20:39 +00:00
|
|
|
<CODE>.rar</CODE> archive. MPlayer can play these with the
|
2002-08-10 20:26:43 +00:00
|
|
|
<CODE>-vobsub</CODE> and <CODE>-vobsubid</CODE> options.</P>
|
2002-07-11 21:47:16 +00:00
|
|
|
|
2002-07-13 14:23:36 +00:00
|
|
|
<P>You specify the basename (i.e without the <CODE>.idx</CODE> or
|
2002-08-10 20:26:43 +00:00
|
|
|
<CODE>.sub</CODE> extension) of the output files with <CODE>-vobsubout</CODE>
|
|
|
|
and the index for this subtitle in the resulting files with
|
|
|
|
<CODE>-vobsuboutindex</CODE>.</P>
|
2002-07-11 21:47:16 +00:00
|
|
|
|
2002-07-13 14:23:36 +00:00
|
|
|
<P>If the input is not from a DVD you should use <CODE>-ifo</CODE> to
|
2002-08-10 20:26:43 +00:00
|
|
|
indicate the <CODE>.ifo</CODE> file needed to construct the resulting
|
|
|
|
<CODE>.idx</CODE> file.</P>
|
2002-07-11 21:47:16 +00:00
|
|
|
|
2002-08-10 20:26:43 +00:00
|
|
|
<P>If the input is not from a DVD and you do not have the <CODE>.ifo</CODE>
|
|
|
|
file you will need to use the <CODE>-vobsubid</CODE> option to let it know
|
|
|
|
what language id to put in the <CODE>.idx</CODE> file.</P>
|
2002-07-11 21:47:16 +00:00
|
|
|
|
2002-07-13 14:23:36 +00:00
|
|
|
<P>Each run will append the running subtitle if the <CODE>.idx</CODE> and
|
2002-08-10 20:26:43 +00:00
|
|
|
<CODE>.sub</CODE> files already exist. So you should remove any before
|
|
|
|
starting.</P>
|
2002-07-11 21:47:16 +00:00
|
|
|
|
2002-08-20 00:33:04 +00:00
|
|
|
<H4>Examples</H4>
|
2002-07-11 21:47:16 +00:00
|
|
|
|
|
|
|
<P><I>Copying two subtitles from a DVD while doing 3-pass encoding</I><BR>
|
2002-08-10 20:26:43 +00:00
|
|
|
<CODE>rm subtitles.idx subtitles.sub</CODE><BR>
|
2003-05-25 19:29:33 +00:00
|
|
|
<CODE>mencoder dvd://1 -vobsubout subtitles -vobsuboutindex 0
|
2002-10-06 20:55:38 +00:00
|
|
|
-sid 2 -o frameno.avi -ovc frameno -oac mp3lame -lameopts vbr=3</CODE><BR>
|
2003-05-25 19:29:33 +00:00
|
|
|
<CODE>mencoder dvd://1 -oac copy -ovc divx4 -divx4opts pass=1</CODE><BR>
|
|
|
|
<CODE>mencoder dvd://1 -oac copy -ovc divx4 -divx4opts pass=2 -vobsubout
|
2002-08-10 20:26:43 +00:00
|
|
|
subtitles -vobsuboutindex 1 -sid 5</CODE></P>
|
2002-07-11 21:47:16 +00:00
|
|
|
|
|
|
|
<P><I>Copying a french subtitle from an MPEG file</I><BR>
|
2002-08-10 20:26:43 +00:00
|
|
|
<CODE>rm subtitles.idx subtitles.sub</CODE><BR>
|
|
|
|
<CODE>mencoder movie.mpg -ifo movie.ifo -vobsubout subtitles
|
|
|
|
-vobsuboutindex 0 -vobsuboutid fr -sid 1</CODE></P>
|
2002-07-11 21:47:16 +00:00
|
|
|
|
2002-08-20 00:33:04 +00:00
|
|
|
|
2003-01-29 21:56:07 +00:00
|
|
|
<H2><A NAME="aspect">7.9 Preserving aspect ratio</A></H2>
|
2002-11-23 21:56:41 +00:00
|
|
|
|
|
|
|
<P>DVDs and SVCDs (i.e. MPEG1/2) files contain an aspect ratio value,
|
2003-05-04 23:21:24 +00:00
|
|
|
which describes how the player should scale the video stream, so humans
|
2002-11-23 21:56:41 +00:00
|
|
|
won't have egg heads (ex.: 480x480 + 4:3 = 640x480). However when encoding
|
|
|
|
to AVI (DivX) files, you have be aware that AVI headers don't store this
|
|
|
|
value. Rescaling the movie is disgusting and time consuming, there
|
2003-05-04 23:21:24 +00:00
|
|
|
has to be a better way!</P>
|
2002-11-23 21:56:41 +00:00
|
|
|
|
|
|
|
<P>There is.</P>
|
|
|
|
|
|
|
|
<P>MPEG4 has an unique feature: the video stream can contain
|
|
|
|
its needed aspect ratio. Yes, just like MPEG1/2 files (DVD, SVCD).
|
|
|
|
Regretfully, there are <U>no</U> video players outside which support this
|
|
|
|
attribute. Except MPlayer.</P>
|
|
|
|
|
|
|
|
<P>This feature can be used only with <B>libavcodec</B>'s <CODE>mpeg4</CODE>
|
|
|
|
codec. Keep in mind: although MPlayer will correctly play the created file,
|
|
|
|
other players will use the wrong aspect ratio.</P>
|
|
|
|
|
|
|
|
<P>You seriously should crop the black bands over and below the movie image.
|
2003-05-04 23:21:24 +00:00
|
|
|
See the man page for the usage of the <CODE>cropdetect</CODE> and
|
2002-12-07 21:34:29 +00:00
|
|
|
<CODE>crop</CODE> filters.</P>
|
2002-11-23 21:56:41 +00:00
|
|
|
|
2003-02-06 21:25:48 +00:00
|
|
|
<H4>Usage:</H4>
|
2002-11-23 21:56:41 +00:00
|
|
|
|
|
|
|
<P><CODE>$ mencoder sample-svcd.mpg -ovc lavc -lavcopts
|
2003-05-04 23:21:24 +00:00
|
|
|
vcodec=mpeg4:autoaspect -vf crop=714:548:0:14 -oac copy -o output.avi</CODE></P>
|
2002-11-23 21:56:41 +00:00
|
|
|
|
2001-11-04 11:20:11 +00:00
|
|
|
</BODY>
|
|
|
|
</HTML>
|