Mercurial > mplayer.hg
annotate DOCS/encoding.html @ 6509:762d3cf8da36
init libavcodec
author | arpi |
---|---|
date | Sat, 22 Jun 2002 23:57:45 +0000 |
parents | 41b149822666 |
children | 7622a58bbbe7 |
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> |
6391 | 5 <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
|
6 <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
|
7 </HEAD> |
6cb9d9a1716d
HTML: different font handling - idea from new hp dezign
gabucino
parents:
4919
diff
changeset
|
8 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
9 <BODY> |
2674 | 10 |
11 | |
2745 | 12 <P><B><A NAME=2.4>2.4. Encoding with MEncoder</A></B></P> |
2674 | 13 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
14 <P><B><A NAME=2.4.1>2.4.1. Overview</A></B></P> |
3721 | 15 |
2674 | 16 <P><B>MEncoder</B> (<B>MPlayer</B>'s Movie Encoder) is a simple movie encoder, |
17 designed to encode MPlayer-playable movies | |
5968 | 18 (<B>AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET</B>) to other MPlayer-playable |
4397 | 19 formats (see below). It can encode with various codecs, like <B>DivX4</B> (1 or |
20 2 passes), libavcodec, <B>PCM</B>/<B>MP3</B>/<B>VBRMP3</B> audio. Also has | |
21 stream copying and video resizing abilities.</P> | |
2674 | 22 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
23 <P><B><A NAME=2.4.2>2.4.2. Compiling</A></B></P> |
3721 | 24 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
25 <UL> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
26 <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
|
27 <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
|
28 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
|
29 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
|
30 (1/2 pass) encoding.</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
31 <LI><B>OPTIONAL</B> - <A HREF="codecs.html#2.2.1.9">download and install |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
32 <B>XViD</B></A>. Very useful on non-Linux boxes, and/or when you need |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
33 faster encoding than DivX4, with approximately the same quality.</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
34 <LI><B>OPTIONAL</B> - for libavcodec support, install libavcodec as |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
35 described in the <A HREF="codecs.html#2.2.1.2">libavcodec section</A>.</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
36 <LI><B>OPTIONAL</B> - download and compile <B>libmp3lame</B> (from lame 3.89beta or lame CVS).<BR> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
37 <B>WARNING: DO NOT COMPILE LAME WITH <U>GCC 2.96</U>! It won't |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
38 work properly!</B><BR> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
39 This |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
40 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
|
41 <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
|
42 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
|
43 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
|
44 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
|
45 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
|
46 quality decrease. Oh, and if your compiler doesn't even run <CODE>make test</CODE> ... |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
47 Well, delete that <B>GCC 2.96</B>.</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
48 <LI><B>OPTIONAL</B> - <CODE>libjpeg</CODE> and <CODE>libpng</CODE> - |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
49 as described in the <A HREF="documentation.html#1.3">Installation</A> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
50 section</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
51 </UL> |
2674 | 52 |
53 <P>You are ready. As you probably know, other encoding tools need the | |
54 <I>avifile</I> library installed. <B>MEncoder</B> doesn't need it at all.</P> | |
55 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
56 <P><B><A NAME=2.4.3>2.4.3. MEncoder features</A></B></P> |
3721 | 57 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
58 <UL> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
59 <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
|
60 <LI>encoding to all the codecs of ffmpeg's |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
61 <A HREF="codecs.html#2.2.1.2">libavcodec</A></LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
62 <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
|
63 <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
|
64 <LI>creating files from external audio stream</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
65 <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
|
66 <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
|
67 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
|
68 <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
|
69 <LI>PCM audio</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
70 <LI>stream copying</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
71 <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
|
72 <LI>FPS correction with <CODE>-ofps</CODE> option (useful when encoding |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
73 29.97fps VOB to 24fps AVI)</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
74 <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
|
75 rotate, scale, rgb/yuv conversion)</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
76 <LI>can encode DVD/VOBsub <B>AND</B> text subtitles into the output file</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
77 </UL> |
2674 | 78 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
79 <B>Planned features:</B> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
80 <UL> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
81 <LI>even wider variety of available en/decoding formats/codecs |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
82 (creating VOB files with DivX4/Indeo5/VIVO streams :)</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
83 <LI>audio encoding from v4l (DONE for FreeBSD ?)</LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
84 </UL> |
2674 | 85 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
86 <P><B><A NAME=2.4.3.1>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
|
87 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
88 <P><U><B>2-pass encoding:</B></U> the name comes from the fact that this method encodes the file <I>twice</I>. |
3620 | 89 The first encoding (dubbed <I>pass</I>) creates some temporary files (*.log) with a |
90 size of few megabytes, do not delete them yet (you can delete the AVI). In the second pass, the | |
91 2-pass output file is created, using the bitrate data from the temporary files. The resulting | |
3027 | 92 file will have much better image quality. If this is the first time you heard |
93 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
|
94 |
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2745
diff
changeset
|
95 <P>This example shows how to encode a DVD to a 2-pass DivX4 AVI. Just two |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
96 commands are needed:<BR> |
4397 | 97 <CODE> rm frameno.avi</CODE> - remove this file, which |
98 can come from a previous 3-pass encoding (it interferes with current one)<BR> | |
6106
f107ccf43d26
-lavcopts ... inserted since lavc is default encoder now
gabucino
parents:
5973
diff
changeset
|
99 <CODE> mencoder -dvd 2 -lavcopts vcodec=mpeg4:more_options |
f107ccf43d26
-lavcopts ... inserted since lavc is default encoder now
gabucino
parents:
5973
diff
changeset
|
100 -o movie.avi -pass 1<BR> |
f107ccf43d26
-lavcopts ... inserted since lavc is default encoder now
gabucino
parents:
5973
diff
changeset
|
101 mencoder -dvd 2 -lavcopts vcodec=mpeg4:more_options -o movie.avi -pass 2</CODE></P> |
4397 | 102 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
103 <P><U><B>3-pass encoding:</B></U> this is an extension of 2-pass encoding, |
4397 | 104 where the audio encoding takes place in a separate pass. This method enables |
105 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
|
106 audio is encoded only once, unlike in 2-pass mode. The schematics:</P> |
4397 | 107 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
108 <TABLE> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
109 <TR> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
110 <TD> <CODE>rm frameno.avi</CODE></TD> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
111 <TD> <B>remove conflicting temporary file</B></TD> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
112 </TR> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
113 <TR> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
114 <TD> <CODE>mencoder <file/DVD> -ovc frameno -o |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
115 frameno.avi</CODE></TD> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
116 <TD> <B><U>First pass:</U> an audio-only avi file will be created, containing |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
117 ONLY the requested audio stream. Don't forget <CODE>-lameopts</CODE>, if |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
118 you need to set it. If you were encoding a long movie, MEncoder prints |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
119 the recommended bitrate values for 650Mb, 700Mb, and 800Mb destination |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
120 sizes, after this pass finishes.</B></TD> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
121 </TR> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
122 <TR> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
123 <TD> <CODE>mencoder <file/DVD> -oac copy -pass 1 |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
124 -ovc divx4 -divx4opts br=<bitrate></CODE></TD> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
125 <TD> <B><U>Second pass:</U> alias the first pass of DivX4 video encoding. |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
126 Optionally specify the video bitrate MEncoder printed at the end of the |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
127 previous pass.</B></TD> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
128 </TR> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
129 <TR> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
130 <TD> <CODE>mencoder <file/DVD> -oac copy -pass 2 |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
131 -ovc divx4 -divx4opts br=<bitrate></CODE></TD> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
132 <TD> <B><U>Third pass:</U> alias the second pass of DivX4 video encoding. |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
133 Optionally specify the video bitrate MEncoder printed at the end of the |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
134 previous pass. In this pass, audio from <CODE>frameno.avi</CODE> will be |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
135 inserted into the destination file.. and it's all ready!</B></TD> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
136 </TR> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
137 </TABLE> |
4397 | 138 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
139 <P><B>Example for 3-pass encoding:</B></P> |
4397 | 140 |
141 <P><CODE> rm frameno.avi</CODE> - remove this file, | |
142 which can come from a previous 3-pass encoding (it interferes with current | |
143 one)<BR> | |
6154 | 144 <CODE> mencoder -dvd 2 -ovc frameno |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
145 -o frameno.avi</CODE><BR> |
4397 | 146 <CODE> mencoder -dvd 2 |
6106
f107ccf43d26
-lavcopts ... inserted since lavc is default encoder now
gabucino
parents:
5973
diff
changeset
|
147 -lavcopts vcodec=mpeg4:more_options -oac copy -o movie.avi -pass 1<BR> |
4397 | 148 mencoder -dvd 2 |
6106
f107ccf43d26
-lavcopts ... inserted since lavc is default encoder now
gabucino
parents:
5973
diff
changeset
|
149 -lavcopts vcodec=mpeg4:more_options -oac copy -o movie.avi -pass 2</CODE> |
4397 | 150 </P> |
151 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
152 <P><U><B>2 or 3-pass encoding using internal libavcodec controller:</B></U> |
5811 | 153 Optionally you can use libavcodec's internal 2 or 3-pass mode, it may gives you |
154 better final rate accuracy than using the external, DivX4-inspired 2-pass rate | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
155 controler with libavcodec.</P> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
156 |
5811 | 157 <UL> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
158 <LI><B>2-pass encoding:</B><BR> |
5811 | 159 <CODE>rm -f lavc_stats.txt<BR> |
6201 | 160 mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 (audio-options) -o movie.avi<BR> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
161 mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 (audio-options) -o movie.avi</CODE></LI> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
162 <LI><B>3-pass encoding:</B><BR> |
5811 | 163 <CODE>rm -f frameno.avi lavc_stats.txt<BR> |
164 mencoder -dvd 2 -ovc frameno (audio-options) -o frameno.avi<BR> | |
6201 | 165 mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o movie.avi<BR> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
166 mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi</CODE></LI> |
5811 | 167 </UL> |
2868 | 168 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
169 <P><B><A NAME=2.4.3.2>2.4.3.2. Rescaling movies</A></B></P> |
3438 | 170 |
171 <P>Often the need to resize movie images' size emerges. Its reasons can be many, | |
172 examples are decreasing output file size, encoding SVCDs to DivX. Ripped DVDs | |
173 are mostly rescaled, for example a 4:3 DVD should be 640x480, especially | |
174 when you want it to fit to 1 CD, and have good quality at the same time. | |
175 SVCDs have 480x480 size, and their header contains the aspect ratio the | |
176 player should use (Ex.: 480x480 + 4:3 = 640x480). However when encoding to | |
177 AVI (DivX) files, you have be aware that AVI headers don't store this | |
178 value. Thus, the only solution is rescaling.</P> | |
179 | |
5968 | 180 <P>The scaling process is handled by the <I>'scale'</I> video filter: |
181 <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
|
182 <CODE>-sws</CODE> option. If it's not specified, <B>MEncoder</B> will use 0: |
5968 | 183 fast bilinear.</P> |
3438 | 184 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
185 <P>Usage:<BR> |
6106
f107ccf43d26
-lavcopts ... inserted since lavc is default encoder now
gabucino
parents:
5973
diff
changeset
|
186 <CODE> mencoder sample-svcd.mpg -lavcopts vcodec=mpeg4:more_options -vop scale=640:480 -sws 2 -o output.avi</CODE></P> |
3438 | 187 |
4680 | 188 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
189 <P><B><A NAME=2.4.3.3>2.4.3.3. Stream copying</A></B></P> |
2868 | 190 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
191 <P><B>MEncoder</B> can handle input streams in two ways: <B>encode</B> or |
3438 | 192 <B>copy</B> them. This section is about <B>copying</B>.</P> |
2868 | 193 |
3438 | 194 <UL> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
195 <LI><B>Video stream</B> (option <CODE>-ovc copy</CODE>): nice stuff can be done :)<BR> |
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
196 Like, putting (not converting!) FLI or VIVO or MPEG1 video into an AVI file! |
3438 | 197 Of course only <B>MPlayer</B> can play such files :) And it probably has no |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
198 real life value at all. Rationally: video stream copying can be useful for |
3438 | 199 example when only the audio stream has to be encoded (like, uncompressed PCM |
200 to MP3).</LI> | |
201 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
202 <LI><B>Audio stream</B> (option <CODE>-oac copy</CODE>): straightforward. |
4992 | 203 It is possible to take an external audio file (MP3, AC3, Vorbis) and mux it |
204 into the output stream. Use the <CODE>-audiofile <filename></CODE> | |
205 option for this.</LI> | |
3438 | 206 </UL> |
207 | |
4680 | 208 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
209 <P><B><A NAME=2.4.3.4>2.4.3.4. Fixing AVIs with broken index or interleaving</A></B></P> |
3583 | 210 |
211 <P>Easiest thing. We simply copy the video and audio streams, and | |
212 <B>MEncoder</B> generates the index. Of course this cannot fix possible bugs in | |
4585 | 213 the video and/or audio streams. It also fixes files with broken interleaving, |
214 thus the <CODE>-ni</CODE> option won't be needed for them anymore.</P> | |
3583 | 215 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
216 <P>Command: <CODE>mencoder -idx input.avi -ovc copy -oac copy -o output.avi</CODE></P> |
3583 | 217 |
3721 | 218 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
219 <P><B><A NAME=2.4.3.5>2.4.3.5. Encoding with the <I>libavcodec</I> codec family</A></B></P> |
3721 | 220 |
3929 | 221 <P><A HREF="codecs.html#2.2.1.2">libavcodec</A> provides simple encoding to a |
222 lot of interesting video and audio formats (currently its audio codecs are | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
223 unsupported). You can encode to the following codecs:</P> |
3721 | 224 |
225 <UL> | |
226 <LI>mjpeg - Motion JPEG</LI> | |
3774 | 227 <LI>h263 - H263</LI> |
3721 | 228 <LI>h263p - H263 Plus</LI> |
229 <LI>mpeg4 - DivX4</LI> | |
230 <LI>msmpeg4 - the old DivX</LI> | |
5973 | 231 <LI>msmpeg4v2 - Micro$oft MPEG4 V2 (DivX alias MP43 predecessor)</LI> |
3721 | 232 <LI>rv10 - an old RealVideo codec</LI> |
233 <LI>mpeg1video - MPEG1 video :)</LI> | |
234 </UL> | |
235 | |
236 <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
|
237 <CODE>vcodec</CODE> config, like: <CODE>-lavcopts vcodec=msmpeg4</CODE></P> |
3721 | 238 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
239 <P>An example, with MJPEG compression:<BR> |
4585 | 240 <CODE> mencoder -dvd 2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg</CODE></P> |
3912 | 241 |
4680 | 242 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
243 <P><B><A NAME=2.4.3.6>2.4.3.6. Encoding from multiple input image files (JPEGs or PNGs)</A></B></P> |
4919 | 244 |
245 <P><B>MEncoder</B> is capable of creating movies from one or more JPEG or PNG | |
246 files. With simple framecopy it can create MJPEG (Motion JPEG) or MPNG | |
247 (Motion PNG) files.</P> | |
248 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
249 <P><B>Explanation of the process</B></P> |
4919 | 250 |
5066 | 251 <P><B>MEncoder</B> <I>decodes</I> the input image(s) with <CODE>libjpeg</CODE> |
252 (when decoding PNGs, it will use <B>libpng</B>). | |
4919 | 253 </P> |
254 | |
255 <P><B>MEncoder</B> then feeds the decoded image to the chosen video compressor | |
256 (DivX4, Xvid, ffmpeg msmpeg4, etc...). Watch for the PNG decoder, as | |
257 currently it can output only to RGB formats, thus can't be used with codecs | |
258 that require YUV as input, like DivX4 or ffmpeg's msmpeg4.</P> | |
259 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
260 <P><B>Examples</B></P> |
4919 | 261 |
262 <P>The explanation of the <CODE>-mf</CODE> option can be found below in the | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
263 global <A HREF="#2.4.5">Options</A> section and in the man page.</P> |
4919 | 264 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
265 <P><I>Creating a DivX4 file from all the JPEG files in the current dir:</I><BR> |
6154 | 266 <CODE>mencoder \*.jpg -mf on:w=800:h=600:fps=25 -ovc divx4 -o |
4919 | 267 output.avi</CODE></P> |
268 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
269 <P><I>Creating a DivX4 file from some JPEG files in the current dir:</I><BR> |
5378 | 270 <CODE>mencoder frame001.jpg,frame002.jpg -mf on:w=800:h=600:fps=25 -ovc divx4 -o |
271 output.avi</CODE></P> | |
272 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
273 <P><I>Creating a Motion JPEG (MJPEG) file from all the JPEG files in the current dir:</I><BR> |
4919 | 274 <CODE>mencoder \*.jpg -mf on:w=800:h=600:fps=25 -ovc copy |
275 -o output.avi</CODE></P> | |
276 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
277 <P><I>Creating an uncompressed file from all the PNG files in the current dir:</I><BR> |
4919 | 278 <CODE>mencoder \*.png -mf on:w=800:h=600:fps=25:type=png -ovc raw -o |
279 output.avi</CODE></P> | |
280 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
281 <P><I>Creating a Motion PNG (MPNG) file from all the PNG files in the current dir:</I><BR> |
4919 | 282 <CODE>mencoder \*.png -mf on:w=800:h=600:fps=25:type=png -ovc copy |
283 -o output.avi</CODE></P> | |
284 | |
285 | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
286 <P><B><A NAME=2.4.4>2.4.4. Syntax</A></B></P> |
3438 | 287 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
288 <P> <CODE>mencoder [options] [input file] [options] ...</CODE></P> |
3438 | 289 |
4680 | 290 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
291 <P><B><A NAME=2.4.5>2.4.5. Available options</A></B></P> |
2868 | 292 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
293 <P>NOTE: for all available options, <B>read the man page!</B></P> |
2868 | 294 |
4680 | 295 <P> |
296 As <B>MEncoder</B> is built on the same codebase as <B>MPlayer</B>, there | |
297 are many <B>MPlayer</B> options that have function in <B>MEncoder</B> too! | |
298 See, you can use <CODE>-sid</CODE> to rip a DVD with subtitles, or | |
299 <CODE>-noidx</CODE> to disregard buggy index of input AVI. <B>Be smart!</B> | |
300 </P> | |
301 | |
4177 | 302 <TABLE BORDER=1> |
2868 | 303 <TR> |
6393 | 304 <TD> <I>-ss</I> time</TD> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
305 <TD> start encoding from the given time (can start only from keyframes!) |
4709 | 306 </TD> |
307 </TR> | |
308 <TR> | |
6393 | 309 <TD> <I>-endpos</I> time</TD> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
310 <TD> stop encoding at the given time. See the man page for examples! |
4709 | 311 </TD> |
312 </TR> | |
313 <TR> | |
6393 | 314 <TD> <I>-o</I> filename</TD> |
315 <TD> specify output filename | |
2868 | 316 </TD> |
317 </TR> | |
318 <TR> | |
6393 | 319 <TD> <I>-sws</I> 0-2</TD> |
320 <TD> type of scaling method<BR> | |
3287 | 321 0 - fast bilinear<BR> |
322 1 - bilinear<BR> | |
323 2 - bicubic (best quality)<BR> | |
324 </TD> | |
325 </TR> | |
326 <TR> | |
6393 | 327 <TD> <I>-ovc</I> codecname</TD> |
328 <TD> Encode with the given codec (codec names are from codecs.conf). Examples:<BR> | |
2868 | 329 <B>help</B> - get list of available codecs<BR> |
4680 | 330 <B>rawrgb</B> - ?<BR> |
2868 | 331 <B>copy</B> - no encoding, just copy the stream (only from AVI/ASF now)<BR> |
332 <B>divx4</B> - encode to DivX4<BR> | |
3721 | 333 <B>lavc</B> - encode with a codec from libavcodec<BR> |
4680 | 334 <B>vfw</B> - encode with a Windows DLL<BR> |
2868 | 335 </TD> |
336 </TR> | |
337 <TR> | |
6393 | 338 <TD> <I>-oac</I> codecname</TD> |
339 <TD> Encode with the given codec (codec names are from codecs.conf). Examples:<BR> | |
2868 | 340 <B>help</B> - get list of available codecs<BR> |
341 <B>copy</B> - no encoding, just copy the stream (only from AVI/ASF now)<BR> | |
342 <B>pcm</B> - encode to uncompressed PCM<BR> | |
343 <B>mp3lame</B> - encode to MP3 (using Lame)<BR> | |
344 </TD> | |
345 </TR> | |
346 <TR> | |
6393 | 347 <TD> <I>-mf</I> multifile options</TD> |
348 <TD> Used when encoding from multiple JPEG files. Its sub-options are:<BR> | |
4919 | 349 <B>on</B> - turns on multifile support<BR> |
350 <B>w</B>=<value> - width of the output file<BR> | |
351 <B>h</B>=<value> - height of the output file<BR> | |
352 <B>fps</B>=<value> - fps of the output file<BR> | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
353 <B>type</B>=<value> - type of input files (available types: <CODE>jpeg</CODE>, <CODE>png</CODE>)<BR> |
4919 | 354 </TD> |
355 </TR> | |
356 | |
357 <TR> | |
6393 | 358 <TD> <I>-divx4opts</I></TD> |
359 <TD> If encoding to DivX4, you can specify its parameters here, like:<BR> | |
2868 | 360 <CODE>-divx4opts br=1800:deinterlace:key=250</CODE><BR> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
361 Common options: <B>(for full list, check the man page!)</B><BR> |
2868 | 362 <B>help</B> - get help<BR> |
4919 | 363 <B>br</B>=<value> - specify bitrate in kbit <4-16000> or bit <16001-24000000><BR> |
364 <B>q</B>=<value> - quality (1-fastest, 5-best - default 5)<BR> | |
365 <B>key</B>=<value> - keyframe interval<BR> | |
3721 | 366 </TD> |
367 </TR> | |
368 <TR> | |
6393 | 369 <TD> <I>-lavcopts</I></TD> |
370 <TD> If encoding with libavcodec, you can specify its parameters here, like:<BR> | |
3721 | 371 <CODE>-lavcopts vcodec=msmpeg4:vbitrate=1800:vhq:keyint=250</CODE><BR> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
372 Common options: <B>(for full list, check the man page!)</B><BR> |
3721 | 373 <B>help</B> - get help<BR> |
4919 | 374 <B>vcodec</B>=<value> - select videocodec (for the full list, see the libavcodec section above)<BR> |
375 <B>vbitrate</B>=<value> - specify bitrate in kbit <4-16000> or bit <16001-24000000><BR> | |
3721 | 376 <B>vhq</B> - high quality<BR> |
4919 | 377 <B>keyint</B>=<value> - keyframe interval<BR> |
2868 | 378 </TD> |
379 </TR> | |
380 <TR> | |
6393 | 381 <TD> <I>-lameopts</I></TD> |
382 <TD> If encoding to MP3 with libmp3lame, you can specify its parameters here, like:<BR> | |
2868 | 383 <CODE>-lameopts q=3</CODE><BR> |
384 <CODE>-lameopts br=192:cbr</CODE><BR> | |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
385 Common options: <B>(for full list, check the man page!)</B><BR> |
2868 | 386 <B>help</B> - get help<BR> |
387 <B>cbr</B> - select <B>CBR</B> MP3 (default is <B>VBR</B>)<BR> | |
4919 | 388 <B>br</B>=<value> - specify bitrate in kbit <0-1024> (this is for <B>CBR</B> only!)<BR> |
389 <B>q</B>=<value> - quality (0-highest, 9-fastest - default 0) (this is for <B>VBR</B> only!)<BR> | |
5721 | 390 <B>vbr</B>=<value> - VBR sub-mode (3-ABR, best quality/speed) (this is for <B>VBR</B> only!)<BR> |
2868 | 391 </TD> |
392 </TR> | |
393 </TABLE> | |
2848
33c32f3d9f1f
many small updates, fixes (some/more to be completed soon)
gabucino
parents:
2745
diff
changeset
|
394 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
395 <P><B><A NAME=2.4.6>2.4.6. Examples</A></B></P> |
2674 | 396 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
397 <P>Using <B>MEncoder</B> is the easiest thing on Earth. See the following:</P> |
2674 | 398 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
399 <P>Encoding from DVD, title 2:<BR> |
6106
f107ccf43d26
-lavcopts ... inserted since lavc is default encoder now
gabucino
parents:
5973
diff
changeset
|
400 <CODE> mencoder -dvd 2 -lavcopts vcodec=mpeg4:more_options -o title2.avi</CODE></P> |
2674 | 401 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
402 <P>The same, but with libavcodec family, MJPEG compression:<BR> |
6154 | 403 <CODE> mencoder -dvd 2 -lavcopts vcodec=mjpeg:more_options -ffourcc mjpg -o title2.avi</CODE></P> |
3721 | 404 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
405 <P>Encoding from DVD, title 2, with rescaling:<BR> |
6106
f107ccf43d26
-lavcopts ... inserted since lavc is default encoder now
gabucino
parents:
5973
diff
changeset
|
406 <CODE> mencoder -dvd 2 -vop scale=640:480 -sws 2 -lavcopts vcodec=mpeg4:more_options -o title2.avi</CODE></P> |
3438 | 407 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
408 <P>Encoding from HTTP:<BR> |
6106
f107ccf43d26
-lavcopts ... inserted since lavc is default encoder now
gabucino
parents:
5973
diff
changeset
|
409 <CODE> mencoder http://mplayer.hq/example.avi -lavcopts vcodec=mpeg4:more_options -o example.avi</CODE></P> |
2674 | 410 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
411 <P>Encoding from a pipe:<BR> |
6106
f107ccf43d26
-lavcopts ... inserted since lavc is default encoder now
gabucino
parents:
5973
diff
changeset
|
412 <CODE> rar p test-SVCD.rar | mencoder -lavcopts vcodec=mpeg4:more_options -ofps 24 -pass 1 -- -</CODE></P> |
2674 | 413 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
414 <P>Encoding multiple *.vob files:<BR> |
2874
632032ff27bf
patch applied from Colin Marquardt <colin@marquardt-home.de>
gabucino
parents:
2868
diff
changeset
|
415 <CODE> cat *.vob | mencoder <options> -</CODE></P> |
632032ff27bf
patch applied from Colin Marquardt <colin@marquardt-home.de>
gabucino
parents:
2868
diff
changeset
|
416 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
417 <P>Encoding from tuner (for tuner options <A HREF="documentation.html#2.5">see the TV input section!</A>):<BR> |
3382 | 418 <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
|
419 |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
420 <P>For all available options, <B>check the MEncoder man page!</B> |
2674 | 421 <P> |
6427
41b149822666
Background now set by CSS, added doctype and charset.
diego
parents:
6393
diff
changeset
|
422 |
2674 | 423 </BODY> |
424 </HTML> |