Mercurial > mplayer.hg
annotate DOCS/encoding.html @ 6980:7e23c06a58b9
HTML restructured. Now using definition lists instead of tables.
Content not changed.
author | diego |
---|---|
date | Sun, 11 Aug 2002 22:24:26 +0000 |
parents | 916f62dd0910 |
children | 83a386e88f9e |
rev | line source |
---|---|
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
2674 | 2 <HTML> |
4982
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4919
diff
changeset
|
3 |
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4919
diff
changeset
|
4 <HEAD> |
6882
f3f87f6bf5cf
Added a uniform title: something - MPlayer - The Movie Player for Linux.
diego
parents:
6724
diff
changeset
|
5 <TITLE>Encoding - MEncoder - The Movie Encoder for Linux</TITLE> |
6391 | 6 <LINK REL="stylesheet" TYPE="text/css" HREF="default.css"> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
7 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> |
4982
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4919
diff
changeset
|
8 </HEAD> |
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4919
diff
changeset
|
9 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
10 <BODY> |
2674 | 11 |
12 | |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
13 <P><B><A NAME="encoding">2.4 Encoding with MEncoder</A></B></P> |
2674 | 14 |
6974 | 15 |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
16 <P><B><A NAME="overview">2.4.1 Overview</A></B></P> |
3721 | 17 |
2674 | 18 <P><B>MEncoder</B> (<B>MPlayer</B>'s Movie Encoder) is a simple movie encoder, |
6960 | 19 designed to encode MPlayer-playable movies |
20 (<B>AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET</B>) to other | |
21 MPlayer-playable formats (see below). It can encode with various codecs, like | |
22 <B>DivX4</B> (1 or 2 passes), libavcodec, | |
23 <B>PCM</B>/<B>MP3</B>/<B>VBR MP3</B> audio. Also has powerful plugin system | |
24 for video manipulation.</P> | |
2674 | 25 |
6974 | 26 |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
27 <P><B><A NAME="compilation">2.4.2 Compilation</A></B></P> |
3721 | 28 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
29 <UL> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
30 <LI><B>OPTIONAL</B> - read <B>MPlayer</B>'s compilation instruction.</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
31 <LI><B>OPTIONAL (LINUX ONLY)</B> - download the newest <B>DivX4linux</B> libs |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
32 from <A HREF="http://avifile.sourceforge.net/download.htm">avifile.sourceforge.net</A>, |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
33 and have them PROPERLY installed. You need them if you want DivX4 |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
34 (1/2 pass) encoding.</LI> |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
35 <LI><B>OPTIONAL</B> - <A HREF="codecs.html#xvid">download and install |
6583 | 36 <B>XViD</B></A>. Not very useful, libavcodec's <I>mpeg4</I> codec |
37 can encode with much better speed AND quality than XViD or DivX4/5.</LI> | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
38 <LI><B>OPTIONAL</B> - for libavcodec support, install libavcodec as |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
39 described in the <A HREF="codecs.html#libavcodec">libavcodec section</A>.</LI> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
40 <LI><B>OPTIONAL</B> - download and compile <B>libmp3lame</B> (from lame 3.89beta or lame CVS).<BR> |
6575 | 41 <B>WARNING: DO NOT COMPILE LAME < 3.90 WITH <U>GCC 2.96</U>! It won't |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
42 work properly!</B><BR> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
43 This |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
44 is needed for CBR/VBR MP3 audio encoding ability. Note that a single |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
45 <CODE>lame</CODE> binary isn't sufficient. BTW: the less optimization |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
46 you use for lame, the better the quality will be. You can test |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
47 quality by running <CODE>make test</CODE> after lame's compiling process |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
48 is over. The resulting number should be less than <B>30</B>. Don't |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
49 panic if it's <B>400</B> or so, you shouldn't heard any audible |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
50 quality decrease. Oh, and if your compiler doesn't even run <CODE>make test</CODE> ... |
6575 | 51 Well, delete that <B>GCC 2.96</B> or upgrade lame to at least <B>3.90</B>.</LI> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
52 <LI><B>OPTIONAL</B> - <CODE>libjpeg</CODE> and <CODE>libpng</CODE> - |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
53 as described in the <A HREF="documentation.html#installation">Installation</A> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
54 section</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
55 </UL> |
2674 | 56 |
57 <P>You are ready. As you probably know, other encoding tools need the | |
6960 | 58 <I>avifile</I> library installed. <B>MEncoder</B> doesn't need it at all.</P> |
2674 | 59 |
6974 | 60 |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
61 <P><B><A NAME="features">2.4.3 MEncoder features</A></B></P> |
3721 | 62 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
63 <UL> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
64 <LI>encoding from the wide range of fileformats and decoders of <B>MPlayer</B></LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
65 <LI>encoding to all the codecs of ffmpeg's |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
66 <A HREF="codecs.html#libavcodec">libavcodec</A></LI> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
67 <LI>video encoding from <B>V4L compatible TV tuners</B></LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
68 <LI>encoding/multiplexing to interleaved AVI files with proper index</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
69 <LI>creating files from external audio stream</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
70 <LI>1, 2 or 3 pass <B>DivX4</B> video</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
71 <LI><B>VBR</B> MP3 audio - <B>IMPORTANT NOTE:</B> VBR MP3 audio doesn't |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
72 always play nicely on windows players! On the other hand, currently |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
73 <B>MEncoder</B>'s CBR encoding is totally broken on win32 players :)</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
74 <LI>PCM audio</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
75 <LI>stream copying</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
76 <LI>input A/V synchronizing (PTS-based, can be disabled with -mc 0 option)</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
77 <LI>FPS correction with <CODE>-ofps</CODE> option (useful when encoding |
6960 | 78 29.97fps VOB to 24fps AVI)</LI> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
79 <LI>using our very powerful plugin system (crop, expand, flip, postprocess, |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
80 rotate, scale, rgb/yuv conversion)</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
81 <LI>can encode DVD/VOBsub <B>AND</B> text subtitles into the output file</LI> |
6711 | 82 <LI>can rip DVD subtitles to Vobsub format</LI> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
83 </UL> |
2674 | 84 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
85 <B>Planned features:</B> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
86 <UL> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
87 <LI>even wider variety of available en/decoding formats/codecs |
6960 | 88 (creating VOB files with DivX4/Indeo5/VIVO streams :)</LI> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
89 <LI>audio encoding from v4l (DONE for FreeBSD ?)</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
90 </UL> |
2674 | 91 |
6974 | 92 |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
93 <P><B><A NAME="2pass">2.4.3.1 Encoding 2 or 3-pass DivX4</A></B></P> |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2745
diff
changeset
|
94 |
6960 | 95 <P><U><B>2-pass encoding:</B></U> the name comes from the fact that this method |
96 encodes the file <I>twice</I>. The first encoding (dubbed <I>pass</I>) | |
97 creates some temporary files (*.log) with a size of few megabytes, do not | |
98 delete them yet (you can delete the AVI). In the second pass, the 2-pass | |
99 output file is created, using the bitrate data from the temporary files. The | |
100 resulting file will have much better image quality. If this is the first time | |
101 you heard about this, you should consult some guides available on the | |
102 Net.</P> | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2745
diff
changeset
|
103 |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2745
diff
changeset
|
104 <P>This example shows how to encode a DVD to a 2-pass DivX4 AVI. Just two |
6960 | 105 commands are needed:<BR> |
106 <CODE> rm frameno.avi</CODE> - remove this file, which | |
107 can come from a previous 3-pass encoding (it interferes with current | |
108 one)<BR> | |
109 <CODE> mencoder -dvd 2 -lavcopts | |
110 -vcodec=mpeg4:more_options -o movie.avi -pass 1<BR> | |
111 mencoder -dvd 2 -lavcopts vcodec=mpeg4:more_options | |
112 -o movie.avi -pass 2</CODE></P> | |
4397 | 113 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
114 <P><U><B>3-pass encoding:</B></U> this is an extension of 2-pass encoding, |
4397 | 115 where the audio encoding takes place in a separate pass. This method enables |
116 estimation of recommended video bitrate in order to fit on a CD. Also, the | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
117 audio is encoded only once, unlike in 2-pass mode. The schematics:</P> |
4397 | 118 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
119 <TABLE> |
6974 | 120 <TR> |
121 <TD><CODE>rm frameno.avi</CODE></TD> | |
122 <TD><B>remove conflicting temporary file</B></TD> | |
123 </TR> | |
124 <TR> | |
125 <TD><CODE>mencoder <file/DVD> -ovc frameno -o | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
126 frameno.avi</CODE></TD> |
6974 | 127 <TD><B><U>First pass:</U> an audio-only avi file will be created, containing |
128 ONLY the requested audio stream. Don't forget <CODE>-lameopts</CODE>, if | |
129 you need to set it. If you were encoding a long movie, MEncoder prints | |
130 the recommended bitrate values for 650Mb, 700Mb, and 800Mb destination | |
131 sizes, after this pass finishes.</B></TD> | |
132 </TR> | |
133 <TR> | |
134 <TD><CODE>mencoder <file/DVD> -oac copy -pass 1 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
135 -ovc divx4 -divx4opts br=<bitrate></CODE></TD> |
6974 | 136 <TD><B><U>Second pass:</U> alias the first pass of DivX4 video encoding. |
137 Optionally specify the video bitrate MEncoder printed at the end of the | |
138 previous pass.</B></TD> | |
139 </TR> | |
140 <TR> | |
141 <TD><CODE>mencoder <file/DVD> -oac copy -pass 2 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
142 -ovc divx4 -divx4opts br=<bitrate></CODE></TD> |
6974 | 143 <TD><B><U>Third pass:</U> alias the second pass of DivX4 video encoding. |
144 Optionally specify the video bitrate MEncoder printed at the end of the | |
145 previous pass. In this pass, audio from <CODE>frameno.avi</CODE> will be | |
146 inserted into the destination file.. and it's all ready!</B></TD> | |
147 </TR> | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
148 </TABLE> |
4397 | 149 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
150 <P><B>Example for 3-pass encoding:</B></P> |
4397 | 151 |
152 <P><CODE> rm frameno.avi</CODE> - remove this file, | |
153 which can come from a previous 3-pass encoding (it interferes with current | |
154 one)<BR> | |
6960 | 155 <CODE> mencoder -dvd 2 -ovc frameno |
156 -o frameno.avi<BR> | |
157 mencoder -dvd 2 | |
158 -lavcopts vcodec=mpeg4:more_options -oac copy -o movie.avi -pass 1<BR> | |
159 mencoder -dvd 2 | |
6974 | 160 -lavcopts vcodec=mpeg4:more_options -oac copy -o movie.avi -pass 2</CODE></P> |
4397 | 161 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
162 <P><U><B>2 or 3-pass encoding using internal libavcodec controller:</B></U> |
6960 | 163 Optionally you can use libavcodec's internal 2 or 3-pass mode, it may give |
164 you better final rate accuracy than using the external, DivX4-inspired 2-pass | |
165 rate controler with libavcodec.</P> | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
166 |
5811 | 167 <UL> |
6960 | 168 <LI><B>2-pass encoding:</B><BR> |
169 <CODE>rm -f lavc_stats.txt<BR> | |
170 mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 (audio-options) -o | |
171 movie.avi<BR> | |
172 mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 (audio-options) -o | |
173 movie.avi</CODE></LI> | |
174 <LI><B>3-pass encoding:</B><BR> | |
175 <CODE>rm -f frameno.avi lavc_stats.txt<BR> | |
176 mencoder -dvd 2 -ovc frameno (audio-options) -o frameno.avi<BR> | |
177 mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o | |
178 movie.avi<BR> | |
179 mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o | |
180 movie.avi</CODE></LI> | |
5811 | 181 </UL> |
2868 | 182 |
6974 | 183 |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
184 <P><B><A NAME="rescaling">2.4.3.2 Rescaling movies</A></B></P> |
3438 | 185 |
186 <P>Often the need to resize movie images' size emerges. Its reasons can be many, | |
187 examples are decreasing output file size, encoding SVCDs to DivX. Ripped DVDs | |
188 are mostly rescaled, for example a 4:3 DVD should be 640x480, especially | |
189 when you want it to fit to 1 CD, and have good quality at the same time. | |
190 SVCDs have 480x480 size, and their header contains the aspect ratio the | |
191 player should use (Ex.: 480x480 + 4:3 = 640x480). However when encoding to | |
192 AVI (DivX) files, you have be aware that AVI headers don't store this | |
193 value. Thus, the only solution is rescaling.</P> | |
194 | |
5968 | 195 <P>The scaling process is handled by the <I>'scale'</I> video filter: |
196 <CODE>-vop scale=X:Y</CODE>. Its quality can be set with the | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
197 <CODE>-sws</CODE> option. If it's not specified, <B>MEncoder</B> will use 0: |
5968 | 198 fast bilinear.</P> |
3438 | 199 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
200 <P>Usage:<BR> |
6960 | 201 <CODE> mencoder sample-svcd.mpg -lavcopts |
202 vcodec=mpeg4:more_options -vop scale=640:480 -sws 2 -o | |
203 output.avi</CODE></P> | |
3438 | 204 |
4680 | 205 |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
206 <P><B><A NAME="copying">2.4.3.3 Stream copying</A></B></P> |
2868 | 207 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
208 <P><B>MEncoder</B> can handle input streams in two ways: <B>encode</B> or |
3438 | 209 <B>copy</B> them. This section is about <B>copying</B>.</P> |
2868 | 210 |
3438 | 211 <UL> |
6960 | 212 <LI><B>Video stream</B> (option <CODE>-ovc copy</CODE>): nice stuff can be |
213 done :)<BR> | |
214 Like, putting (not converting!) FLI or VIVO or MPEG1 video into | |
215 an AVI file! Of course only <B>MPlayer</B> can play such files :) And it | |
216 probably has no real life value at all. Rationally: video stream copying | |
217 can be useful for example when only the audio stream has to be encoded | |
218 (like, uncompressed PCM to MP3).</LI> | |
3438 | 219 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
220 <LI><B>Audio stream</B> (option <CODE>-oac copy</CODE>): straightforward. |
6960 | 221 It is possible to take an external audio file (MP3, Vorbis) and mux it |
222 into the output stream. Use the <CODE>-audiofile <filename></CODE> | |
223 option for this.</LI> | |
3438 | 224 </UL> |
225 | |
4680 | 226 |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
227 <P><B><A NAME="fixing">2.4.3.4 Fixing AVIs with broken index or interleaving</A></B></P> |
3583 | 228 |
229 <P>Easiest thing. We simply copy the video and audio streams, and | |
6960 | 230 <B>MEncoder</B> generates the index. Of course this cannot fix possible bugs |
231 in the video and/or audio streams. It also fixes files with broken | |
232 interleaving, thus the <CODE>-ni</CODE> option won't be needed for them | |
233 anymore.</P> | |
3583 | 234 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
235 <P>Command: <CODE>mencoder -idx input.avi -ovc copy -oac copy -o output.avi</CODE></P> |
3583 | 236 |
3721 | 237 |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
238 <P><B><A NAME="libavcodec">2.4.3.5 Encoding with the libavcodec codec family</A></B></P> |
3721 | 239 |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
240 <P><A HREF="codecs.html#libavcodec">libavcodec</A> provides simple encoding to a |
6960 | 241 lot of interesting video and audio formats (currently its audio codecs are |
242 unsupported). You can encode to the following codecs:</P> | |
3721 | 243 |
244 <UL> | |
245 <LI>mjpeg - Motion JPEG</LI> | |
3774 | 246 <LI>h263 - H263</LI> |
3721 | 247 <LI>h263p - H263 Plus</LI> |
248 <LI>mpeg4 - DivX4</LI> | |
249 <LI>msmpeg4 - the old DivX</LI> | |
5973 | 250 <LI>msmpeg4v2 - Micro$oft MPEG4 V2 (DivX alias MP43 predecessor)</LI> |
3721 | 251 <LI>rv10 - an old RealVideo codec</LI> |
252 <LI>mpeg1video - MPEG1 video :)</LI> | |
253 </UL> | |
254 | |
255 <P>The first column contains the codec names that should be passed after the | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
256 <CODE>vcodec</CODE> config, like: <CODE>-lavcopts vcodec=msmpeg4</CODE></P> |
3721 | 257 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
258 <P>An example, with MJPEG compression:<BR> |
6960 | 259 <CODE> mencoder -dvd 2 -o title2.avi -ovc lavc |
260 -lavcopts vcodec=mjpeg</CODE></P> | |
3912 | 261 |
4680 | 262 |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
263 <P><B><A NAME="image_files">2.4.3.6 Encoding from multiple input image files (JPEGs or PNGs)</A></B></P> |
4919 | 264 |
265 <P><B>MEncoder</B> is capable of creating movies from one or more JPEG or PNG | |
266 files. With simple framecopy it can create MJPEG (Motion JPEG) or MPNG | |
267 (Motion PNG) files.</P> | |
268 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
269 <P><B>Explanation of the process</B></P> |
4919 | 270 |
5066 | 271 <P><B>MEncoder</B> <I>decodes</I> the input image(s) with <CODE>libjpeg</CODE> |
6974 | 272 (when decoding PNGs, it will use <B>libpng</B>).</P> |
4919 | 273 |
274 <P><B>MEncoder</B> then feeds the decoded image to the chosen video compressor | |
275 (DivX4, Xvid, ffmpeg msmpeg4, etc...). Watch for the PNG decoder, as | |
276 currently it can output only to RGB formats, thus can't be used with codecs | |
277 that require YUV as input, like DivX4 or ffmpeg's msmpeg4.</P> | |
278 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
279 <P><B>Examples</B></P> |
4919 | 280 |
281 <P>The explanation of the <CODE>-mf</CODE> option can be found below in the | |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
282 global <A HREF="#options">Options</A> section and in the man page.</P> |
4919 | 283 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
284 <P><I>Creating a DivX4 file from all the JPEG files in the current dir:</I><BR> |
6154 | 285 <CODE>mencoder \*.jpg -mf on:w=800:h=600:fps=25 -ovc divx4 -o |
4919 | 286 output.avi</CODE></P> |
287 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
288 <P><I>Creating a DivX4 file from some JPEG files in the current dir:</I><BR> |
5378 | 289 <CODE>mencoder frame001.jpg,frame002.jpg -mf on:w=800:h=600:fps=25 -ovc divx4 -o |
290 output.avi</CODE></P> | |
291 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
292 <P><I>Creating a Motion JPEG (MJPEG) file from all the JPEG files in the current dir:</I><BR> |
4919 | 293 <CODE>mencoder \*.jpg -mf on:w=800:h=600:fps=25 -ovc copy |
294 -o output.avi</CODE></P> | |
295 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
296 <P><I>Creating an uncompressed file from all the PNG files in the current dir:</I><BR> |
4919 | 297 <CODE>mencoder \*.png -mf on:w=800:h=600:fps=25:type=png -ovc raw -o |
298 output.avi</CODE></P> | |
299 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
300 <P><I>Creating a Motion PNG (MPNG) file from all the PNG files in the current dir:</I><BR> |
4919 | 301 <CODE>mencoder \*.png -mf on:w=800:h=600:fps=25:type=png -ovc copy |
302 -o output.avi</CODE></P> | |
303 | |
304 | |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
305 <P><B><A NAME="vobsub">2.4.3.7 Extracting DVD subtitles to Vobsub file</A></B></P> |
6711 | 306 |
6724
ab3d2c60b454
Some spellchecking, moved the section to the correct position, some
diego
parents:
6711
diff
changeset
|
307 <P><B>MEncoder</B> is capable of extracting subtitles from a DVD into |
6960 | 308 Vobsub fomat files. They consist of a pair of files ending in |
309 <CODE>.idx</CODE> and <CODE>.sub</CODE> and are usually packaged in a single | |
310 <CODE>.rar</CODE> archive. <B>MPlayer</B> can play these with the | |
311 <CODE>-vobsub</CODE> and <CODE>-vobsubid</CODE> options.</P> | |
6711 | 312 |
6724
ab3d2c60b454
Some spellchecking, moved the section to the correct position, some
diego
parents:
6711
diff
changeset
|
313 <P>You specify the basename (i.e without the <CODE>.idx</CODE> or |
6960 | 314 <CODE>.sub</CODE> extension) of the output files with <CODE>-vobsubout</CODE> |
315 and the index for this subtitle in the resulting files with | |
316 <CODE>-vobsuboutindex</CODE>.</P> | |
6711 | 317 |
6724
ab3d2c60b454
Some spellchecking, moved the section to the correct position, some
diego
parents:
6711
diff
changeset
|
318 <P>If the input is not from a DVD you should use <CODE>-ifo</CODE> to |
6960 | 319 indicate the <CODE>.ifo</CODE> file needed to construct the resulting |
320 <CODE>.idx</CODE> file.</P> | |
6711 | 321 |
6960 | 322 <P>If the input is not from a DVD and you do not have the <CODE>.ifo</CODE> |
323 file you will need to use the <CODE>-vobsubid</CODE> option to let it know | |
324 what language id to put in the <CODE>.idx</CODE> file.</P> | |
6711 | 325 |
6724
ab3d2c60b454
Some spellchecking, moved the section to the correct position, some
diego
parents:
6711
diff
changeset
|
326 <P>Each run will append the running subtitle if the <CODE>.idx</CODE> and |
6960 | 327 <CODE>.sub</CODE> files already exist. So you should remove any before |
328 starting.</P> | |
6711 | 329 |
6724
ab3d2c60b454
Some spellchecking, moved the section to the correct position, some
diego
parents:
6711
diff
changeset
|
330 <P><B>Examples</B></P> |
6711 | 331 |
332 <P><I>Copying two subtitles from a DVD while doing 3-pass encoding</I><BR> | |
6960 | 333 <CODE>rm subtitles.idx subtitles.sub</CODE><BR> |
334 <CODE>mencoder -dvd 1 -vobsubout subtitles -vobsuboutindex 0 | |
335 -sid 2 -o frameno.avi -ovc frameno</CODE><BR> | |
336 <CODE>mencoder -dvd 1 -oac copy -ovc divx4 -pass 1</CODE><BR> | |
337 <CODE>mencoder -dvd 1 -oac copy -ovc divx4 -pass 2 -vobsubout | |
338 subtitles -vobsuboutindex 1 -sid 5</CODE></P> | |
6711 | 339 |
340 <P><I>Copying a french subtitle from an MPEG file</I><BR> | |
6960 | 341 <CODE>rm subtitles.idx subtitles.sub</CODE><BR> |
342 <CODE>mencoder movie.mpg -ifo movie.ifo -vobsubout subtitles | |
343 -vobsuboutindex 0 -vobsuboutid fr -sid 1</CODE></P> | |
6711 | 344 |
6724
ab3d2c60b454
Some spellchecking, moved the section to the correct position, some
diego
parents:
6711
diff
changeset
|
345 |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
346 <P><B><A NAME="syntax">2.4.4 Syntax</A></B></P> |
6724
ab3d2c60b454
Some spellchecking, moved the section to the correct position, some
diego
parents:
6711
diff
changeset
|
347 |
ab3d2c60b454
Some spellchecking, moved the section to the correct position, some
diego
parents:
6711
diff
changeset
|
348 <P> <CODE>mencoder [options] [input file] [options] ...</CODE></P> |
ab3d2c60b454
Some spellchecking, moved the section to the correct position, some
diego
parents:
6711
diff
changeset
|
349 |
ab3d2c60b454
Some spellchecking, moved the section to the correct position, some
diego
parents:
6711
diff
changeset
|
350 |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
351 <P><B><A NAME="options">2.4.5 Available options</A></B></P> |
2868 | 352 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
353 <P>NOTE: for all available options, <B>read the man page!</B></P> |
2868 | 354 |
6974 | 355 <P>As <B>MEncoder</B> is built on the same codebase as <B>MPlayer</B>, there |
4680 | 356 are many <B>MPlayer</B> options that have function in <B>MEncoder</B> too! |
357 See, you can use <CODE>-sid</CODE> to rip a DVD with subtitles, or | |
6974 | 358 <CODE>-noidx</CODE> to disregard buggy index of input AVI. <B>Be smart!</B></P> |
4680 | 359 |
4177 | 360 <TABLE BORDER=1> |
6974 | 361 <TR> |
362 <TD><CODE>-ss</CODE> time</TD> | |
363 <TD>start encoding from the given time (can start only from keyframes!) | |
364 </TD> | |
365 </TR> | |
366 <TR> | |
367 <TD><CODE>-endpos</CODE> time</TD> | |
368 <TD>stop encoding at the given time. See the man page for examples! | |
369 </TD> | |
370 </TR> | |
371 <TR> | |
372 <TD><CODE>-o</CODE> filename</TD> | |
373 <TD>specify output filename | |
374 </TD> | |
375 </TR> | |
376 <TR> | |
377 <TD><CODE>-sws</CODE> 0-2</TD> | |
378 <TD>type of scaling method<BR> | |
379 0 - fast bilinear<BR> | |
380 1 - bilinear<BR> | |
381 2 - bicubic (best quality)<BR> | |
382 </TD> | |
383 </TR> | |
384 <TR> | |
385 <TD><CODE>-ovc</CODE> codecname</TD> | |
386 <TD>Encode with the given codec (codec names are from codecs.conf). Examples:<BR> | |
387 <B>help</B> - get list of available codecs<BR> | |
388 <B>rawrgb</B> - ?<BR> | |
389 <B>copy</B> - no encoding, just copy the stream (only from AVI/ASF now)<BR> | |
390 <B>divx4</B> - encode to DivX4<BR> | |
391 <B>lavc</B> - encode with a codec from libavcodec<BR> | |
392 <B>vfw</B> - encode with a Windows DLL<BR> | |
393 </TD> | |
394 </TR> | |
395 <TR> | |
396 <TD><CODE>-oac</CODE> codecname</TD> | |
397 <TD>Encode with the given codec (codec names are from codecs.conf). Examples:<BR> | |
398 <B>help</B> - get list of available codecs<BR> | |
399 <B>copy</B> - no encoding, just copy the stream (only from AVI/ASF now)<BR> | |
400 <B>pcm</B> - encode to uncompressed PCM<BR> | |
401 <B>mp3lame</B> - encode to MP3 (using Lame)<BR> | |
402 </TD> | |
403 </TR> | |
404 <TR> | |
405 <TD><CODE>-mf</CODE> multifile options</TD> | |
406 <TD>Used when encoding from multiple JPEG files. Its sub-options are:<BR> | |
407 <B>on</B> - turns on multifile support<BR> | |
408 <B>w</B>=<value> - width of the output file<BR> | |
409 <B>h</B>=<value> - height of the output file<BR> | |
410 <B>fps</B>=<value> - fps of the output file<BR> | |
411 <B>type</B>=<value> - type of input files (available types: | |
412 <CODE>jpeg</CODE>, <CODE>png</CODE>)<BR> | |
413 </TD> | |
414 </TR> | |
415 | |
416 <TR> | |
417 <TD><CODE>-divx4opts</CODE></TD> | |
418 <TD>If encoding to DivX4, you can specify its parameters here, like:<BR> | |
419 <CODE>-divx4opts br=1800:deinterlace:key=250</CODE><BR> | |
420 Common options: <B>(for full list, check the man page!)</B><BR> | |
421 <B>help</B> - get help<BR> | |
422 <B>br</B>=<value> - specify bitrate in kbit <4-16000> | |
423 or bit <16001-24000000><BR> | |
424 <B>q</B>=<value> - quality (1-fastest, 5-best - default 5)<BR> | |
425 <B>key</B>=<value> - keyframe interval<BR> | |
426 </TD> | |
427 </TR> | |
428 <TR> | |
429 <TD><CODE>-lavcopts</CODE></TD> | |
430 <TD>If encoding with libavcodec, you can specify its parameters here, like:<BR> | |
431 <CODE>-lavcopts vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250</CODE><BR> | |
432 Common options: <B>(for full list, check the man page!)</B><BR> | |
433 <B>help</B> - get help<BR> | |
434 <B>vcodec</B>=<value> - select videocodec (for the full list, see the libavcodec section above)<BR> | |
435 <B>vbitrate</B>=<value> - specify bitrate in kbit <4-16000> or bit <16001-24000000><BR> | |
436 <B>vhq</B> - high quality<BR> | |
437 <B>keyint</B>=<value> - keyframe interval<BR> | |
438 </TD> | |
439 </TR> | |
440 <TR> | |
441 <TD><CODE>-lameopts</CODE></TD> | |
442 <TD>If encoding to MP3 with libmp3lame, you can specify its parameters here, like:<BR> | |
443 <CODE>-lameopts q=3</CODE><BR> | |
444 <CODE>-lameopts br=192:cbr</CODE><BR> | |
445 Common options: <B>(for full list, check the man page!)</B><BR> | |
446 <B>help</B> - get help<BR> | |
447 <B>cbr</B> - select <B>CBR</B> MP3 (default is <B>VBR</B>)<BR> | |
448 <B>br</B>=<value> - specify bitrate in kbit <0-1024> (this is for <B>CBR</B> only!)<BR> | |
449 <B>q</B>=<value> - quality (0-highest, 9-fastest - default 0) (this is for <B>VBR</B> only!)<BR> | |
450 <B>vbr</B>=<value> - VBR sub-mode (3-ABR, best quality/speed) (this is for <B>VBR</B> only!)<BR> | |
451 </TD> | |
452 </TR> | |
453 <TR> | |
454 <TD><CODE>-vobsubout</CODE> basename</TD> | |
455 <TD>Specify the basename for the output <CODE>.idx</CODE> and <CODE>.sub</CODE> | |
456 files. This turns off subtitle rendering on the encoded movie.</TD> | |
457 </TR> | |
458 <TR> | |
459 <TD><CODE>-vobsuboutindex</CODE> index</TD> | |
460 <TD>Specify the index of the subtitles in the output files. Defaults to 0.</TD> | |
461 </TR> | |
462 <TR> | |
463 <TD><CODE>-vobsuboutid</CODE> langid</TD> | |
464 <TD>Specify the language two letter code for the subtitles. This overrides | |
465 what is read from the DVD or the <CODE>.ifo</CODE> file.</TD> | |
466 </TR> | |
2868 | 467 </TABLE> |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2745
diff
changeset
|
468 |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
469 <P><B><A NAME="examples">2.4.6 Examples</A></B></P> |
2674 | 470 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
471 <P>Using <B>MEncoder</B> is the easiest thing on Earth. See the following:</P> |
2674 | 472 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
473 <P>Encoding from DVD, title 2:<BR> |
6106
f107ccf43d26
-lavcopts ... inserted since lavc is default encoder now
gabucino
parents:
5973
diff
changeset
|
474 <CODE> mencoder -dvd 2 -lavcopts vcodec=mpeg4:more_options -o title2.avi</CODE></P> |
2674 | 475 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
476 <P>The same, but with libavcodec family, MJPEG compression:<BR> |
6154 | 477 <CODE> mencoder -dvd 2 -lavcopts vcodec=mjpeg:more_options -ffourcc mjpg -o title2.avi</CODE></P> |
3721 | 478 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
479 <P>Encoding from DVD, title 2, with rescaling:<BR> |
6106
f107ccf43d26
-lavcopts ... inserted since lavc is default encoder now
gabucino
parents:
5973
diff
changeset
|
480 <CODE> mencoder -dvd 2 -vop scale=640:480 -sws 2 -lavcopts vcodec=mpeg4:more_options -o title2.avi</CODE></P> |
3438 | 481 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
482 <P>Encoding from HTTP:<BR> |
6106
f107ccf43d26
-lavcopts ... inserted since lavc is default encoder now
gabucino
parents:
5973
diff
changeset
|
483 <CODE> mencoder http://mplayer.hq/example.avi -lavcopts vcodec=mpeg4:more_options -o example.avi</CODE></P> |
2674 | 484 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
485 <P>Encoding from a pipe:<BR> |
6106
f107ccf43d26
-lavcopts ... inserted since lavc is default encoder now
gabucino
parents:
5973
diff
changeset
|
486 <CODE> rar p test-SVCD.rar | mencoder -lavcopts vcodec=mpeg4:more_options -ofps 24 -pass 1 -- -</CODE></P> |
2674 | 487 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
488 <P>Encoding multiple *.vob files:<BR> |
2874
632032ff27bf
patch applied from Colin Marquardt <colin@marquardt-home.de>
gabucino
parents:
2868
diff
changeset
|
489 <CODE> cat *.vob | mencoder <options> -</CODE></P> |
632032ff27bf
patch applied from Colin Marquardt <colin@marquardt-home.de>
gabucino
parents:
2868
diff
changeset
|
490 |
6906
3274d0725fde
Changed all link names from the section number to a sensible label.
diego
parents:
6882
diff
changeset
|
491 <P>Encoding from tuner (for tuner options <A HREF="documentation.html#tv">see the TV input section!</A>):<BR> |
3382 | 492 <CODE> mencoder -tv on:driver=v4l:width=640:height=480 <options></CODE></P> |
2950
20157c719b2c
new features in TV input dox (chan, chanlist, norm, keys)
gabucino
parents:
2939
diff
changeset
|
493 |
6960 | 494 <P>For all available options, <B>check the MEncoder man page!</B></P> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
495 |
2674 | 496 </BODY> |
497 </HTML> |