Mercurial > mplayer.hg
annotate DOCS/encoding.html @ 3027:7b85ba8c9be5
mostly fixes, some updates
| author | gabucino |
|---|---|
| date | Tue, 20 Nov 2001 14:19:31 +0000 |
| parents | 20157c719b2c |
| children | 75820a3febac |
| rev | line source |
|---|---|
| 2674 | 1 <HTML> |
| 2 <BODY BGCOLOR=white> | |
| 3 | |
| 4 <FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> | |
| 5 | |
| 2745 | 6 <P><B><A NAME=2.4>2.4. Encoding with MEncoder</A></B></P> |
| 2674 | 7 |
| 8 <P><B><I>Overview</I></B> | |
| 9 <P><B>MEncoder</B> (<B>MPlayer</B>'s Movie Encoder) is a simple movie encoder, | |
| 10 designed to encode MPlayer-playable movies | |
| 11 (<B>AVI/DVD/VCD/VOB/MPG/MOV/VIV/NET</B>) to other MPlayer-playable formats (see | |
| 12 below). Currently it's in beta stage, and encodes only to <B>DivX4</B> (1 or 2 | |
| 13 passes) video, <B>PCM</B>/<B>MP3</B>/<B>VBRMP3</B> audio. Also has stream | |
| 14 copying abilities. In the future, there will be cropping, resizing filters, and | |
| 15 other interesting stuff.</P> | |
| 16 | |
| 17 <P><B><I>Compiling</I></B> | |
| 18 <UL> | |
| 19 <LI>read <B>MPlayer</B>'s compilation instructions, it contains info about | |
| 3027 | 20 how to install <I>libdvdread</I> for <B>DVD</B> support, etc.</LI> |
| 2674 | 21 <LI>download the newest <B>DivX4linux</B> libs |
| 3027 | 22 from <A HREF="http://avifile.sourceforge.net/download.htm">avifile.sourceforge.net</A>, |
| 23 and have them PROPERLY installed. This is needed for DivX4 (1/2 pass) | |
| 24 encoding. And since this is mandatory (now), MEncoder is Linux-only.</LI> | |
| 2674 | 25 <LI>download and install <B>libmp3lame</B> (from lame 3.89beta or lame CVS). This |
| 3027 | 26 is needed for CBR/VBR MP3 audio encoding ability. Note that a single |
| 27 <CODE>lame</CODE> binary isn't sufficient. BTW: the less optimization | |
| 28 you use for lame, the better the quality will be. You can test | |
| 29 quality by running <CODE>make test</CODE> after lame's compiling process | |
| 30 is over. The resulting number should be less than <B>30</B>. Don't | |
| 31 panic if it's <B>400</B> or so, you shouldn't heard any audible | |
| 32 quality decrease. Oh, and if your compiler doesn't even run <CODE>make test</CODE> ... | |
| 33 Well, delete that <B>GCC 2.96</B>.</LI> | |
|
2950
20157c719b2c
new features in TV input dox (chan, chanlist, norm, keys)
gabucino
parents:
2939
diff
changeset
|
34 <LI>use <CODE>./configure</CODE> with optional parameters as usual |
| 3027 | 35 (use <CODE>--enable-tv</CODE> to include V4L tuner grabbing code), and |
| 36 type : <CODE>make mencoder</CODE> , then <CODE>make install</CODE>.</LI> | |
| 2674 | 37 </UL> |
| 38 </P> | |
| 39 | |
| 40 <P>You are ready. As you probably know, other encoding tools need the | |
| 41 <I>avifile</I> library installed. <B>MEncoder</B> doesn't need it at all.</P> | |
| 42 | |
| 43 <P><B><I>MEncoder features</I></B> : | |
| 44 <UL> | |
| 2868 | 45 <LI>encoding from the wide range of fileformats and decoders of <B>MPlayer</B></LI> |
| 46 <LI>encoding from <B>V4L compatible TV tuners</B></LI> | |
| 2674 | 47 <LI>encoding/multiplexing to interleaved AVI files with proper index</LI> |
| 48 <LI>1 or 2 pass <B>DivX4</B> video</LI> | |
| 49 <LI><B>VBR</B> MP3 audio</LI> | |
| 50 <LI>PCM audio</LI> | |
| 51 <LI>stream copying (only from AVI/ASF now, and CBR audio only)</LI> | |
| 52 <LI>input A/V synchronizing (PTS-based, can be disabled with -mc 0 option)</LI> | |
| 53 <LI>FPS correction with <CODE>-ofps</CODE> option (useful when encoding | |
| 54 29.97fps VOB to 24fps AVI)</LI> | |
| 55 </UL> | |
| 56 </P> | |
| 57 | |
| 58 <P><B><I>Planned features</I></B> : | |
| 59 <UL> | |
| 60 <LI>using audio from separate file (AC3, MP3, OGG)</LI> | |
| 61 <LI>VBR audio stream copy</LI> | |
| 62 <LI>even wider variety of available en/decoding formats/codecs | |
| 63 (creating VOB files with DivX4/Indeo5/VIVO streams :)</LI> | |
| 64 </UL> | |
| 65 </P> | |
| 66 | |
|
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2745
diff
changeset
|
67 <P><B><I>Encoding 2-pass DivX4</I></B></P> |
|
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2745
diff
changeset
|
68 |
|
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2745
diff
changeset
|
69 <P>The name comes from the fact that this method encodes the file <I>twice</I>. |
| 3027 | 70 The first encoding (dubbed <I>pass</I>) creates some temporary files with a |
| 71 size of few megabytes (do not delete them yet). In the second pass, the output | |
| 72 file is created, using the bitrate data from the temporary file. The resulting | |
| 73 file will have much better image quality. If this is the first time you heard | |
| 74 about this, you should consult some guides available on the Net.</P> | |
|
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2745
diff
changeset
|
75 |
|
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2745
diff
changeset
|
76 <P>This example shows how to encode a DVD to a 2-pass DivX4 AVI. Just two |
|
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2745
diff
changeset
|
77 commands are needed :<BR> |
| 2907 | 78 <CODE> mencoder -dvd 2 -ovc divx4 -oac mp3lame -divx4opts br=1100 |
|
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2745
diff
changeset
|
79 -o movie.avi -pass 1<BR> |
| 2907 | 80 mencoder -dvd 2 -ovc divx4 -oac mp3lame -divx4opts br=1100 -o movie.avi -pass 2</CODE></P> |
| 2868 | 81 |
| 82 <P><B><I>Syntax</I></B></P> | |
| 83 | |
| 84 <P> <CODE>mencoder [options] <input file> [options] ...</P> | |
| 85 | |
| 86 <P><B><I>Available options</I></B></P> | |
| 87 | |
| 88 <P>NOTE : for all available options, <B>read the manpage !</B></P> | |
| 89 | |
| 90 <TABLE BORDER=0> | |
| 91 <TR> | |
| 92 <TD> </TD> | |
| 93 <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> | |
| 94 <I>-o</I> filename</TD> | |
| 95 <TD> </TD> | |
| 96 <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> | |
| 97 specify output filename | |
| 98 </TD> | |
| 99 </TR> | |
| 100 <TR> | |
| 101 <TD> </TD> | |
| 102 <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> | |
| 103 <I>-ovc</I> codecname</TD> | |
| 104 <TD> </TD> | |
| 105 <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> | |
| 106 Encode with the given codec (codec names are from codecs.conf). Examples:<BR> | |
| 107 <B>help</B> - get list of available codecs<BR> | |
| 108 <B>copy</B> - no encoding, just copy the stream (only from AVI/ASF now)<BR> | |
| 109 <B>divx4</B> - encode to DivX4<BR> | |
| 110 </TD> | |
| 111 </TR> | |
| 112 <TR> | |
| 113 <TD> </TD> | |
| 114 <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> | |
| 115 <I>-oac</I> codecname</TD> | |
| 116 <TD> </TD> | |
| 117 <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> | |
| 118 Encode with the given codec (codec names are from codecs.conf). Examples:<BR> | |
| 119 <B>help</B> - get list of available codecs<BR> | |
| 120 <B>copy</B> - no encoding, just copy the stream (only from AVI/ASF now)<BR> | |
| 121 <B>pcm</B> - encode to uncompressed PCM<BR> | |
| 122 <B>mp3lame</B> - encode to MP3 (using Lame)<BR> | |
| 123 </TD> | |
| 124 </TR> | |
| 125 <TR> | |
| 126 <TD> </TD> | |
| 127 <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> | |
| 128 <I>-divx4opts</I></TD> | |
| 129 <TD> </TD> | |
| 130 <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> | |
| 131 If encoding to DivX4, you can specify its parameters here, like:<BR> | |
| 132 <CODE>-divx4opts br=1800:deinterlace:key=250</CODE><BR> | |
| 133 Common options: <B>(for full list, check the manpage!)</B><BR> | |
| 134 <B>help</B> - get help<BR> | |
| 135 <B>br</B>=XXX - specify bitrate in kbit <4-16000> or bit <16001-24000000><BR> | |
| 136 <B>q</B>=XXXX - quality (1-fastest, 5-best - default 5)<BR> | |
| 137 </TD> | |
| 138 </TR> | |
| 139 <TR> | |
| 140 <TD> </TD> | |
| 141 <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> | |
| 142 <I>-lameopts</I></TD> | |
| 143 <TD> </TD> | |
| 144 <TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2> | |
| 145 If encoding to MP3 with libmp3lame, you can specify its parameters here, like:<BR> | |
| 146 <CODE>-lameopts q=3</CODE><BR> | |
| 147 <CODE>-lameopts br=192:cbr</CODE><BR> | |
| 148 Common options: <B>(for full list, check the manpage!)</B><BR> | |
| 149 <B>help</B> - get help<BR> | |
| 150 <B>cbr</B> - select <B>CBR</B> MP3 (default is <B>VBR</B>)<BR> | |
| 151 <B>br</B>=XXX - specify bitrate in kbit <0-1024> (this is for <B>CBR</B> only!)<BR> | |
| 152 <B>q</B>=XXXX - quality (0-highest, 9-fastest - default 0) (this is for <B>VBR</B> only!)<BR> | |
| 153 </TD> | |
| 154 </TR> | |
| 155 </TABLE> | |
|
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2745
diff
changeset
|
156 |
| 2674 | 157 <P><B><I>Examples</I></B></P> |
| 158 | |
| 159 <P>Using <B>MEncoder</B> is the easiest thing on Earth. See the following :</P> | |
| 160 | |
| 161 <P>Encoding from DVD, title 2 :<BR> | |
| 162 <CODE> mencoder -dvd 2 -o title2.avi</CODE></P> | |
| 163 | |
| 164 <P>Encoding from HTTP :<BR> | |
| 165 <CODE> mencoder http://mplayer.hq/example.avi -o example.avi</CODE></P> | |
| 166 | |
|
2874
632032ff27bf
patch applied from Colin Marquardt <colin@marquardt-home.de>
gabucino
parents:
2868
diff
changeset
|
167 <P>Encoding from a pipe :<BR> |
| 2674 | 168 <CODE> rar p test-SVCD.rar | mencoder -divx4opts br=800 -ofps 24 -pass 1 -- -</CODE></P> |
| 169 | |
|
2874
632032ff27bf
patch applied from Colin Marquardt <colin@marquardt-home.de>
gabucino
parents:
2868
diff
changeset
|
170 <P>Encoding multiple *.vob files :<BR> |
|
632032ff27bf
patch applied from Colin Marquardt <colin@marquardt-home.de>
gabucino
parents:
2868
diff
changeset
|
171 <CODE> cat *.vob | mencoder <options> -</CODE></P> |
|
632032ff27bf
patch applied from Colin Marquardt <colin@marquardt-home.de>
gabucino
parents:
2868
diff
changeset
|
172 |
|
2950
20157c719b2c
new features in TV input dox (chan, chanlist, norm, keys)
gabucino
parents:
2939
diff
changeset
|
173 <P>Encoding from tuner (for tuner options <A HREF="documentation.html#2.5">see the TV input section !</A>) :<BR> |
|
20157c719b2c
new features in TV input dox (chan, chanlist, norm, keys)
gabucino
parents:
2939
diff
changeset
|
174 <CODE> mencoder -tv on:driver=v4l:width=640:height=480 <options> -</CODE></P> |
|
20157c719b2c
new features in TV input dox (chan, chanlist, norm, keys)
gabucino
parents:
2939
diff
changeset
|
175 |
| 2674 | 176 <P>For all available options, <B><I>check the MEncoder man page !</I></B> |
| 177 <P> | |
| 178 </FONT> | |
| 179 </BODY> | |
| 180 </HTML> |
