Mercurial > mplayer.hg
annotate DOCS/xml/en/encoding-guide.xml @ 28172:0bb8cfb41f84
Remove audio output section, it provides little to no useful information.
author | diego |
---|---|
date | Sat, 27 Dec 2008 21:44:33 +0000 |
parents | db2e2dff503a |
children | ee46a1af24e4 |
rev | line source |
---|---|
20535 | 1 <?xml version="1.0" encoding="utf-8"?> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2 <!-- $Revision$ --> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3 <chapter id="encoding-guide"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4 <title>Encoding with <application>MEncoder</application></title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
6 <sect1 id="menc-feat-dvd-mpeg4"> |
21596 | 7 <title>Making a high quality MPEG-4 ("DivX") |
21521 | 8 rip of a DVD movie</title> |
9 | |
10 <para> | |
21596 | 11 One frequently asked question is "How do I make the highest quality rip |
12 for a given size?". Another question is "How do I make the highest | |
21521 | 13 quality DVD rip possible? I do not care about file size, I just want the best |
21596 | 14 quality." |
21521 | 15 </para> |
16 | |
17 <para> | |
18 The latter question is perhaps at least somewhat wrongly posed. After all, if | |
19 you do not care about file size, why not simply copy the entire MPEG-2 video | |
20 stream from the the DVD? Sure, your AVI will end up being 5GB, give | |
21 or take, but if you want the best quality and do not care about size, | |
22 this is certainly your best option. | |
23 </para> | |
24 | |
25 <para> | |
26 In fact, the reason you want to transcode a DVD into MPEG-4 is | |
27 specifically because you <emphasis role="bold">do</emphasis> care about | |
28 file size. | |
29 </para> | |
30 | |
31 <para> | |
32 It is difficult to offer a cookbook recipe on how to create a very high | |
33 quality DVD rip. There are several factors to consider, and you should | |
34 understand these details or else you are likely to end up disappointed | |
35 with your results. Below we will investigate some of these issues, and | |
36 then have a look at an example. We assume you are using | |
37 <systemitem class="library">libavcodec</systemitem> to encode the video, | |
38 although the theory applies to other codecs as well. | |
39 </para> | |
40 | |
41 <para> | |
42 If this seems to be too much for you, you should probably use one of the | |
43 many fine frontends that are listed in the | |
44 <ulink url="http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends">MEncoder section</ulink> | |
45 of our related projects page. | |
46 That way, you should be able to achieve high quality rips without too much | |
47 thinking, because most of those tools are designed to take clever decisions | |
48 for you. | |
49 </para> | |
50 | |
51 <!-- ********** --> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
52 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
53 <sect2 id="menc-feat-dvd-mpeg4-preparing-encode"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
54 <title>Preparing to encode: Identifying source material and framerate</title> |
21521 | 55 |
56 <para> | |
57 Before you even think about encoding a movie, you need to take | |
58 several preliminary steps. | |
59 </para> | |
60 | |
61 <para> | |
62 The first and most important step before you encode should be | |
63 determining what type of content you are dealing with. | |
64 If your source material comes from DVD or broadcast/cable/satellite | |
65 TV, it will be stored in one of two formats: NTSC for North | |
66 America and Japan, PAL for Europe, etc. | |
67 It is important to realize, however, that this is just the formatting for | |
68 presentation on a television, and often does | |
69 <emphasis role="bold">not</emphasis> correspond to the | |
70 original format of the movie. | |
71 Experience shows that NTSC material is a lot more difficult to encode, | |
72 because there more elements to identify in the source. | |
73 In order to produce a suitable encode, you need to know the original | |
74 format. | |
75 Failure to take this into account will result in various flaws in your | |
76 encode, including ugly combing (interlacing) artifacts and duplicated | |
77 or even lost frames. | |
78 Besides being ugly, the artifacts also harm coding efficiency: | |
79 You will get worse quality per unit bitrate. | |
80 </para> | |
81 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
82 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
83 <sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
84 <title>Identifying source framerate</title> |
21521 | 85 |
86 <para> | |
87 Here is a list of common types of source material, where you are | |
88 likely to find them, and their properties: | |
89 </para> | |
90 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
91 <itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
92 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
93 <emphasis role="bold">Standard Film</emphasis>: Produced for |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
94 theatrical display at 24fps. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
95 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
96 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
97 <emphasis role="bold">PAL video</emphasis>: Recorded with a PAL |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
98 video camera at 50 fields per second. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
99 A field consists of just the odd- or even-numbered lines of a |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
100 frame. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
101 Television was designed to refresh these in alternation as a |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
102 cheap form of analog compression. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
103 The human eye supposedly compensates for this, but once you |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
104 understand interlacing you will learn to see it on TV too and |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
105 never enjoy TV again. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
106 Two fields do <emphasis role="bold">not</emphasis> make a |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
107 complete frame, because they are captured 1/50 of a second apart |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
108 in time, and thus they do not line up unless there is no motion. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
109 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
110 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
111 <emphasis role="bold">NTSC Video</emphasis>: Recorded with an |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
112 NTSC video camera at 60000/1001 fields per second, or 60 fields per |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
113 second in the pre-color era. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
114 Otherwise similar to PAL. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
115 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
116 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
117 <emphasis role="bold">Animation</emphasis>: Usually drawn at |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
118 24fps, but also comes in mixed-framerate varieties. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
119 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
120 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
121 <emphasis role="bold">Computer Graphics (CG)</emphasis>: Can be |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
122 any framerate, but some are more common than others; 24 and |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
123 30 frames per second are typical for NTSC, and 25fps is typical |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
124 for PAL. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
125 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
126 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
127 <emphasis role="bold">Old Film</emphasis>: Various lower |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
128 framerates. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
129 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
130 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
131 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
132 |
21521 | 133 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
134 <sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
135 <title>Identifying source material</title> |
21521 | 136 |
137 <para> | |
138 Movies consisting of frames are referred to as progressive, | |
139 while those consisting of independent fields are called | |
140 either interlaced or video - though this latter term is | |
141 ambiguous. | |
142 </para> | |
143 | |
144 <para> | |
145 To further complicate matters, some movies will be a mix of | |
146 several of the above. | |
147 </para> | |
148 | |
149 <para> | |
150 The most important distinction to make between all of these | |
151 formats is that some are frame-based, while others are | |
152 field-based. | |
153 <emphasis role="bold">Whenever</emphasis> a movie is prepared | |
154 for display on television (including DVD), it is converted to a | |
155 field-based format. | |
156 The various methods by which this can be done are collectively | |
157 referred to as "telecine", of which the infamous NTSC | |
158 "3:2 pulldown" is one variety. | |
159 Unless the original material was also field-based (and the same | |
160 fieldrate), you are getting the movie in a format other than the | |
161 original. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
162 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
163 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
164 <itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
165 <title>There are several common types of pulldown:</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
166 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
167 <emphasis role="bold">PAL 2:2 pulldown</emphasis>: The nicest of |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
168 them all. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
169 Each frame is shown for the duration of two fields, by extracting the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
170 even and odd lines and showing them in alternation. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
171 If the original material is 24fps, this process speeds up the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
172 movie by 4%. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
173 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
174 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
175 <emphasis role="bold">PAL 2:2:2:2:2:2:2:2:2:2:2:3 pulldown</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
176 Every 12th frame is shown for the duration of three fields, instead of |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
177 just two. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
178 This avoids the 4% speedup issue, but makes the process much |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
179 more difficult to reverse. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
180 It is usually seen in musical productions where adjusting the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
181 speed by 4% would seriously damage the musical score. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
182 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
183 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
184 <emphasis role="bold">NTSC 3:2 telecine</emphasis>: Frames are |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
185 shown alternately for the duration of 3 fields or 2 fields. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
186 This gives a fieldrate 2.5 times the original framerate. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
187 The result is also slowed down very slightly from 60 fields per |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
188 second to 60000/1001 fields per second to maintain NTSC fieldrate. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
189 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
190 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
191 <emphasis role="bold">NTSC 2:2 pulldown</emphasis>: Used for |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
192 showing 30fps material on NTSC. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
193 Nice, just like 2:2 PAL pulldown. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
194 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
195 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
196 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
197 <para> |
21521 | 198 There are also methods for converting between NTSC and PAL video, |
199 but such topics are beyond the scope of this guide. | |
200 If you encounter such a movie and want to encode it, your best | |
201 bet is to find a copy in the original format. | |
202 Conversion between these two formats is highly destructive and | |
203 cannot be reversed cleanly, so your encode will greatly suffer | |
204 if it is made from a converted source. | |
205 </para> | |
206 | |
207 <para> | |
208 When video is stored on DVD, consecutive pairs of fields are | |
209 grouped as a frame, even though they are not intended to be shown | |
210 at the same moment in time. | |
211 The MPEG-2 standard used on DVD and digital TV provides a | |
212 way both to encode the original progressive frames and to store | |
213 the number of fields for which a frame should be shown in the | |
214 header of that frame. | |
215 If this method has been used, the movie will often be described | |
216 as "soft-telecined", since the process only directs the | |
217 DVD player to apply pulldown to the movie rather than altering | |
218 the movie itself. | |
219 This case is highly preferable since it can easily be reversed | |
220 (actually ignored) by the encoder, and since it preserves maximal | |
221 quality. | |
222 However, many DVD and broadcast production studios do not use | |
223 proper encoding techniques but instead produce movies with | |
224 "hard telecine", where fields are actually duplicated in the | |
225 encoded MPEG-2. | |
226 </para> | |
227 | |
228 <para> | |
229 The procedures for dealing with these cases will be covered | |
230 <link linkend="menc-feat-telecine">later in this guide</link>. | |
231 For now, we leave you with some guides to identifying which type | |
232 of material you are dealing with: | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
233 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
234 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
235 <itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
236 <title>NTSC regions:</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
237 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
238 If <application>MPlayer</application> prints that the framerate |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
239 has changed to 24000/1001 when watching your movie, and never changes |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
240 back, it is almost certainly progressive content that has been |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
241 "soft telecined". |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
242 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
243 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
244 If <application>MPlayer</application> shows the framerate |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
245 switching back and forth between 24000/1001 and 30000/1001, and you see |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
246 "combing" at times, then there are several possibilities. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
247 The 24000/1001 fps segments are almost certainly progressive |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
248 content, "soft telecined", but the 30000/1001 fps parts could be |
21521 | 249 either hard-telecined 24000/1001 fps content or 60000/1001 fields per second |
250 NTSC video. | |
251 Use the same guidelines as the following two cases to determine which. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
252 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
253 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
254 If <application>MPlayer</application> never shows the framerate |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
255 changing, and every single frame with motion appears combed, your |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
256 movie is NTSC video at 60000/1001 fields per second. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
257 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
258 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
259 If <application>MPlayer</application> never shows the framerate |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
260 changing, and two frames out of every five appear combed, your |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
261 movie is "hard telecined" 24000/1001fps content. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
262 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
263 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
264 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
265 <itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
266 <title>PAL regions:</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
267 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
268 If you never see any combing, your movie is 2:2 pulldown. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
269 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
270 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
271 If you see combing alternating in and out every half second, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
272 then your movie is 2:2:2:2:2:2:2:2:2:2:2:3 pulldown. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
273 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
274 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
275 If you always see combing during motion, then your movie is PAL |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
276 video at 50 fields per second. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
277 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
278 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
279 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
280 <note><title>Hint:</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
281 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
282 <application>MPlayer</application> can slow down movie playback |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
283 with the -speed option or play it frame-by-frame. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
284 Try using <option>-speed</option> 0.2 to watch the movie very |
21521 | 285 slowly or press the "<keycap>.</keycap>" key repeatedly to play one frame at |
286 a time and identify the pattern, if you cannot see it at full speed. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
287 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
288 </note> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
289 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
290 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
291 |
21521 | 292 <!-- ********** --> |
293 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
294 <sect2 id="menc-feat-dvd-mpeg4-2pass"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
295 <title>Constant quantizer vs. multipass</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
296 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
297 <para> |
21521 | 298 It is possible to encode your movie at a wide range of qualities. |
299 With modern video encoders and a bit of pre-codec compression | |
300 (downscaling and denoising), it is possible to achieve very good | |
301 quality at 700 MB, for a 90-110 minute widescreen movie. | |
302 Furthermore, all but the longest movies can be encoded with near-perfect | |
303 quality at 1400 MB. | |
304 </para> | |
305 | |
306 <para> | |
307 There are three approaches to encoding the video: constant bitrate | |
308 (CBR), constant quantizer, and multipass (ABR, or average bitrate). | |
309 </para> | |
310 | |
311 <para> | |
312 The complexity of the frames of a movie, and thus the number of bits | |
313 required to compress them, can vary greatly from one scene to another. | |
314 Modern video encoders can adjust to these needs as they go and vary | |
315 the bitrate. | |
316 In simple modes such as CBR, however, the encoders do not know the | |
317 bitrate needs of future scenes and so cannot exceed the requested | |
318 average bitrate for long stretches of time. | |
319 More advanced modes, such as multipass encode, can take into account | |
320 the statistics from previous passes; this fixes the problem mentioned | |
321 above. | |
16202
24c28ac0aa68
Why multipass is better in a nutshell. Taken from Rich's encoding guide.
gpoirier
parents:
16178
diff
changeset
|
322 </para> |
24c28ac0aa68
Why multipass is better in a nutshell. Taken from Rich's encoding guide.
gpoirier
parents:
16178
diff
changeset
|
323 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
324 <note><title>Note:</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
325 <para> |
21521 | 326 Most codecs which support ABR encode only support two pass encode |
327 while some others such as <systemitem class="library">x264</systemitem>, | |
328 <systemitem class="library">Xvid</systemitem> | |
329 and <systemitem class="library">libavcodec</systemitem> support | |
330 multipass, which slightly improves quality at each pass, | |
331 yet this improvement is no longer measurable nor noticeable after the | |
332 4th or so pass. | |
333 Therefore, in this section, two pass and multipass will be used | |
334 interchangeably. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
335 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
336 </note> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
337 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
338 <para> |
21521 | 339 In each of these modes, the video codec (such as |
340 <systemitem class="library">libavcodec</systemitem>) | |
341 breaks the video frame into 16x16 pixel macroblocks and then applies a | |
342 quantizer to each macroblock. The lower the quantizer, the better the | |
343 quality and higher the bitrate. | |
344 The method the movie encoder uses to determine | |
345 which quantizer to use for a given macroblock varies and is highly | |
346 tunable. (This is an extreme over-simplification of the actual | |
347 process, but the basic concept is useful to understand.) | |
348 </para> | |
349 | |
350 <para> | |
351 When you specify a constant bitrate, the video codec will encode the video, | |
352 discarding | |
353 detail as much as necessary and as little as possible in order to remain | |
354 lower than the given bitrate. If you truly do not care about file size, | |
355 you could as well use CBR and specify a bitrate of infinity. (In | |
356 practice, this means a value high enough so that it poses no limit, like | |
357 10000Kbit.) With no real restriction on bitrate, the result is that | |
358 the codec will use the lowest | |
359 possible quantizer for each macroblock (as specified by | |
360 <option>vqmin</option> for | |
361 <systemitem class="library">libavcodec</systemitem>, which is 2 by default). | |
362 As soon as you specify a | |
363 low enough bitrate that the codec | |
364 is forced to use a higher quantizer, then you are almost certainly ruining | |
365 the quality of your video. | |
366 In order to avoid that, you should probably downscale your video, according | |
367 to the method described later on in this guide. | |
368 In general, you should avoid CBR altogether if you care about quality. | |
369 </para> | |
370 | |
371 <para> | |
372 With constant quantizer, the codec uses the same quantizer, as | |
373 specified by the <option>vqscale</option> option (for | |
374 <systemitem class="library">libavcodec</systemitem>), on every macroblock. | |
375 If you want the highest quality rip possible, again ignoring bitrate, | |
376 you can use <option>vqscale=2</option>. | |
377 This will yield the same bitrate and PSNR (peak signal-to-noise ratio) | |
378 as CBR with | |
379 <option>vbitrate</option>=infinity and the default <option>vqmin</option> | |
380 of 2. | |
381 </para> | |
382 | |
383 <para> | |
384 The problem with constant quantizing is that it uses the given quantizer | |
385 whether the macroblock needs it or not. That is, it might be possible | |
386 to use a higher quantizer on a macroblock without sacrificing visual | |
387 quality. Why waste the bits on an unnecessarily low quantizer? Your | |
388 CPU has as many cycles as there is time, but there is only so many bits | |
389 on your hard disk. | |
390 </para> | |
391 | |
392 <para> | |
393 With a two pass encode, the first pass will rip the movie as though it | |
394 were CBR, but it will keep a log of properties for each frame. This | |
395 data is then used during the second pass in order to make intelligent | |
396 decisions about which quantizers to use. During fast action or high | |
397 detail scenes, higher quantizers will likely be used, and during | |
398 slow moving or low detail scenes, lower quantizers will be used. | |
399 Normally, the amount of motion is much more important than the | |
400 amount of detail. | |
401 </para> | |
402 | |
403 <para> | |
404 If you use <option>vqscale=2</option>, then you are wasting bits. If you | |
405 use <option>vqscale=3</option>, then you are not getting the highest | |
406 quality rip. Suppose you rip a DVD at <option>vqscale=3</option>, and | |
407 the result is 1800Kbit. If you do a two pass encode with | |
408 <option>vbitrate=1800</option>, the resulting video will have | |
409 <emphasis role="bold">higher quality</emphasis> for the | |
410 <emphasis role="bold">same bitrate</emphasis>. | |
411 </para> | |
412 | |
413 <para> | |
414 Since you are now convinced that two pass is the way to go, the real | |
415 question now is what bitrate to use? The answer is that there is no | |
416 single answer. Ideally you want to choose a bitrate that yields the | |
417 best balance between quality and file size. This is going to vary | |
418 depending on the source video. | |
419 </para> | |
420 | |
421 <para> | |
422 If size does not matter, a good starting point for a very high quality | |
423 rip is about 2000Kbit plus or minus 200Kbit. | |
424 For fast action or high detail source video, or if you just have a very | |
425 critical eye, you might decide on 2400 or 2600. | |
426 For some DVDs, you might not notice a difference at 1400Kbit. It is a | |
427 good idea to experiment with scenes at different bitrates to get a feel. | |
428 </para> | |
429 | |
430 <para> | |
431 If you aim at a certain size, you will have to somehow calculate the bitrate. | |
432 But before that, you need to know how much space you should reserve for the | |
433 audio track(s), so you should | |
434 <link linkend="menc-feat-dvd-mpeg4-audio">rip those</link> first. | |
435 You can compute the bitrate with the following equation: | |
436 <systemitem>bitrate = (target_size_in_Mbytes - sound_size_in_Mbytes) * | |
437 1024 * 1024 / length_in_secs * 8 / 1000</systemitem> | |
438 For instance, to squeeze a two-hour movie onto a 702MB CD, with 60MB | |
439 of audio track, the video bitrate will have to be: | |
440 <systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000 | |
441 = 740kbps</systemitem> | |
442 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
443 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
444 |
21521 | 445 <!-- ********** --> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
446 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
447 <sect2 id="menc-feat-dvd-mpeg4-constraints"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
448 <title>Constraints for efficient encoding</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
449 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
450 <para> |
21521 | 451 Due to the nature of MPEG-type compression, there are various |
452 constraints you should follow for maximal quality. | |
453 MPEG splits the video up into 16x16 squares called macroblocks, | |
454 each composed of 4 8x8 blocks of luma (intensity) information and two | |
455 half-resolution 8x8 chroma (color) blocks (one for red-cyan axis and | |
456 the other for the blue-yellow axis). | |
457 Even if your movie width and height are not multiples of 16, the | |
458 encoder will use enough 16x16 macroblocks to cover the whole picture | |
459 area, and the extra space will go to waste. | |
26958 | 460 So in the interests of maximizing quality at a fixed file size, it is |
21521 | 461 a bad idea to use dimensions that are not multiples of 16. |
462 </para> | |
463 | |
464 <para> | |
465 Most DVDs also have some degree of black borders at the edges. Leaving | |
466 these in place will hurt quality <emphasis role="bold">a lot</emphasis> | |
467 in several ways. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
468 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
469 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
470 <orderedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
471 <listitem> |
21521 | 472 <para> |
21775
acee29a43313
avoid a possible confusion, as suggested by Wanderer
gpoirier
parents:
21596
diff
changeset
|
473 MPEG-type compression is highly dependent on frequency domain |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
474 transformations, in particular the Discrete Cosine Transform (DCT), |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
475 which is similar to the Fourier transform. This sort of encoding is |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
476 efficient for representing patterns and smooth transitions, but it |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
477 has a hard time with sharp edges. In order to encode them it must |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
478 use many more bits, or else an artifact known as ringing will |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
479 appear. |
21521 | 480 </para> |
481 | |
482 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
483 The frequency transform (DCT) takes place separately on each |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
484 macroblock (actually each block), so this problem only applies when |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
485 the sharp edge is inside a block. If your black borders begin |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
486 exactly at multiple-of-16 pixel boundaries, this is not a problem. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
487 However, the black borders on DVDs rarely come nicely aligned, so |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
488 in practice you will always need to crop to avoid this penalty. |
21521 | 489 </para> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
490 </listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
491 </orderedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
492 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
493 <para> |
21521 | 494 In addition to frequency domain transforms, MPEG-type compression uses |
495 motion vectors to represent the change from one frame to the next. | |
496 Motion vectors naturally work much less efficiently for new content | |
497 coming in from the edges of the picture, because it is not present in | |
498 the previous frame. As long as the picture extends all the way to the | |
499 edge of the encoded region, motion vectors have no problem with | |
500 content moving out the edges of the picture. However, in the presence | |
501 of black borders, there can be trouble: | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
502 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
503 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
504 <orderedlist continuation="continues"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
505 <listitem> |
21521 | 506 <para> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
507 For each macroblock, MPEG-type compression stores a vector |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
508 identifying which part of the previous frame should be copied into |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
509 this macroblock as a base for predicting the next frame. Only the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
510 remaining differences need to be encoded. If a macroblock spans the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
511 edge of the picture and contains part of the black border, then |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
512 motion vectors from other parts of the picture will overwrite the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
513 black border. This means that lots of bits must be spent either |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
514 re-blackening the border that was overwritten, or (more likely) a |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
515 motion vector will not be used at all and all the changes in this |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
516 macroblock will have to be coded explicitly. Either way, encoding |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
517 efficiency is greatly reduced. |
21521 | 518 </para> |
519 | |
520 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
521 Again, this problem only applies if black borders do not line up on |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
522 multiple-of-16 boundaries. |
21521 | 523 </para> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
524 </listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
525 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
526 <listitem> |
21521 | 527 <para> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
528 Finally, suppose we have a macroblock in the interior of the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
529 picture, and an object is moving into this block from near the edge |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
530 of the image. MPEG-type coding cannot say "copy the part that is |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
531 inside the picture but not the black border." So the black border |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
532 will get copied inside too, and lots of bits will have to be spent |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
533 encoding the part of the picture that is supposed to be there. |
21521 | 534 </para> |
535 | |
536 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
537 If the picture runs all the way to the edge of the encoded area, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
538 MPEG has special optimizations to repeatedly copy the pixels at the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
539 edge of the picture when a motion vector comes from outside the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
540 encoded area. This feature becomes useless when the movie has black |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
541 borders. Unlike problems 1 and 2, aligning the borders at multiples |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
542 of 16 does not help here. |
21521 | 543 </para> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
544 </listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
545 |
21521 | 546 <listitem><para> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
547 Despite the borders being entirely black and never changing, there |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
548 is at least a minimal amount of overhead involved in having more |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
549 macroblocks. |
21521 | 550 </para></listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
551 </orderedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
552 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
553 <para> |
21521 | 554 For all of these reasons, it is recommended to fully crop black |
555 borders. Further, if there is an area of noise/distortion at the edge | |
556 of the picture, cropping this will improve encoding efficiency as | |
557 well. Videophile purists who want to preserve the original as close as | |
558 possible may object to this cropping, but unless you plan to encode at | |
559 constant quantizer, the quality you gain from cropping will | |
560 considerably exceed the amount of information lost at the edges. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
561 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
562 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
563 |
21521 | 564 <!-- ********** --> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
565 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
566 <sect2 id="menc-feat-dvd-mpeg4-crop"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
567 <title>Cropping and Scaling</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
568 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
569 <para> |
21521 | 570 Recall from the previous section that the final picture size you |
571 encode should be a multiple of 16 (in both width and height). | |
572 This can be achieved by cropping, scaling, or a combination of both. | |
573 </para> | |
574 | |
575 <para> | |
576 When cropping, there are a few guidelines that must be followed to | |
577 avoid damaging your movie. | |
578 The normal YUV format, 4:2:0, stores chroma (color) information | |
579 subsampled, i.e. chroma is only sampled half as often in each | |
580 direction as luma (intensity) information. | |
581 Observe this diagram, where L indicates luma sampling points and C | |
582 chroma. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
583 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
584 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
585 <informaltable> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
586 <?dbhtml table-width="40%" ?> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
587 <?dbfo table-width="40%" ?> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
588 <tgroup cols="8" align="center"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
589 <colspec colnum="1" colname="col1"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
590 <colspec colnum="2" colname="col2"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
591 <colspec colnum="3" colname="col3"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
592 <colspec colnum="4" colname="col4"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
593 <colspec colnum="5" colname="col5"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
594 <colspec colnum="6" colname="col6"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
595 <colspec colnum="7" colname="col7"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
596 <colspec colnum="8" colname="col8"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
597 <spanspec spanname="spa1-2" namest="col1" nameend="col2"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
598 <spanspec spanname="spa3-4" namest="col3" nameend="col4"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
599 <spanspec spanname="spa5-6" namest="col5" nameend="col6"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
600 <spanspec spanname="spa7-8" namest="col7" nameend="col8"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
601 <tbody> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
602 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
603 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
604 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
605 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
606 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
607 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
608 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
609 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
610 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
611 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
612 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
613 <entry spanname="spa1-2">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
614 <entry spanname="spa3-4">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
615 <entry spanname="spa5-6">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
616 <entry spanname="spa7-8">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
617 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
618 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
619 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
620 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
621 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
622 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
623 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
624 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
625 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
626 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
627 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
628 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
629 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
630 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
631 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
632 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
633 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
634 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
635 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
636 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
637 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
638 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
639 <entry spanname="spa1-2">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
640 <entry spanname="spa3-4">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
641 <entry spanname="spa5-6">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
642 <entry spanname="spa7-8">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
643 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
644 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
645 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
646 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
647 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
648 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
649 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
650 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
651 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
652 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
653 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
654 </tbody> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
655 </tgroup> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
656 </informaltable> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
657 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
658 <para> |
21521 | 659 As you can see, rows and columns of the image naturally come in pairs. |
660 Thus your crop offsets and dimensions <emphasis>must</emphasis> be | |
661 even numbers. | |
662 If they are not, the chroma will no longer line up correctly with the | |
663 luma. | |
664 In theory, it is possible to crop with odd offsets, but it requires | |
665 resampling the chroma which is potentially a lossy operation and not | |
666 supported by the crop filter. | |
667 </para> | |
668 | |
669 <para> | |
670 Further, interlaced video is sampled as follows: | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
671 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
672 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
673 <informaltable> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
674 <?dbhtml table-width="80%" ?> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
675 <?dbfo table-width="80%" ?> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
676 <tgroup cols="16" align="center"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
677 <colspec colnum="1" colname="col1"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
678 <colspec colnum="2" colname="col2"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
679 <colspec colnum="3" colname="col3"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
680 <colspec colnum="4" colname="col4"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
681 <colspec colnum="5" colname="col5"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
682 <colspec colnum="6" colname="col6"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
683 <colspec colnum="7" colname="col7"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
684 <colspec colnum="8" colname="col8"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
685 <colspec colnum="9" colname="col9"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
686 <colspec colnum="10" colname="col10"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
687 <colspec colnum="11" colname="col11"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
688 <colspec colnum="12" colname="col12"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
689 <colspec colnum="13" colname="col13"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
690 <colspec colnum="14" colname="col14"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
691 <colspec colnum="15" colname="col15"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
692 <colspec colnum="16" colname="col16"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
693 <spanspec spanname="spa1-2" namest="col1" nameend="col2"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
694 <spanspec spanname="spa3-4" namest="col3" nameend="col4"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
695 <spanspec spanname="spa5-6" namest="col5" nameend="col6"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
696 <spanspec spanname="spa7-8" namest="col7" nameend="col8"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
697 <spanspec spanname="spa9-10" namest="col9" nameend="col10"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
698 <spanspec spanname="spa11-12" namest="col11" nameend="col12"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
699 <spanspec spanname="spa13-14" namest="col13" nameend="col14"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
700 <spanspec spanname="spa15-16" namest="col15" nameend="col16"/> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
701 <tbody> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
702 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
703 <entry namest="col1" nameend="col8">Top field</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
704 <entry namest="col9" nameend="col16">Bottom field</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
705 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
706 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
707 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
708 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
709 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
710 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
711 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
712 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
713 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
714 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
715 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
716 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
717 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
718 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
719 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
720 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
721 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
722 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
723 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
724 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
725 <entry spanname="spa1-2">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
726 <entry spanname="spa3-4">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
727 <entry spanname="spa5-6">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
728 <entry spanname="spa7-8">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
729 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
730 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
731 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
732 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
733 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
734 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
735 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
736 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
737 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
738 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
739 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
740 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
741 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
742 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
743 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
744 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
745 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
746 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
747 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
748 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
749 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
750 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
751 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
752 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
753 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
754 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
755 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
756 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
757 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
758 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
759 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
760 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
761 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
762 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
763 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
764 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
765 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
766 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
767 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
768 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
769 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
770 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
771 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
772 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
773 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
774 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
775 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
776 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
777 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
778 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
779 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
780 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
781 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
782 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
783 <entry spanname="spa9-10">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
784 <entry spanname="spa11-12">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
785 <entry spanname="spa13-14">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
786 <entry spanname="spa15-16">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
787 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
788 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
789 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
790 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
791 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
792 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
793 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
794 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
795 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
796 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
797 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
798 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
799 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
800 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
801 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
802 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
803 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
804 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
805 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
806 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
807 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
808 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
809 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
810 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
811 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
812 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
813 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
814 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
815 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
816 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
817 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
818 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
819 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
820 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
821 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
822 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
823 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
824 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
825 <entry spanname="spa1-2">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
826 <entry spanname="spa3-4">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
827 <entry spanname="spa5-6">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
828 <entry spanname="spa7-8">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
829 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
830 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
831 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
832 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
833 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
834 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
835 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
836 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
837 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
838 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
839 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
840 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
841 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
842 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
843 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
844 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
845 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
846 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
847 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
848 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
849 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
850 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
851 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
852 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
853 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
854 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
855 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
856 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
857 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
858 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
859 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
860 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
861 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
862 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
863 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
864 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
865 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
866 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
867 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
868 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
869 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
870 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
871 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
872 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
873 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
874 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
875 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
876 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
877 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
878 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
879 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
880 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
881 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
882 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
883 <entry spanname="spa9-10">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
884 <entry spanname="spa11-12">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
885 <entry spanname="spa13-14">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
886 <entry spanname="spa15-16">C</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
887 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
888 <row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
889 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
890 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
891 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
892 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
893 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
894 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
895 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
896 <entry></entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
897 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
898 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
899 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
900 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
901 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
902 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
903 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
904 <entry>L</entry> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
905 </row> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
906 </tbody> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
907 </tgroup> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
908 </informaltable> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
909 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
910 <para> |
21521 | 911 As you can see, the pattern does not repeat until after 4 lines. |
912 So for interlaced video, your y-offset and height for cropping must | |
913 be multiples of 4. | |
914 </para> | |
915 | |
916 <para> | |
917 Native DVD resolution is 720x480 for NTSC, and 720x576 for PAL, but | |
918 there is an aspect flag that specifies whether it is full-screen (4:3) or | |
919 wide-screen (16:9). Many (if not most) widescreen DVDs are not strictly | |
920 16:9, and will be either 1.85:1 or 2.35:1 (cinescope). This means that | |
921 there will be black bands in the video that will need to be cropped out. | |
922 </para> | |
923 | |
924 <para> | |
925 <application>MPlayer</application> provides a crop detection filter that | |
926 will determine the crop rectangle (<option>-vf cropdetect</option>). | |
927 Run <application>MPlayer</application> with | |
928 <option>-vf cropdetect</option> and it will print out the crop | |
929 settings to remove the borders. | |
930 You should let the movie run long enough that the whole picture | |
931 area is used, in order to get accurate crop values. | |
932 </para> | |
933 | |
934 <para> | |
935 Then, test the values you get with <application>MPlayer</application>, | |
936 using the command line which was printed by | |
937 <option>cropdetect</option>, and adjust the rectangle as needed. | |
938 The <option>rectangle</option> filter can help by allowing you to | |
939 interactively position the crop rectangle over your movie. | |
940 Remember to follow the above divisibility guidelines so that you | |
941 do not misalign the chroma planes. | |
942 </para> | |
943 | |
944 <para> | |
945 In certain cases, scaling may be undesirable. | |
946 Scaling in the vertical direction is difficult with interlaced | |
947 video, and if you wish to preserve the interlacing, you should | |
948 usually refrain from scaling. | |
949 If you will not be scaling but you still want to use multiple-of-16 | |
950 dimensions, you will have to overcrop. | |
951 Do not undercrop, since black borders are very bad for encoding! | |
952 </para> | |
953 | |
954 <para> | |
955 Because MPEG-4 uses 16x16 macroblocks, you will want to make sure that each | |
956 dimension of the video you are encoding is a multiple of 16 or else you | |
957 will be degrading quality, especially at lower bitrates. You can do this | |
958 by rounding the width and height of the crop rectangle down to the nearest | |
959 multiple of 16. | |
960 As stated earlier, when cropping, you will want to increase the Y offset by | |
961 half the difference of the old and the new height so that the resulting | |
962 video is taken from the center of the frame. And because of the way DVD | |
963 video is sampled, make sure the offset is an even number. (In fact, as a | |
964 rule, never use odd values for any parameter when you are cropping and | |
965 scaling video.) If you are not comfortable throwing a few extra pixels | |
25280 | 966 away, you might prefer to scale the video instead. We will look |
21521 | 967 at this in our example below. |
968 You can actually let the <option>cropdetect</option> filter do all of the | |
969 above for you, as it has an optional <option>round</option> parameter that | |
970 is equal to 16 by default. | |
971 </para> | |
972 | |
973 <para> | |
974 Also, be careful about "half black" pixels at the edges. Make sure you | |
975 crop these out too, or else you will be wasting bits there that | |
976 are better spent elsewhere. | |
977 </para> | |
978 | |
979 <para> | |
980 After all is said and done, you will probably end up with video whose pixels | |
981 are not quite 1.85:1 or 2.35:1, but rather something close to that. You | |
982 could calculate the new aspect ratio manually, but | |
983 <application>MEncoder</application> offers an option for <systemitem | |
984 class="library">libavcodec</systemitem> called <option>autoaspect</option> | |
985 that will do this for you. Absolutely do not scale this video up in order to | |
986 square the pixels unless you like to waste your hard disk space. Scaling | |
987 should be done on playback, and the player will use the aspect stored in | |
988 the AVI to determine the correct resolution. | |
989 Unfortunately, not all players enforce this auto-scaling information, | |
990 therefore you may still want to rescale. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
991 </para> |
16085
c1dd920e736c
New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents:
16080
diff
changeset
|
992 </sect2> |
c1dd920e736c
New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents:
16080
diff
changeset
|
993 |
21521 | 994 <!-- ********** --> |
16085
c1dd920e736c
New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents:
16080
diff
changeset
|
995 |
c1dd920e736c
New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents:
16080
diff
changeset
|
996 <sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate"> |
c1dd920e736c
New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents:
16080
diff
changeset
|
997 <title>Choosing resolution and bitrate</title> |
c1dd920e736c
New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents:
16080
diff
changeset
|
998 |
c1dd920e736c
New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents:
16080
diff
changeset
|
999 <para> |
21521 | 1000 If you will not be encoding in constant quantizer mode, you need to |
1001 select a bitrate. | |
1002 The concept of bitrate is quite simple. | |
1003 It is the (average) number of bits that will be consumed to store your | |
1004 movie, per second. | |
1005 Normally bitrate is measured in kilobits (1000 bits) per second. | |
1006 The size of your movie on disk is the bitrate times the length of the | |
1007 movie in time, plus a small amount of "overhead" (see the section on | |
1008 <link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">the AVI container</link> | |
1009 for instance). | |
1010 Other parameters such as scaling, cropping, etc. will | |
1011 <emphasis role="bold">not</emphasis> alter the file size unless you | |
25280 | 1012 change the bitrate as well! |
21521 | 1013 </para> |
1014 | |
1015 <para> | |
1016 Bitrate does <emphasis role="bold">not</emphasis> scale proportionally | |
1017 to resolution. | |
1018 That is to say, a 320x240 file at 200 kbit/sec will not be the same | |
1019 quality as the same movie at 640x480 and 800 kbit/sec! | |
1020 There are two reasons for this: | |
16085
c1dd920e736c
New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents:
16080
diff
changeset
|
1021 <orderedlist> |
21521 | 1022 <listitem><para> |
1023 <emphasis role="bold">Perceptual</emphasis>: You notice MPEG | |
1024 artifacts more if they are scaled up bigger! | |
1025 Artifacts appear on the scale of blocks (8x8). | |
1026 Your eye will not see errors in 4800 small blocks as easily as it | |
1027 sees errors in 1200 large blocks (assuming you will be scaling both | |
1028 to fullscreen). | |
1029 </para></listitem> | |
1030 <listitem><para> | |
1031 <emphasis role="bold">Theoretical</emphasis>: When you scale down | |
1032 an image but still use the same size (8x8) blocks for the frequency | |
1033 space transform, you move more data to the high frequency bands. | |
1034 Roughly speaking, each pixel contains more of the detail than it | |
1035 did before. | |
1036 So even though your scaled-down picture contains 1/4 the information | |
1037 in the spacial directions, it could still contain a large portion | |
1038 of the information in the frequency domain (assuming that the high | |
1039 frequencies were underutilized in the original 640x480 image). | |
1040 </para></listitem> | |
1041 </orderedlist> | |
1042 </para> | |
1043 | |
1044 <para> | |
1045 Past guides have recommended choosing a bitrate and resolution based | |
1046 on a "bits per pixel" approach, but this is usually not valid due to | |
1047 the above reasons. | |
1048 A better estimate seems to be that bitrates scale proportional to the | |
1049 square root of resolution, so that 320x240 and 400 kbit/sec would be | |
1050 comparable to 640x480 at 800 kbit/sec. | |
1051 However this has not been verified with theoretical or empirical | |
1052 rigor. | |
1053 Further, given that movies vary greatly with regard to noise, detail, | |
1054 degree of motion, etc., it is futile to make general recommendations | |
1055 for bits per length-of-diagonal (the analog of bits per pixel, | |
1056 using the square root). | |
1057 </para> | |
1058 <para> | |
1059 So far we have discussed the difficulty of choosing a bitrate and | |
1060 resolution. | |
16085
c1dd920e736c
New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents:
16080
diff
changeset
|
1061 </para> |
c1dd920e736c
New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents:
16080
diff
changeset
|
1062 |
c1dd920e736c
New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents:
16080
diff
changeset
|
1063 |
c1dd920e736c
New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents:
16080
diff
changeset
|
1064 <sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute"> |
c1dd920e736c
New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents:
16080
diff
changeset
|
1065 <title>Computing the resolution</title> |
21521 | 1066 |
1067 <para> | |
1068 The following steps will guide you in computing the resolution of your | |
1069 encode without distorting the video too much, by taking into account several | |
1070 types of information about the source video. | |
1071 First, you should compute the encoded aspect ratio: | |
1072 <systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem> | |
1073 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1074 <itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1075 <title>where:</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1076 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1077 Wc and Hc are the width and height of the cropped video, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1078 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1079 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1080 ARa is the displayed aspect ratio, which usually is 4/3 or 16/9, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1081 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1082 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1083 PRdvd is the pixel ratio of the DVD which is equal to 1.25=(720/576) for PAL |
25280 | 1084 DVDs and 1.5=(720/480) for NTSC DVDs. |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1085 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1086 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1087 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1088 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1089 <para> |
21521 | 1090 Then, you can compute the X and Y resolution, according to a certain |
1091 Compression Quality (CQ) factor: | |
1092 <systemitem>ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16</systemitem> | |
1093 and | |
1094 <systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem> | |
1095 </para> | |
1096 | |
1097 <para> | |
1098 Okay, but what is the CQ? | |
1099 The CQ represents the number of bits per pixel and per frame of the encode. | |
1100 Roughly speaking, the greater the CQ, the less the likelihood to see | |
1101 encoding artifacts. | |
1102 However, if you have a target size for your movie (1 or 2 CDs for instance), | |
1103 there is a limited total number of bits that you can spend; therefore it is | |
1104 necessary to find a good tradeoff between compressibility and quality. | |
1105 </para> | |
1106 | |
1107 <para> | |
1108 The CQ depends on the bitrate, the video codec efficiency and the | |
1109 movie resolution. | |
1110 In order to raise the CQ, typically you would downscale the movie given that the | |
1111 bitrate is computed in function of the target size and the length of the | |
1112 movie, which are constant. | |
1113 With MPEG-4 ASP codecs such as <systemitem class="library">Xvid</systemitem> | |
1114 and <systemitem class="library">libavcodec</systemitem>, a CQ below 0.18 | |
1115 usually results in a pretty blocky picture, because there | |
1116 are not enough bits to code the information of each macroblock. (MPEG4, like | |
1117 many other codecs, groups pixels by blocks of several pixels to compress the | |
1118 image; if there are not enough bits, the edges of those blocks are | |
1119 visible.) | |
1120 It is therefore wise to take a CQ ranging from 0.20 to 0.22 for a 1 CD rip, | |
1121 and 0.26-0.28 for 2 CDs rip with standard encoding options. | |
1122 More advanced encoding options such as those listed here for | |
1123 <link linkend="menc-feat-mpeg4-lavc-example-settings"><systemitem class="library">libavcodec</systemitem></link> | |
1124 and | |
20860 | 1125 <link linkend="menc-feat-xvid-example-settings"><systemitem class="library">Xvid</systemitem></link> |
21521 | 1126 should make it possible to get the same quality with CQ ranging from |
1127 0.18 to 0.20 for a 1 CD rip, and 0.24 to 0.26 for a 2 CD rip. | |
21784 | 1128 With MPEG-4 AVC codecs such as <systemitem class="library">x264</systemitem>, |
21521 | 1129 you can use a CQ ranging from 0.14 to 0.16 with standard encoding options, |
1130 and should be able to go as low as 0.10 to 0.12 with | |
1131 <link linkend="menc-feat-x264-example-settings"><systemitem class="library">x264</systemitem>'s advanced encoding settings</link>. | |
1132 </para> | |
1133 | |
1134 <para> | |
1135 Please take note that the CQ is just an indicative figure, as depending on | |
1136 the encoded content, a CQ of 0.18 may look just fine for a Bergman, contrary | |
1137 to a movie such as The Matrix, which contains many high-motion scenes. | |
1138 On the other hand, it is worthless to raise CQ higher than 0.30 as you would | |
1139 be wasting bits without any noticeable quality gain. | |
1140 Also note that as mentioned earlier in this guide, low resolution videos | |
1141 need a bigger CQ (compared to, for instance, DVD resolution) to look good. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1142 </para> |
16085
c1dd920e736c
New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents:
16080
diff
changeset
|
1143 </sect3> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1144 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1145 |
21521 | 1146 <!-- ********** --> |
1147 | |
16086
6c16b60516f3
Moves the "audio" section just before the "muxing" section. + fixes suggested by Jeff
gpoirier
parents:
16085
diff
changeset
|
1148 <sect2 id="menc-feat-dvd-mpeg4-filtering"> |
6c16b60516f3
Moves the "audio" section just before the "muxing" section. + fixes suggested by Jeff
gpoirier
parents:
16085
diff
changeset
|
1149 <title>Filtering</title> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1150 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1151 <para> |
21521 | 1152 Learning how to use <application>MEncoder</application>'s video filters |
1153 is essential to producing good encodes. | |
1154 All video processing is performed through the filters -- cropping, | |
1155 scaling, color adjustment, noise removal, sharpening, deinterlacing, | |
1156 telecine, inverse telecine, and deblocking, just to name a few. | |
1157 Along with the vast number of supported input formats, the variety of | |
1158 filters available in <application>MEncoder</application> is one of its | |
1159 main advantages over other similar programs. | |
1160 </para> | |
1161 | |
1162 <para> | |
1163 Filters are loaded in a chain using the -vf option: | |
1164 | |
1165 <screen>-vf filter1=options,filter2=options,...</screen> | |
1166 | |
1167 Most filters take several numeric options separated by colons, but | |
1168 the syntax for options varies from filter to filter, so read the man | |
1169 page for details on the filters you wish to use. | |
1170 </para> | |
1171 | |
1172 <para> | |
1173 Filters operate on the video in the order they are loaded. | |
1174 For example, the following chain: | |
1175 | |
1176 <screen>-vf crop=688:464:12:4,scale=640:464</screen> | |
1177 | |
1178 will first crop the 688x464 region of the picture with upper-left | |
1179 corner at (12,4), and then scale the result down to 640x464. | |
1180 </para> | |
1181 | |
1182 <para> | |
1183 Certain filters need to be loaded at or near the beginning of the | |
1184 filter chain, in order to take advantage of information from the | |
1185 video decoder that will be lost or invalidated by other filters. | |
1186 The principal examples are <option>pp</option> (postprocessing, only | |
1187 when it is performing deblock or dering operations), | |
1188 <option>spp</option> (another postprocessor to remove MPEG artifacts), | |
1189 <option>pullup</option> (inverse telecine), and | |
1190 <option>softpulldown</option> (for converting soft telecine to hard telecine). | |
1191 </para> | |
1192 | |
1193 <para> | |
1194 In general, you want to do as little filtering as possible to the movie | |
1195 in order to remain close to the original DVD source. Cropping is often | |
1196 necessary (as described above), but avoid to scale the video. Although | |
1197 scaling down is sometimes preferred to using higher quantizers, we want | |
1198 to avoid both these things: remember that we decided from the start to | |
1199 trade bits for quality. | |
1200 </para> | |
1201 | |
1202 <para> | |
1203 Also, do not adjust gamma, contrast, brightness, etc. What looks good | |
1204 on your display may not look good on others. These adjustments should | |
1205 be done on playback only. | |
1206 </para> | |
1207 | |
1208 <para> | |
1209 One thing you might want to do, however, is pass the video through a | |
1210 very light denoise filter, such as <option>-vf hqdn3d=2:1:2</option>. | |
1211 Again, it is a matter of putting those bits to better use: why waste them | |
1212 encoding noise when you can just add that noise back in during playback? | |
1213 Increasing the parameters for <option>hqdn3d</option> will further | |
1214 improve compressibility, but if you increase the values too much, you | |
26958 | 1215 risk degrading the image visibly. The suggested values above |
21521 | 1216 (<option>2:1:2</option>) are quite conservative; you should feel free to |
1217 experiment with higher values and observe the results for yourself. | |
1218 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1219 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1220 |
21521 | 1221 <!-- ********** --> |
16086
6c16b60516f3
Moves the "audio" section just before the "muxing" section. + fixes suggested by Jeff
gpoirier
parents:
16085
diff
changeset
|
1222 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1223 <sect2 id="menc-feat-dvd-mpeg4-interlacing"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1224 <title>Interlacing and Telecine</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1225 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1226 <para> |
21521 | 1227 Almost all movies are shot at 24 fps. Because NTSC is 30000/1001 fps, some |
1228 processing must be done to this 24 fps video to make it run at the correct | |
1229 NTSC framerate. The process is called 3:2 pulldown, commonly referred to | |
1230 as telecine (because pulldown is often applied during the telecine | |
1231 process), and, naively described, it works by slowing the film down to | |
1232 24000/1001 fps, and repeating every fourth frame. | |
1233 </para> | |
1234 | |
1235 <para> | |
1236 No special processing, however, is done to the video for PAL DVDs, which | |
1237 run at 25 fps. (Technically, PAL can be telecined, called 2:2 pulldown, | |
1238 but this does not become an issue in practice.) The 24 fps film is simply | |
1239 played back at 25 fps. The result is that the movie runs slightly faster, | |
1240 but unless you are an alien, you probably will not notice the difference. | |
1241 Most PAL DVDs have pitch-corrected audio, so when they are played back at | |
1242 25 fps things will sound right, even though the audio track (and hence the | |
1243 whole movie) has a running time that is 4% less than NTSC DVDs. | |
1244 </para> | |
1245 | |
1246 <para> | |
1247 Because the video in a PAL DVD has not been altered, you need not worry | |
1248 much about framerate. The source is 25 fps, and your rip will be 25 | |
1249 fps. However, if you are ripping an NTSC DVD movie, you may need to | |
1250 apply inverse telecine. | |
1251 </para> | |
1252 | |
1253 <para> | |
1254 For movies shot at 24 fps, the video on the NTSC DVD is either telecined | |
1255 30000/1001, or else it is progressive 24000/1001 fps and intended to be | |
1256 telecined on-the-fly by a DVD player. On the other hand, TV series are usually | |
1257 only interlaced, not telecined. This is not a hard rule: some TV series | |
1258 are interlaced (such as Buffy the Vampire Slayer) whereas some are a | |
1259 mixture of progressive and interlaced (such as Angel, or 24). | |
1260 </para> | |
1261 | |
1262 <para> | |
1263 It is highly recommended that you read the section on | |
1264 <link linkend="menc-feat-telecine">How to deal with telecine and interlacing in NTSC DVDs</link> | |
1265 to learn how to handle the different possibilities. | |
1266 </para> | |
1267 | |
1268 <para> | |
1269 However, if you are mostly just ripping movies, likely you are either | |
1270 dealing with 24 fps progressive or telecined video, in which case you can | |
1271 use the <option>pullup</option> filter <option>-vf | |
1272 pullup,softskip</option>. | |
1273 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1274 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1275 |
21521 | 1276 <!-- ********** --> |
1277 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1278 <sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1279 <title>Encoding interlaced video</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1280 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1281 <para> |
21521 | 1282 If the movie you want to encode is interlaced (NTSC video or |
1283 PAL video), you will need to choose whether you want to | |
1284 deinterlace or not. | |
1285 While deinterlacing will make your movie usable on progressive | |
1286 scan displays such a computer monitors and projectors, it comes | |
1287 at a cost: The fieldrate of 50 or 60000/1001 fields per second | |
1288 is halved to 25 or 30000/1001 frames per second, and roughly half of | |
1289 the information in your movie will be lost during scenes with | |
1290 significant motion. | |
1291 </para> | |
1292 | |
1293 <para> | |
1294 Therefore, if you are encoding for high quality archival purposes, | |
1295 it is recommended not to deinterlace. | |
1296 You can always deinterlace the movie at playback time when | |
1297 displaying it on progressive scan devices. | |
1298 The power of currently available computers forces players to use a | |
1299 deinterlacing filter, which results in a slight degradation in | |
1300 image quality. | |
1301 But future players will be able to mimic the interlaced display of | |
1302 a TV, deinterlacing to full fieldrate and interpolating 50 or | |
1303 60000/1001 entire frames per second from the interlaced video. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1304 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1305 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1306 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1307 Special care must be taken when working with interlaced video: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1308 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1309 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1310 <orderedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1311 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1312 Crop height and y-offset must be multiples of 4. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1313 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1314 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1315 Any vertical scaling must be performed in interlaced mode. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1316 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1317 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1318 Postprocessing and denoising filters may not work as expected |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1319 unless you take special care to operate them a field at a time, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1320 and they may damage the video if used incorrectly. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1321 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1322 </orderedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1323 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1324 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1325 With these things in mind, here is our first example: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1326 <screen> |
21521 | 1327 mencoder <replaceable>capture.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \ |
1328 vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1329 </screen> |
16816 | 1330 Note the <option>ilme</option> and <option>ildct</option> options. |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1331 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1332 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1333 |
21521 | 1334 <!-- ********** --> |
16086
6c16b60516f3
Moves the "audio" section just before the "muxing" section. + fixes suggested by Jeff
gpoirier
parents:
16085
diff
changeset
|
1335 |
16339
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1336 <sect2 id="menc-feat-dvd-mpeg4-av-sync"> |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1337 <title>Notes on Audio/Video synchronization</title> |
21521 | 1338 |
16339
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1339 <para> |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1340 <application>MEncoder</application>'s audio/video synchronization |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1341 algorithms were designed with the intention of recovering files with |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1342 broken sync. |
16364 | 1343 However, in some cases they can cause unnecessary skipping and duplication of |
16383
3cc0d81806bf
In order to make sure A/V sync is preserved, MEncoder really has to be fed with an audio track.
gpoirier
parents:
16364
diff
changeset
|
1344 frames, and possibly slight A/V desync, when used with proper input |
16387 | 1345 (of course, A/V sync issues apply only if you process or copy the |
16383
3cc0d81806bf
In order to make sure A/V sync is preserved, MEncoder really has to be fed with an audio track.
gpoirier
parents:
16364
diff
changeset
|
1346 audio track while transcoding the video, which is strongly encouraged). |
16364 | 1347 Therefore, you may have to switch to basic A/V sync with |
16339
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1348 the <option>-mc 0</option> option, or put this in your |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1349 <systemitem>~/.mplayer/mencoder</systemitem> config file, as long as |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1350 you are only working with good sources (DVD, TV capture, high quality |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1351 MPEG-4 rips, etc) and not broken ASF/RM/MOV files. |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1352 </para> |
21521 | 1353 |
16339
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1354 <para> |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1355 If you want to further guard against strange frame skips and |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1356 duplication, you can use both <option>-mc 0</option> and |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1357 <option>-noskip</option>. |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1358 This will prevent <emphasis>all</emphasis> A/V sync, and copy frames |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1359 one-to-one, so you cannot use it if you will be using any filters that |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1360 unpredictably add or drop frames, or if your input file has variable |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1361 framerate! |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1362 Therefore, using <option>-noskip</option> is not in general recommended. |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1363 </para> |
21521 | 1364 |
1365 <para> | |
1366 The so-called "three-pass" audio encoding which | |
1367 <application>MEncoder</application> supports has been reported to cause A/V | |
1368 desync. | |
16339
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1369 This will definitely happen if it is used in conjunction with certain |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1370 filters, therefore, it is now recommended <emphasis>not</emphasis> to |
16364 | 1371 use three-pass audio mode. |
16339
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1372 This feature is only left for compatibility purposes and for expert |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1373 users who understand when it is safe to use and when it is not. |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1374 If you have never heard of three-pass mode before, forget that we |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1375 even mentioned it! |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1376 </para> |
21521 | 1377 |
16339
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1378 <para> |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1379 There have also been reports of A/V desync when encoding from stdin |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1380 with <application>MEncoder</application>. |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1381 Do not do this! Always use a file or CD/DVD/etc device as input. |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1382 </para> |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1383 </sect2> |
9d772123c27d
New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents:
16283
diff
changeset
|
1384 |
21521 | 1385 <!-- ********** --> |
1386 | |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1387 <sect2 id="menc-feat-dvd-mpeg4-codec"> |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1388 <title>Choosing the video codec</title> |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1389 |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1390 <para> |
21521 | 1391 Which video codec is best to choose depends on several factors, |
1392 like size, quality, streamability, usability and popularity, some of | |
1393 which widely depend on personal taste and technical constraints. | |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1394 </para> |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1395 <itemizedlist> |
21521 | 1396 <listitem> |
1397 <para> | |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1398 <emphasis role="bold">Compression efficiency</emphasis>: |
17755
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1399 It is quite easy to understand that most newer-generation codecs are |
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1400 made to increase quality and compression. |
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1401 Therefore, the authors of this guide and many other people suggest that |
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1402 you cannot go wrong |
21521 | 1403 <footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'><para> |
1404 Be careful, however: Decoding DVD-resolution MPEG-4 AVC videos | |
20037 | 1405 requires a fast machine (i.e. a Pentium 4 over 1.5GHz or a Pentium M |
1406 over 1GHz). | |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1407 </para></footnote> |
17253 | 1408 when choosing MPEG-4 AVC codecs like |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1409 <systemitem class="library">x264</systemitem> instead of MPEG-4 ASP codecs |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1410 such as <systemitem class="library">libavcodec</systemitem> MPEG-4 or |
20860 | 1411 <systemitem class="library">Xvid</systemitem>. |
17755
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1412 (Advanced codec developers may be interested in reading Michael |
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1413 Niedermayer's opinion on |
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1414 "<ulink url="http://guru.multimedia.cx/?p=10">why MPEG4-ASP sucks</ulink>".) |
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1415 Likewise, you should get better quality using MPEG-4 ASP than you |
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1416 would with MPEG-2 codecs. |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1417 </para> |
21521 | 1418 |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1419 <para> |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1420 However, newer codecs which are in heavy development can suffer from |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1421 bugs which have not yet been noticed and which can ruin an encode. |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1422 This is simply the tradeoff for using bleeding-edge technology. |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1423 </para> |
21521 | 1424 |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1425 <para> |
17253 | 1426 What is more, beginning to use a new codec requires that you spend some |
1427 time becoming familiar with its options, so that you know what | |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1428 to adjust to achieve a desired picture quality. |
21521 | 1429 </para> |
1430 </listitem> | |
1431 | |
1432 <listitem><para> | |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1433 <emphasis role="bold">Hardware compatibility</emphasis>: |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1434 It usually takes a long time for standalone video players to begin to |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1435 include support for the latest video codecs. |
17593
7c700dc8e37d
Gives some examples of in which form MPEG* videos can come
gpoirier
parents:
17406
diff
changeset
|
1436 As a result, most only support MPEG-1 (like VCD, XVCD and KVCD), MPEG-2 |
7c700dc8e37d
Gives some examples of in which form MPEG* videos can come
gpoirier
parents:
17406
diff
changeset
|
1437 (like DVD, SVCD and KVCD) and MPEG-4 ASP (like DivX, |
7c700dc8e37d
Gives some examples of in which form MPEG* videos can come
gpoirier
parents:
17406
diff
changeset
|
1438 <systemitem class="library">libavcodec</systemitem>'s LMP4 and |
20860 | 1439 <systemitem class="library">Xvid</systemitem>) |
17253 | 1440 (Beware: Usually, not all MPEG-4 ASP features are supported). |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1441 Please refer to the technical specs of your player (if they are available), |
17253 | 1442 or google around for more information. |
21521 | 1443 </para></listitem> |
1444 | |
1445 <listitem> | |
1446 <para> | |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1447 <emphasis role="bold">Best quality per encoding time</emphasis>: |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1448 Codecs that have been around for some time (such as |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1449 <systemitem class="library">libavcodec</systemitem> MPEG-4 and |
20860 | 1450 <systemitem class="library">Xvid</systemitem>) are usually heavily |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1451 optimized with all kinds of smart algorithms and SIMD assembly code. |
17753 | 1452 That is why they tend to yield the best quality per encoding time ratio. |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1453 However, they may have some very advanced options that, if enabled, |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1454 will make the encode really slow for marginal gains. |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1455 </para> |
21521 | 1456 |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1457 <para> |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1458 If you are after blazing speed you should stick around the default |
17755
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1459 settings of the video codec (although you should still try the other |
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1460 options which are mentioned in other sections of this guide). |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1461 </para> |
21521 | 1462 |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1463 <para> |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1464 You may also consider choosing a codec which can do multi-threaded |
17755
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1465 processing, though this is only useful for users of machines with |
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1466 several CPUs. |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1467 <systemitem class="library">libavcodec</systemitem> MPEG-4 does |
17755
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1468 allow that, but speed gains are limited, and there is a slight |
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1469 negative effect on picture quality. |
20860 | 1470 <systemitem class="library">Xvid</systemitem>'s multi-threaded encoding, |
17757
9376e7b470d6
10l to Guillaume. It's <option>, not <options>. xmllint would've told you that.
rathann
parents:
17755
diff
changeset
|
1471 activated by the <option>threads</option> option, can be used to |
17755
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1472 boost encoding speed — by about 40-60% in typical cases — |
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1473 with little if any picture degradation. |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1474 <systemitem class="library">x264</systemitem> also allows multi-threaded |
21914
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
1475 encoding, which currently speeds up encoding by 94% per CPU core while |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
1476 lowering PSNR between 0.005dB and 0.01dB on a typical setup. |
21521 | 1477 </para> |
1478 </listitem> | |
1479 | |
1480 <listitem> | |
1481 <para> | |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1482 <emphasis role="bold">Personal taste</emphasis>: |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1483 This is where it gets almost irrational: For the same reason that some |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1484 hung on to DivX 3 for years when newer codecs were already doing wonders, |
20860 | 1485 some folks will prefer <systemitem class="library">Xvid</systemitem> |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1486 or <systemitem class="library">libavcodec</systemitem> MPEG-4 over |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1487 <systemitem class="library">x264</systemitem>. |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1488 </para> |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1489 <para> |
17755
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1490 You should make your own judgement; do not take advice from people who |
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1491 swear by one codec. |
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1492 Take a few sample clips from raw sources and compare different |
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1493 encoding options and codecs to find one that suits you best. |
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1494 The best codec is the one you master, and the one that looks |
7d2a7df681e6
various improvements of the section "Choosing the video codec"
gpoirier
parents:
17753
diff
changeset
|
1495 best to your eyes on your display |
21521 | 1496 <footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'><para> |
1497 The same encode may not look the same on someone else's monitor or | |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1498 when played back by a different decoder, so future-proof your encodes by |
21521 | 1499 playing them back on different setups. |
1500 </para></footnote>! | |
1501 </para> | |
1502 </listitem> | |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1503 </itemizedlist> |
21521 | 1504 |
1505 <para> | |
1506 Please refer to the section | |
1507 <link linkend="menc-feat-selecting-codec">selecting codecs and container formats</link> | |
1508 to get a list of supported codecs. | |
17249
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1509 </para> |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1510 </sect2> |
4d4878a4c6e5
New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents:
17105
diff
changeset
|
1511 |
21521 | 1512 <!-- ********** --> |
1513 | |
16086
6c16b60516f3
Moves the "audio" section just before the "muxing" section. + fixes suggested by Jeff
gpoirier
parents:
16085
diff
changeset
|
1514 <sect2 id="menc-feat-dvd-mpeg4-audio"> |
6c16b60516f3
Moves the "audio" section just before the "muxing" section. + fixes suggested by Jeff
gpoirier
parents:
16085
diff
changeset
|
1515 <title>Audio</title> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1516 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1517 <para> |
21521 | 1518 Audio is a much simpler problem to solve: if you care about quality, just |
1519 leave it as is. | |
24036 | 1520 Even AC-3 5.1 streams are at most 448Kbit/s, and they are worth every bit. |
21521 | 1521 You might be tempted to transcode the audio to high quality Vorbis, but |
24036 | 1522 just because you do not have an A/V receiver for AC-3 pass-through today |
21521 | 1523 does not mean you will not have one tomorrow. Future-proof your DVD rips by |
24036 | 1524 preserving the AC-3 stream. |
1525 You can keep the AC-3 stream either by copying it directly into the video | |
21521 | 1526 stream <link linkend="menc-feat-mpeg4">during the encoding</link>. |
24036 | 1527 You can also extract the AC-3 stream in order to mux it into containers such |
21521 | 1528 as NUT or Matroska. |
1529 <screen> | |
1530 mplayer <replaceable>source_file.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>sound.ac3</replaceable> | |
1531 </screen> | |
1532 will dump into the file <replaceable>sound.ac3</replaceable> the | |
1533 audio track number 129 from the file | |
1534 <replaceable>source_file.vob</replaceable> (NB: DVD VOB files | |
1535 usually use a different audio numbering, | |
1536 which means that the VOB audio track 129 is the 2nd audio track of the file). | |
1537 </para> | |
1538 | |
1539 <para> | |
1540 But sometimes you truly have no choice but to further compress the | |
1541 sound so that more bits can be spent on the video. | |
1542 Most people choose to compress audio with either MP3 or Vorbis audio codecs. | |
1543 While the latter is a very space-efficient codec, MP3 is better supported | |
1544 by hardware players, although this trend is changing. | |
1545 </para> | |
1546 | |
1547 <para> | |
1548 Do <emphasis>not</emphasis> use <option>-nosound</option> when encoding | |
1549 a file with audio, even if you will be encoding and muxing audio | |
1550 separately later. | |
1551 Though it may work in ideal cases, using <option>-nosound</option> is | |
1552 likely to hide some problems in your encoding command line setting. | |
1553 In other words, having a soundtrack during your encode assures you that, | |
1554 provided you do not see messages such as | |
1555 <quote>Too many audio packets in the buffer</quote>, you will be able | |
1556 to get proper sync. | |
1557 </para> | |
1558 | |
1559 <para> | |
1560 You need to have <application>MEncoder</application> process the sound. | |
26958 | 1561 You can for example copy the original soundtrack during the encode with |
21521 | 1562 <option>-oac copy</option> or convert it to a "light" 4 kHz mono WAV |
1563 PCM with <option>-oac pcm -channels 1 -srate 4000</option>. | |
1564 Otherwise, in some cases, it will generate a video file that will not sync | |
1565 with the audio. | |
1566 Such cases are when the number of video frames in the source file does | |
1567 not match up to the total length of audio frames or whenever there | |
1568 are discontinuities/splices where there are missing or extra audio frames. | |
1569 The correct way to handle this kind of problem is to insert silence or | |
1570 cut audio at these points. | |
1571 However <application>MPlayer</application> cannot do that, so if you | |
24036 | 1572 demux the AC-3 audio and encode it with a separate app (or dump it to PCM with |
21521 | 1573 <application>MPlayer</application>), the splices will be left incorrect |
26958 | 1574 and the only way to correct them is to drop/duplicate video frames at the |
21521 | 1575 splice. |
1576 As long as <application>MEncoder</application> sees the audio when it is | |
1577 encoding the video, it can do this dropping/duping (which is usually OK | |
26958 | 1578 since it takes place at full black/scene change), but if |
21521 | 1579 <application>MEncoder</application> cannot see the audio, it will just |
1580 process all frames as-is and they will not fit the final audio stream when | |
1581 you for example merge your audio and video track into a Matroska file. | |
1582 </para> | |
1583 | |
1584 <para> | |
1585 First of all, you will have to convert the DVD sound into a WAV file that the | |
1586 audio codec can use as input. | |
1587 For example: | |
1588 <screen> | |
1589 mplayer <replaceable>source_file.vob</replaceable> -ao pcm:file=<replaceable>destination_sound.wav</replaceable> \ | |
1590 -vc dummy -aid 1 -vo null | |
1591 </screen> | |
1592 will dump the second audio track from the file | |
1593 <replaceable>source_file.vob</replaceable> into the file | |
1594 <replaceable>destination_sound.wav</replaceable>. | |
1595 You may want to normalize the sound before encoding, as DVD audio tracks | |
1596 are commonly recorded at low volumes. | |
1597 You can use the tool <application>normalize</application> for instance, | |
1598 which is available in most distributions. | |
1599 If you are using Windows, a tool such as <application>BeSweet</application> | |
1600 can do the same job. | |
1601 You will compress in either Vorbis or MP3. | |
1602 For example: | |
1603 <screen>oggenc -q1 <replaceable>destination_sound.wav</replaceable></screen> | |
1604 will encode <replaceable>destination_sound.wav</replaceable> with | |
1605 the encoding quality 1, which is roughly equivalent to 80Kb/s, and | |
1606 is the minimum quality at which you should encode if you care about | |
1607 quality. | |
1608 Please note that <application>MEncoder</application> currently cannot | |
1609 mux Vorbis audio tracks | |
1610 into the output file because it only supports AVI and MPEG | |
1611 containers as an output, each of which may lead to audio/video | |
1612 playback synchronization problems with some players when the AVI file | |
1613 contain VBR audio streams such as Vorbis. | |
1614 Do not worry, this document will show you how you can do that with third | |
1615 party programs. | |
1616 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1617 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1618 |
21521 | 1619 <!-- ********** --> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1620 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1621 <sect2 id="menc-feat-dvd-mpeg4-muxing"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1622 <title>Muxing</title> |
21521 | 1623 |
1624 <para> | |
1625 Now that you have encoded your video, you will most likely want | |
1626 to mux it with one or more audio tracks into a movie container, such | |
1627 as AVI, MPEG, Matroska or NUT. | |
1628 <application>MEncoder</application> is currently only able to natively output | |
1629 audio and video into MPEG and AVI container formats. | |
1630 for example: | |
1631 <screen> | |
1632 mencoder -oac copy -ovc copy -o <replaceable>output_movie.avi</replaceable> \ | |
1633 -audiofile <replaceable>input_audio.mp2</replaceable> <replaceable>input_video.avi</replaceable> | |
1634 </screen> | |
1635 This would merge the video file <replaceable>input_video.avi</replaceable> | |
1636 and the audio file <replaceable>input_audio.mp2</replaceable> | |
1637 into the AVI file <replaceable>output_movie.avi</replaceable>. | |
1638 This command works with MPEG-1 layer I, II and III (more commonly known | |
1639 as MP3) audio, WAV and a few other audio formats too. | |
1640 </para> | |
1641 | |
1642 <para> | |
1643 <application>MEncoder</application> features experimental support for | |
1644 <systemitem class="library">libavformat</systemitem>, which is a | |
1645 library from the FFmpeg project that supports muxing and demuxing | |
1646 a variety of containers. | |
1647 For example: | |
1648 <screen> | |
1649 mencoder -oac copy -ovc copy -o <replaceable>output_movie.asf</replaceable> -audiofile <replaceable>input_audio.mp2</replaceable> \ | |
1650 <replaceable>input_video.avi</replaceable> -of lavf -lavfopts format=asf | |
1651 </screen> | |
1652 This will do the same thing as the previous example, except that | |
1653 the output container will be ASF. | |
1654 Please note that this support is highly experimental (but getting | |
1655 better every day), and will only work if you compiled | |
1656 <application>MPlayer</application> with the support for | |
1657 <systemitem class="library">libavformat</systemitem> enabled (which | |
1658 means that a pre-packaged binary version will not work in most cases). | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1659 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1660 |
16420 | 1661 |
1662 <sect3 id="menc-feat-dvd-mpeg4-muxing-filter-issues"> | |
1663 <title>Improving muxing and A/V sync reliability</title> | |
21521 | 1664 |
1665 <para> | |
1666 You may experience some serious A/V sync problems while trying to mux | |
1667 your video and some audio tracks, where no matter how you adjust the | |
1668 audio delay, you will never get proper sync. | |
1669 That may happen when you use some video filters that will drop or | |
1670 duplicate some frames, like the inverse telecine filters. | |
1671 It is strongly encouraged to append the <option>harddup</option> video | |
1672 filter at the end of the filter chain to avoid this kind of problem. | |
1673 </para> | |
1674 | |
1675 <para> | |
1676 Without <option>harddup</option>, if <application>MEncoder</application> | |
1677 wants to duplicate a frame, it relies on the muxer to put a mark on the | |
1678 container so that the last frame will be displayed again to maintain | |
1679 sync while writing no actual frame. | |
1680 With <option>harddup</option>, <application>MEncoder</application> | |
1681 will instead just push the last frame displayed again into the filter | |
1682 chain. | |
1683 This means that the encoder receives the <emphasis>exact</emphasis> | |
1684 same frame twice, and compresses it. | |
1685 This will result in a slightly bigger file, but will not cause problems | |
1686 when demuxing or remuxing into other container formats. | |
1687 </para> | |
1688 | |
1689 <para> | |
1690 You may also have no choice but to use <option>harddup</option> with | |
1691 container formats that are not too tightly linked with | |
1692 <application>MEncoder</application> such as the ones supported through | |
1693 <systemitem class="library">libavformat</systemitem>, which may not | |
1694 support frame duplication at the container level. | |
16420 | 1695 </para> |
1696 </sect3> | |
1697 | |
1698 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1699 <sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1700 <title>Limitations of the AVI container</title> |
21521 | 1701 |
1702 <para> | |
1703 Although it is the most widely-supported container format after MPEG-1, | |
1704 AVI also has some major drawbacks. | |
1705 Perhaps the most obvious is the overhead. | |
1706 For each chunk of the AVI file, 24 bytes are wasted on headers and index. | |
1707 This translates into a little over 5 MB per hour, or 1-2.5% | |
1708 overhead for a 700 MB movie. This may not seem like much, but it could | |
1709 mean the difference between being able to use 700 kbit/sec video or | |
1710 714 kbit/sec, and every bit of quality counts. | |
1711 </para> | |
1712 | |
1713 <para> | |
1714 In addition this gross inefficiency, AVI also has the following major | |
1715 limitations: | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1716 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1717 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1718 <orderedlist> |
21521 | 1719 <listitem><para> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1720 Only fixed-fps content can be stored. This is particularly limiting |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1721 if the original material you want to encode is mixed content, for |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1722 example a mix of NTSC video and film material. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1723 Actually there are hacks that can be used to store mixed-framerate |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1724 content in AVI, but they increase the (already huge) overhead |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1725 fivefold or more and so are not practical. |
21521 | 1726 </para></listitem> |
1727 <listitem><para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1728 Audio in AVI files must be either constant-bitrate (CBR) or |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1729 constant-framesize (i.e. all frames decode to the same number of |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1730 samples). |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1731 Unfortunately, the most efficient codec, Vorbis, does not meet |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1732 either of these requirements. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1733 Therefore, if you plan to store your movie in AVI, you will have to |
24036 | 1734 use a less efficient codec such as MP3 or AC-3. |
21521 | 1735 </para></listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1736 </orderedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1737 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1738 <para> |
21521 | 1739 Having said all that, <application>MEncoder</application> does not |
1740 currently support variable-fps output or Vorbis encoding. | |
1741 Therefore, you may not see these as limitations if | |
1742 <application>MEncoder</application> is the | |
1743 only tool you will be using to produce your encodes. | |
1744 However, it is possible to use <application>MEncoder</application> | |
1745 only for video encoding, and then use external tools to encode | |
1746 audio and mux it into another container format. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1747 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1748 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1749 |
21521 | 1750 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1751 <sect3 id="menc-feat-dvd-mpeg4-muxing-matroska"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1752 <title>Muxing into the Matroska container</title> |
21521 | 1753 |
1754 <para> | |
1755 Matroska is a free, open standard container format, aiming | |
1756 to offer a lot of advanced features, which older containers | |
1757 like AVI cannot handle. | |
1758 For example, Matroska supports variable bitrate audio content | |
1759 (VBR), variable framerates (VFR), chapters, file attachments, | |
1760 error detection code (EDC) and modern A/V Codecs like "Advanced Audio | |
1761 Coding" (AAC), "Vorbis" or "MPEG-4 AVC" (H.264), next to nothing | |
1762 handled by AVI. | |
1763 </para> | |
1764 | |
1765 <para> | |
1766 The tools required to create Matroska files are collectively called | |
1767 <application>mkvtoolnix</application>, and are available for most | |
1768 Unix platforms as well as <application>Windows</application>. | |
1769 Because Matroska is an open standard you may find other | |
1770 tools that suit you better, but since mkvtoolnix is the most | |
1771 common, and is supported by the Matroska team itself, we will | |
1772 only cover its usage. | |
1773 </para> | |
1774 | |
1775 <para> | |
1776 Probably the easiest way to get started with Matroska is to use | |
1777 <application>MMG</application>, the graphical frontend shipped with | |
1778 <application>mkvtoolnix</application>, and follow the | |
1779 <ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">guide to mkvmerge GUI (mmg)</ulink> | |
1780 </para> | |
1781 | |
1782 <para> | |
1783 You may also mux audio and video files using the command line: | |
1784 <screen> | |
1785 mkvmerge -o <replaceable>output.mkv</replaceable> <replaceable>input_video.avi</replaceable> <replaceable>input_audio1.mp3</replaceable> <replaceable>input_audio2.ac3</replaceable> | |
1786 </screen> | |
1787 This would merge the video file <replaceable>input_video.avi</replaceable> | |
1788 and the two audio files <replaceable>input_audio1.mp3</replaceable> | |
1789 and <replaceable>input_audio2.ac3</replaceable> into the Matroska | |
1790 file <replaceable>output.mkv</replaceable>. | |
1791 Matroska, as mentioned earlier, is able to do much more than that, like | |
1792 multiple audio tracks (including fine-tuning of audio/video | |
1793 synchronization), chapters, subtitles, splitting, etc... | |
1794 Please refer to the documentation of those applications for | |
1795 more details. | |
1796 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1797 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1798 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1799 </sect1> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1800 |
21521 | 1801 |
1802 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
1803 | |
1804 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1805 <sect1 id="menc-feat-telecine"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1806 <title>How to deal with telecine and interlacing within NTSC DVDs</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1807 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1808 <sect2 id="menc-feat-telecine-intro"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1809 <title>Introduction</title> |
21521 | 1810 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1811 <formalpara> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1812 <title>What is telecine?</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1813 <para> |
21521 | 1814 If you do not understand much of what is written in this document, read the |
1815 <ulink url="http://en.wikipedia.org/wiki/Telecine">Wikipedia entry on telecine</ulink>. | |
1816 It is an understandable and reasonably comprehensive | |
1817 description of what telecine is. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1818 </para></formalpara> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1819 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1820 <formalpara> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1821 <title>A note about the numbers.</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1822 <para> |
26419
574f4343a0c1
As of r19025, the "above link" refers to an article, not a guide.
corey
parents:
26255
diff
changeset
|
1823 Many documents, including the article linked above, refer to the fields |
21521 | 1824 per second value of NTSC video as 59.94 and the corresponding frames |
1825 per second values as 29.97 (for telecined and interlaced) and 23.976 | |
1826 (for progressive). For simplicity, some documents even round these | |
1827 numbers to 60, 30, and 24. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1828 </para></formalpara> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1829 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1830 <para> |
21521 | 1831 Strictly speaking, all those numbers are approximations. Black and |
1832 white NTSC video was exactly 60 fields per second, but 60000/1001 | |
26958 | 1833 was later chosen to accommodate color data while remaining compatible |
21521 | 1834 with contemporary black and white televisions. Digital NTSC video |
1835 (such as on a DVD) is also 60000/1001 fields per second. From this, | |
1836 interlaced and telecined video are derived to be 30000/1001 frames | |
1837 per second; progressive video is 24000/1001 frames per second. | |
1838 </para> | |
1839 | |
1840 <para> | |
1841 Older versions of the <application>MEncoder</application> documentation | |
1842 and many archived mailing list posts refer to 59.94, 29.97, and 23.976. | |
1843 All <application>MEncoder</application> documentation has been updated | |
1844 to use the fractional values, and you should use them too. | |
1845 </para> | |
1846 | |
1847 <para> | |
1848 <option>-ofps 23.976</option> is incorrect. | |
1849 <option>-ofps 24000/1001</option> should be used instead. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1850 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1851 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1852 <formalpara> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1853 <title>How telecine is used.</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1854 <para> |
21521 | 1855 All video intended to be displayed on an NTSC |
1856 television set must be 60000/1001 fields per second. Made-for-TV movies | |
1857 and shows are often filmed directly at 60000/1001 fields per second, but | |
1858 the majority of cinema is filmed at 24 or 24000/1001 frames per | |
1859 second. When cinematic movie DVDs are mastered, the video is then | |
1860 converted for television using a process called telecine. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1861 </para></formalpara> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1862 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1863 <para> |
21521 | 1864 On a DVD, the video is never actually stored as 60000/1001 fields per |
1865 second. For video that was originally 60000/1001, each pair of fields is | |
1866 combined to form a frame, resulting in 30000/1001 frames per | |
1867 second. Hardware DVD players then read a flag embedded in the video | |
1868 stream to determine whether the odd- or even-numbered lines should | |
1869 form the first field. | |
1870 </para> | |
1871 | |
1872 <para> | |
1873 Usually, 24000/1001 frames per second content stays as it is when | |
1874 encoded for a DVD, and the DVD player must perform telecining | |
1875 on-the-fly. Sometimes, however, the video is telecined | |
1876 <emphasis>before</emphasis> being stored on the DVD; even though it | |
1877 was originally 24000/1001 frames per second, it becomes 60000/1001 fields per | |
1878 second. When it is stored on the DVD, pairs of fields are combined to form | |
1879 30000/1001 frames per second. | |
1880 </para> | |
1881 | |
1882 <para> | |
1883 When looking at individual frames formed from 60000/1001 fields per | |
1884 second video, telecined or otherwise, interlacing is clearly visible | |
1885 wherever there is any motion, because one field (say, the | |
1886 even-numbered lines) represents a moment in time 1/(60000/1001) | |
1887 seconds later than the other. Playing interlaced video on a computer | |
1888 looks ugly both because the monitor is higher resolution and because | |
1889 the video is shown frame-after-frame instead of field-after-field. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1890 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1891 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1892 <itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1893 <title>Notes:</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1894 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1895 This section only applies to NTSC DVDs, and not PAL. |
21521 | 1896 </para></listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1897 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1898 The example <application>MEncoder</application> lines throughout the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1899 document are <emphasis role="bold">not</emphasis> intended for |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1900 actual use. They are simply the bare minimum required to encode the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1901 pertaining video category. How to make good DVD rips or fine-tune |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1902 <systemitem class="library">libavcodec</systemitem> for maximal |
26420 | 1903 quality is not within the scope of this section; refer to other |
1904 sections within the <link linkend="encoding-guide">MEncoder encoding | |
1905 guide</link>. | |
21521 | 1906 </para></listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1907 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1908 There are a couple footnotes specific to this guide, linked like this: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1909 <link linkend="menc-feat-telecine-footnotes">[1]</link> |
21521 | 1910 </para></listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1911 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1912 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1913 |
21521 | 1914 <!-- ********** --> |
1915 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1916 <sect2 id="menc-feat-telecine-ident"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1917 <title>How to tell what type of video you have</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1918 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1919 <sect3 id="menc-feat-telecine-ident-progressive"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1920 <title>Progressive</title> |
21521 | 1921 |
1922 <para> | |
1923 Progressive video was originally filmed at 24000/1001 fps, and stored | |
1924 on the DVD without alteration. | |
1925 </para> | |
1926 | |
1927 <para> | |
1928 When you play a progressive DVD in <application>MPlayer</application>, | |
1929 <application>MPlayer</application> will print the following line as | |
1930 soon as the movie begins to play: | |
1931 <screen> | |
1932 demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate. | |
1933 </screen> | |
1934 From this point forward, demux_mpg should never say it finds | |
21596 | 1935 "30000/1001 fps NTSC content." |
21521 | 1936 </para> |
1937 | |
1938 <para> | |
1939 When you watch progressive video, you should never see any | |
1940 interlacing. Beware, however, because sometimes there is a tiny bit | |
1941 of telecine mixed in where you would not expect. I have encountered TV | |
1942 show DVDs that have one second of telecine at every scene change, or | |
1943 at seemingly random places. I once watched a DVD that had a | |
1944 progressive first half, and the second half was telecined. If you | |
1945 want to be <emphasis>really</emphasis> thorough, you can scan the | |
1946 entire movie: | |
1947 <screen>mplayer dvd://1 -nosound -vo null -benchmark</screen> | |
1948 Using <option>-benchmark</option> makes | |
1949 <application>MPlayer</application> play the movie as quickly as it | |
1950 possibly can; still, depending on your hardware, it can take a | |
1951 while. Every time demux_mpg reports a framerate change, the line | |
1952 immediately above will show you the time at which the change | |
1953 occurred. | |
1954 </para> | |
1955 | |
1956 <para> | |
1957 Sometimes progressive video on DVDs is referred to as | |
21596 | 1958 "soft-telecine" because it is intended to |
21521 | 1959 be telecined by the DVD player. |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1960 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1961 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1962 |
21521 | 1963 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1964 <sect3 id="menc-feat-telecine-ident-telecined"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1965 <title>Telecined</title> |
21521 | 1966 |
1967 <para> | |
1968 Telecined video was originally filmed at 24000/1001, but was telecined | |
1969 <emphasis>before</emphasis> it was written to the DVD. | |
1970 </para> | |
1971 | |
1972 <para> | |
1973 <application>MPlayer</application> does not (ever) report any | |
1974 framerate changes when it plays telecined video. | |
1975 </para> | |
1976 | |
1977 <para> | |
1978 Watching a telecined video, you will see interlacing artifacts that | |
21596 | 1979 seem to "blink": they repeatedly appear and disappear. |
21521 | 1980 You can look closely at this by |
1981 <orderedlist> | |
1982 <listitem><screen>mplayer dvd://1</screen></listitem> | |
1983 <listitem><para> | |
1984 Seek to a part with motion. | |
1985 </para></listitem> | |
1986 <listitem><para> | |
1987 Use the <keycap>.</keycap> key to step forward one frame at a time. | |
1988 </para></listitem> | |
1989 <listitem><para> | |
1990 Look at the pattern of interlaced-looking and progressive-looking | |
1991 frames. If the pattern you see is PPPII,PPPII,PPPII,... then the | |
1992 video is telecined. If you see some other pattern, then the video | |
1993 may have been telecined using some non-standard method; | |
1994 <application>MEncoder</application> cannot losslessly convert | |
1995 non-standard telecine to progressive. If you do not see any | |
1996 pattern at all, then it is most likely interlaced. | |
1997 </para></listitem> | |
1998 </orderedlist> | |
1999 </para> | |
2000 | |
2001 <para> | |
2002 Sometimes telecined video on DVDs is referred to as | |
21596 | 2003 "hard-telecine". Since hard-telecine is already 60000/1001 fields |
21521 | 2004 per second, the DVD player plays the video without any manipulation. |
2005 </para> | |
2006 | |
2007 <para> | |
2008 Another way to tell if your source is telecined or not is to play | |
2009 the source with the <option>-vf pullup</option> and <option>-v</option> | |
2010 command line options to see how <option>pullup</option> matches frames. | |
2011 If the source is telecined, you should see on the console a 3:2 pattern | |
2012 with <systemitem>0+.1.+2</systemitem> and <systemitem>0++1</systemitem> | |
2013 alternating. | |
2014 This technique has the advantage that you do not need to watch the | |
2015 source to identify it, which could be useful if you wish to automate | |
2016 the encoding procedure, or to carry out said procedure remotely via | |
2017 a slow connection. | |
2018 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2019 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2020 |
21521 | 2021 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2022 <sect3 id="menc-feat-telecine-ident-interlaced"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2023 <title>Interlaced</title> |
21521 | 2024 |
2025 <para> | |
2026 Interlaced video was originally filmed at 60000/1001 fields per second, | |
2027 and stored on the DVD as 30000/1001 frames per second. The interlacing effect | |
21596 | 2028 (often called "combing") is a result of combining pairs of |
21521 | 2029 fields into frames. Each field is supposed to be 1/(60000/1001) seconds apart, |
2030 and when they are displayed simultaneously the difference is apparent. | |
2031 </para> | |
2032 | |
2033 <para> | |
2034 As with telecined video, <application>MPlayer</application> should | |
2035 not ever report any framerate changes when playing interlaced content. | |
2036 </para> | |
2037 | |
2038 <para> | |
2039 When you view an interlaced video closely by frame-stepping with the | |
2040 <keycap>.</keycap> key, you will see that every single frame is interlaced. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2041 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2042 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2043 |
21521 | 2044 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2045 <sect3 id="menc-feat-telecine-ident-mixedpt"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2046 <title>Mixed progressive and telecine</title> |
21521 | 2047 |
2048 <para> | |
21596 | 2049 All of a "mixed progressive and telecine" video was originally |
21521 | 2050 24000/1001 frames per second, but some parts of it ended up being telecined. |
2051 </para> | |
2052 | |
2053 <para> | |
2054 When <application>MPlayer</application> plays this category, it will | |
21596 | 2055 (often repeatedly) switch back and forth between "30000/1001 fps NTSC" |
2056 and "24000/1001 fps progressive NTSC". Watch the bottom of | |
21521 | 2057 <application>MPlayer</application>'s output to see these messages. |
2058 </para> | |
2059 | |
2060 <para> | |
21596 | 2061 You should check the "30000/1001 fps NTSC" sections to make sure |
21521 | 2062 they are actually telecine, and not just interlaced. |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2063 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2064 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2065 |
21521 | 2066 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2067 <sect3 id="menc-feat-telecine-ident-mixedpi"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2068 <title>Mixed progressive and interlaced</title> |
21521 | 2069 |
2070 <para> | |
21596 | 2071 In "mixed progressive and interlaced" content, progressive |
21521 | 2072 and interlaced video have been spliced together. |
2073 </para> | |
2074 | |
2075 <para> | |
21596 | 2076 This category looks just like "mixed progressive and telecine", |
21521 | 2077 until you examine the 30000/1001 fps sections and see that they do not have the |
2078 telecine pattern. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2079 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2080 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2081 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2082 |
21521 | 2083 <!-- ********** --> |
2084 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2085 <sect2 id="menc-feat-telecine-encode"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2086 <title>How to encode each category</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2087 <para> |
21521 | 2088 As I mentioned in the beginning, example <application>MEncoder</application> |
2089 lines below are <emphasis role="bold">not</emphasis> meant to actually be used; | |
2090 they only demonstrate the minimum parameters to properly encode each category. | |
2091 </para> | |
2092 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2093 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2094 <sect3 id="menc-feat-telecine-encode-progressive"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2095 <title>Progressive</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2096 <para> |
21521 | 2097 Progressive video requires no special filtering to encode. The only |
2098 parameter you need to be sure to use is <option>-ofps 24000/1001</option>. | |
2099 Otherwise, <application>MEncoder</application> | |
2100 will try to encode at 30000/1001 fps and will duplicate frames. | |
2101 </para> | |
2102 | |
2103 <para> | |
2104 <screen>mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001</screen> | |
2105 </para> | |
2106 | |
2107 <para> | |
2108 It is often the case, however, that a video that looks progressive | |
2109 actually has very short parts of telecine mixed in. Unless you are | |
2110 sure, it is safest to treat the video as | |
2111 <link linkend="menc-feat-telecine-encode-mixedpt">mixed progressive and telecine</link>. | |
2112 The performance loss is small | |
2113 <link linkend="menc-feat-telecine-footnotes">[3]</link>. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2114 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2115 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2116 |
21521 | 2117 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2118 <sect3 id="menc-feat-telecine-encode-telecined"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2119 <title>Telecined</title> |
21521 | 2120 |
2121 <para> | |
2122 Telecine can be reversed to retrieve the original 24000/1001 content, | |
2123 using a process called inverse-telecine. | |
2124 <application>MPlayer</application> contains several filters to | |
2125 accomplish this; the best filter, <option>pullup</option>, is described | |
2126 in the <link linkend="menc-feat-telecine-encode-mixedpt">mixed | |
2127 progressive and telecine</link> section. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2128 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2129 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2130 |
21521 | 2131 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2132 <sect3 id="menc-feat-telecine-encode-interlaced"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2133 <title>Interlaced</title> |
21521 | 2134 |
2135 <para> | |
2136 For most practical cases it is not possible to retrieve a complete | |
2137 progressive video from interlaced content. The only way to do so | |
2138 without losing half of the vertical resolution is to double the | |
21596 | 2139 framerate and try to "guess" what ought to make up the |
21521 | 2140 corresponding lines for each field (this has drawbacks - see method 3). |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2141 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2142 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2143 <orderedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2144 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2145 Encode the video in interlaced form. Normally, interlacing wreaks |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2146 havoc with the encoder's ability to compress well, but |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2147 <systemitem class="library">libavcodec</systemitem> has two |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2148 parameters specifically for dealing with storing interlaced video a |
26255 | 2149 bit better: <option>ildct</option> and <option>ilme</option>. Also, |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2150 using <option>mbd=2</option> is strongly recommended |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2151 <link linkend="menc-feat-telecine-footnotes">[2] </link> because it |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2152 will encode macroblocks as non-interlaced in places where there is |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2153 no motion. Note that <option>-ofps</option> is NOT needed here. |
16384 | 2154 <screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen> |
21521 | 2155 </para></listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2156 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2157 Use a deinterlacing filter before encoding. There are several of |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2158 these filters available to choose from, each with its own advantages |
21062
be83543ce2d0
add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents:
21018
diff
changeset
|
2159 and disadvantages. Consult <option>mplayer -pphelp</option> and |
be83543ce2d0
add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents:
21018
diff
changeset
|
2160 <option>mplayer -vf help</option> to see what is available |
26893
fbd332ed6562
typo noticed by Mark Pilgrim, mark diveintomark org
diego
parents:
26679
diff
changeset
|
2161 (grep for "deint"), read Michael Niedermayer's |
21062
be83543ce2d0
add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents:
21018
diff
changeset
|
2162 <ulink url="http://guru.multimedia.cx/deinterlacing-filters/">Deinterlacing filters comparison</ulink>, |
be83543ce2d0
add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents:
21018
diff
changeset
|
2163 and search the |
21360 | 2164 <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html"> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2165 MPlayer mailing lists</ulink> to find many discussions about the |
21062
be83543ce2d0
add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents:
21018
diff
changeset
|
2166 various filters. |
be83543ce2d0
add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents:
21018
diff
changeset
|
2167 Again, the framerate is not changing, so no |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2168 <option>-ofps</option>. Also, deinterlacing should be done after |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2169 cropping <link linkend="menc-feat-telecine-footnotes">[1]</link> and |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2170 before scaling. |
21062
be83543ce2d0
add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents:
21018
diff
changeset
|
2171 <screen>mencoder dvd://1 -oac copy -vf yadif -ovc lavc</screen> |
21521 | 2172 </para></listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2173 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2174 Unfortunately, this option is buggy with |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2175 <application>MEncoder</application>; it ought to work well with |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2176 <application>MEncoder G2</application>, but that is not here yet. You |
26421 | 2177 might experience crashes. Anyway, the purpose of <option> -vf |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2178 tfields</option> is to create a full frame out of each field, which |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2179 makes the framerate 60000/1001. The advantage of this approach is that no |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2180 data is ever lost; however, since each frame comes from only one |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2181 field, the missing lines have to be interpolated somehow. There are |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2182 no very good methods of generating the missing data, and so the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2183 result will look a bit similar to when using some deinterlacing |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2184 filters. Generating the missing lines creates other issues, as well, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2185 simply because the amount of data doubles. So, higher encoding |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2186 bitrates are required to maintain quality, and more CPU power is |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2187 used for both encoding and decoding. tfields has several different |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2188 options for how to create the missing lines of each frame. If you |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2189 use this method, then Reference the manual, and chose whichever |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2190 option looks best for your material. Note that when using |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2191 <option>tfields</option> you |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2192 <emphasis role="bold">have to</emphasis> specify both |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2193 <option>-fps</option> and <option>-ofps</option> to be twice the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2194 framerate of your original source. |
21521 | 2195 <screen> |
2196 mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc \ | |
2197 -fps 60000/1001 -ofps 60000/1001<!-- | |
2198 --></screen> | |
2199 </para></listitem> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2200 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2201 If you plan on downscaling dramatically, you can extract and encode |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2202 only one of the two fields. Of course, you will lose half the vertical |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2203 resolution, but if you plan on downscaling to at most 1/2 of the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2204 original, the loss will not matter much. The result will be a |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2205 progressive 30000/1001 frames per second file. The procedure is to use |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2206 <option>-vf field</option>, then crop |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2207 <link linkend="menc-feat-telecine-footnotes">[1]</link> and scale |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2208 appropriately. Remember that you will have to adjust the scale to |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2209 compensate for the vertical resolution being halved. |
16384 | 2210 <screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen> |
21521 | 2211 </para></listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2212 </orderedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2213 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2214 |
21521 | 2215 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2216 <sect3 id="menc-feat-telecine-encode-mixedpt"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2217 <title>Mixed progressive and telecine</title> |
21521 | 2218 |
2219 <para> | |
2220 In order to turn mixed progressive and telecine video into entirely | |
2221 progressive video, the telecined parts have to be | |
2222 inverse-telecined. There are three ways to accomplish this, | |
2223 described below. Note that you should | |
2224 <emphasis role="bold">always</emphasis> inverse-telecine before any | |
2225 rescaling; unless you really know what you are doing, | |
2226 inverse-telecine before cropping, too | |
2227 <link linkend="menc-feat-telecine-footnotes">[1]</link>. | |
2228 <option>-ofps 24000/1001</option> is needed here because the output video | |
2229 will be 24000/1001 frames per second. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2230 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2231 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2232 <itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2233 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2234 <option>-vf pullup</option> is designed to inverse-telecine |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2235 telecined material while leaving progressive data alone. In order to |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2236 work properly, <option>pullup</option> <emphasis role="bold">must</emphasis> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2237 be followed by the <option>softskip</option> filter or |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2238 else <application>MEncoder</application> will crash. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2239 <option>pullup</option> is, however, the cleanest and most |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2240 accurate method available for encoding both telecine and |
21596 | 2241 "mixed progressive and telecine". |
21521 | 2242 <screen> |
2243 mencoder dvd://1 -oac copy -vf pullup,softskip | |
2244 -ovc lavc -ofps 24000/1001<!-- | |
2245 --></screen> | |
2246 </para></listitem> | |
2247 <listitem><para> | |
26442
83fdf3030da7
add better information about inverse-telecining with vf_filmdint
corey
parents:
26421
diff
changeset
|
2248 <option>-vf filmdint</option> is similar to |
83fdf3030da7
add better information about inverse-telecining with vf_filmdint
corey
parents:
26421
diff
changeset
|
2249 <option>-vf pullup</option>: both filters attempt to match a pair of |
83fdf3030da7
add better information about inverse-telecining with vf_filmdint
corey
parents:
26421
diff
changeset
|
2250 fields to form a complete frame. <option>filmdint</option> will |
83fdf3030da7
add better information about inverse-telecining with vf_filmdint
corey
parents:
26421
diff
changeset
|
2251 deinterlace individual fields that it cannot match, however, whereas |
83fdf3030da7
add better information about inverse-telecining with vf_filmdint
corey
parents:
26421
diff
changeset
|
2252 <option>pullup</option> will simply drop them. Also, the two filters |
26940
d5943b0beb06
add missing <option> tags around the option "filmdint"
gpoirier
parents:
26893
diff
changeset
|
2253 have separate detection code, and <option>filmdint</option> may tend to match fields a |
26442
83fdf3030da7
add better information about inverse-telecining with vf_filmdint
corey
parents:
26421
diff
changeset
|
2254 bit less often. Which filter works better may depend on the input |
83fdf3030da7
add better information about inverse-telecining with vf_filmdint
corey
parents:
26421
diff
changeset
|
2255 video and personal taste; feel free to experiment with fine-tuning |
83fdf3030da7
add better information about inverse-telecining with vf_filmdint
corey
parents:
26421
diff
changeset
|
2256 the filters' options if you encounter problems with either one (see |
83fdf3030da7
add better information about inverse-telecining with vf_filmdint
corey
parents:
26421
diff
changeset
|
2257 the man page for details). For most well-mastered input video, |
83fdf3030da7
add better information about inverse-telecining with vf_filmdint
corey
parents:
26421
diff
changeset
|
2258 however, both filters work quite well, so either one is a safe choice |
83fdf3030da7
add better information about inverse-telecining with vf_filmdint
corey
parents:
26421
diff
changeset
|
2259 to start with. |
83fdf3030da7
add better information about inverse-telecining with vf_filmdint
corey
parents:
26421
diff
changeset
|
2260 <screen> |
83fdf3030da7
add better information about inverse-telecining with vf_filmdint
corey
parents:
26421
diff
changeset
|
2261 mencoder dvd://1 -oac copy -vf filmdint -ovc lavc -ofps 24000/1001<!-- |
83fdf3030da7
add better information about inverse-telecining with vf_filmdint
corey
parents:
26421
diff
changeset
|
2262 --></screen> |
83fdf3030da7
add better information about inverse-telecining with vf_filmdint
corey
parents:
26421
diff
changeset
|
2263 </para></listitem> |
83fdf3030da7
add better information about inverse-telecining with vf_filmdint
corey
parents:
26421
diff
changeset
|
2264 <listitem><para> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2265 An older method |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2266 is to, rather than inverse-telecine the telecined parts, telecine |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2267 the non-telecined parts and then inverse-telecine the whole |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2268 video. Sound confusing? softpulldown is a filter that goes through |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2269 a video and makes the entire file telecined. If we follow |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2270 softpulldown with either <option>detc</option> or |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2271 <option>ivtc</option>, the final result will be entirely |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2272 progressive. <option>-ofps 24000/1001</option> is needed. |
21521 | 2273 <screen> |
2274 mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001 | |
2275 </screen> | |
2276 </para></listitem> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2277 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2278 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2279 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2280 |
21521 | 2281 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2282 <sect3 id="menc-feat-telecine-encode-mixedpi"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2283 <title>Mixed progressive and interlaced</title> |
21521 | 2284 |
2285 <para> | |
2286 There are two options for dealing with this category, each of | |
2287 which is a compromise. You should decide based on the | |
2288 duration/location of each type. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2289 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2290 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2291 <itemizedlist> |
21521 | 2292 <listitem> |
2293 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2294 Treat it as progressive. The interlaced parts will look interlaced, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2295 and some of the interlaced fields will have to be dropped, resulting |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2296 in a bit of uneven jumpiness. You can use a postprocessing filter if |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2297 you want to, but it may slightly degrade the progressive parts. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2298 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2299 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2300 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2301 This option should definitely not be used if you want to eventually |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2302 display the video on an interlaced device (with a TV card, for |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2303 example). If you have interlaced frames in a 24000/1001 frames per |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2304 second video, they will be telecined along with the progressive |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2305 frames. Half of the interlaced "frames" will be displayed for three |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2306 fields' duration (3/(60000/1001) seconds), resulting in a flicking |
21596 | 2307 "jump back in time" effect that looks quite bad. If you |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2308 even attempt this, you <emphasis role="bold">must</emphasis> use a |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2309 deinterlacing filter like <option>lb</option> or |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2310 <option>l5</option>. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2311 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2312 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2313 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2314 It may also be a bad idea for progressive display, too. It will drop |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2315 pairs of consecutive interlaced fields, resulting in a discontinuity |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2316 that can be more visible than with the second method, which shows |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2317 some progressive frames twice. 30000/1001 frames per second interlaced |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2318 video is already a bit choppy because it really should be shown at |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2319 60000/1001 fields per second, so the duplicate frames do not stand out as |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2320 much. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2321 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2322 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2323 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2324 Either way, it is best to consider your content and how you intend to |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2325 display it. If your video is 90% progressive and you never intend to |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2326 show it on a TV, you should favor a progressive approach. If it is |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2327 only half progressive, you probably want to encode it as if it is all |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2328 interlaced. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2329 </para> |
21521 | 2330 </listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2331 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2332 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2333 Treat it as interlaced. Some frames of the progressive parts will |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2334 need to be duplicated, resulting in uneven jumpiness. Again, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2335 deinterlacing filters may slightly degrade the progressive parts. |
21521 | 2336 </para></listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2337 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2338 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2339 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2340 |
21521 | 2341 <!-- ********** --> |
2342 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2343 <sect2 id="menc-feat-telecine-footnotes"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2344 <title>Footnotes</title> |
21521 | 2345 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2346 <orderedlist> |
21521 | 2347 <listitem> |
2348 <formalpara> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2349 <title>About cropping:</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2350 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2351 Video data on DVDs are stored in a format called YUV 4:2:0. In YUV |
21596 | 2352 video, luma ("brightness") and chroma ("color") |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2353 are stored separately. Because the human eye is somewhat less |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2354 sensitive to color than it is to brightness, in a YUV 4:2:0 picture |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2355 there is only one chroma pixel for every four luma pixels. In a |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2356 progressive picture, each square of four luma pixels (two on each |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2357 side) has one common chroma pixel. You must crop progressive YUV |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2358 4:2:0 to even resolutions, and use even offsets. For example, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2359 <option>crop=716:380:2:26</option> is OK but |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2360 <option>crop=716:380:3:26 </option> is not. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2361 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2362 </formalpara> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2363 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2364 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2365 When you are dealing with interlaced YUV 4:2:0, the situation is a |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2366 bit more complicated. Instead of every four luma pixels in the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2367 <emphasis>frame</emphasis> sharing a chroma pixel, every four luma |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2368 pixels in each <emphasis> field</emphasis> share a chroma |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2369 pixel. When fields are interlaced to form a frame, each scanline is |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2370 one pixel high. Now, instead of all four luma pixels being in a |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2371 square, there are two pixels side-by-side, and the other two pixels |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2372 are side-by-side two scanlines down. The two luma pixels in the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2373 intermediate scanline are from the other field, and so share a |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2374 different chroma pixel with two luma pixels two scanlines away. All |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2375 this confusion makes it necessary to have vertical crop dimensions |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2376 and offsets be multiples of four. Horizontal can stay even. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2377 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2378 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2379 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2380 For telecined video, I recommend that cropping take place after |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2381 inverse telecining. Once the video is progressive you only need to |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2382 crop by even numbers. If you really want to gain the slight speedup |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2383 that cropping first may offer, you must crop vertically by multiples |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2384 of four or else the inverse-telecine filter will not have proper data. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2385 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2386 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2387 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2388 For interlaced (not telecined) video, you must always crop |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2389 vertically by multiples of four unless you use <option>-vf |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2390 field</option> before cropping. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2391 </para> |
21521 | 2392 </listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2393 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2394 <listitem><formalpara> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2395 <title>About encoding parameters and quality:</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2396 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2397 Just because I recommend <option>mbd=2</option> here does not mean it |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2398 should not be used elsewhere. Along with <option>trell</option>, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2399 <option>mbd=2</option> is one of the two |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2400 <systemitem class="library">libavcodec</systemitem> options that |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2401 increases quality the most, and you should always use at least those |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2402 two unless the drop in encoding speed is prohibitive (e.g. realtime |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2403 encoding). There are many other options to |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2404 <systemitem class="library">libavcodec</systemitem> that increase |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2405 encoding quality (and decrease encoding speed) but that is beyond |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2406 the scope of this document. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2407 </para> |
21521 | 2408 </formalpara></listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2409 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2410 <listitem><formalpara> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2411 <title>About the performance of pullup:</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2412 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2413 It is safe to use <option>pullup</option> (along with <option>softskip |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2414 </option>) on progressive video, and is usually a good idea unless |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2415 the source has been definitively verified to be entirely progressive. |
26958 | 2416 The performance loss is small for most cases. On a bare-minimum encode, |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2417 <option>pullup</option> causes <application>MEncoder</application> to |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2418 be 50% slower. Adding sound processing and advanced <option>lavcopts |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2419 </option> overshadows that difference, bringing the performance |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2420 decrease of using <option>pullup</option> down to 2%. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2421 </para> |
21521 | 2422 </formalpara></listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2423 </orderedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2424 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2425 </sect1> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2426 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2427 |
21521 | 2428 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> |
2429 | |
2430 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2431 <sect1 id="menc-feat-enc-libavcodec"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2432 <title>Encoding with the <systemitem class="library">libavcodec</systemitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2433 codec family</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2434 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2435 <para> |
27809 | 2436 <systemitem class="library">libavcodec</systemitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2437 provides simple encoding to a lot of interesting video and audio formats. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2438 You can encode to the following codecs (more or less up to date): |
16541
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2439 </para> |
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2440 |
21521 | 2441 <!-- ********** --> |
2442 | |
16541
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2443 <sect2 id="menc-feat-enc-libavcodec-video-codecs"> |
21521 | 2444 <title><systemitem class="library">libavcodec</systemitem>'s |
2445 video codecs</title> | |
16541
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2446 |
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2447 <para> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2448 <informaltable frame="all"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2449 <tgroup cols="2"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2450 <thead> |
21521 | 2451 <row><entry>Video codec name</entry><entry>Description</entry></row> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2452 </thead> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2453 <tbody> |
21521 | 2454 <row> |
2455 <entry>mjpeg</entry> | |
2456 <entry>Motion JPEG</entry> | |
2457 </row> | |
2458 <row> | |
2459 <entry>ljpeg</entry> | |
2460 <entry>lossless JPEG</entry> | |
2461 </row> | |
2462 <row> | |
22732
02f1feef63eb
add rest of lavc encoders to list (vcr1, cljr, jpegls, ffvhuff, msmpeg4v1)
compn
parents:
22731
diff
changeset
|
2463 <entry>jpegls</entry> |
02f1feef63eb
add rest of lavc encoders to list (vcr1, cljr, jpegls, ffvhuff, msmpeg4v1)
compn
parents:
22731
diff
changeset
|
2464 <entry>JPEG LS</entry> |
02f1feef63eb
add rest of lavc encoders to list (vcr1, cljr, jpegls, ffvhuff, msmpeg4v1)
compn
parents:
22731
diff
changeset
|
2465 </row> |
02f1feef63eb
add rest of lavc encoders to list (vcr1, cljr, jpegls, ffvhuff, msmpeg4v1)
compn
parents:
22731
diff
changeset
|
2466 <row> |
22700 | 2467 <entry>targa</entry> |
22730
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2468 <entry>Targa image</entry> |
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2469 </row> |
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2470 <row> |
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2471 <entry>gif</entry> |
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2472 <entry>GIF image</entry> |
22700 | 2473 </row> |
2474 <row> | |
2475 <entry>bmp</entry> | |
2476 <entry>BMP image</entry> | |
2477 </row> | |
2478 <row> | |
22730
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2479 <entry>png</entry> |
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2480 <entry>PNG image</entry> |
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2481 </row> |
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2482 <row> |
21521 | 2483 <entry>h261</entry> |
2484 <entry>H.261</entry> | |
2485 </row> | |
2486 <row> | |
2487 <entry>h263</entry> | |
2488 <entry>H.263 </entry> | |
2489 </row> | |
2490 <row> | |
2491 <entry>h263p</entry> | |
2492 <entry>H.263+</entry> | |
2493 </row> | |
2494 <row> | |
2495 <entry>mpeg4</entry> | |
2496 <entry>ISO standard MPEG-4 (DivX, Xvid compatible)</entry> | |
2497 </row> | |
2498 <row> | |
2499 <entry>msmpeg4</entry> | |
2500 <entry>pre-standard MPEG-4 variant by MS, v3 (AKA DivX3)</entry> | |
2501 </row> | |
2502 <row> | |
2503 <entry>msmpeg4v2</entry> | |
2504 <entry>pre-standard MPEG-4 by MS, v2 (used in old ASF files)</entry> | |
2505 </row> | |
2506 <row> | |
2507 <entry>wmv1</entry> | |
2508 <entry>Windows Media Video, version 1 (AKA WMV7)</entry> | |
2509 </row> | |
2510 <row> | |
2511 <entry>wmv2</entry> | |
2512 <entry>Windows Media Video, version 2 (AKA WMV8)</entry> | |
2513 </row> | |
2514 <row> | |
2515 <entry>rv10</entry> | |
2516 <entry>RealVideo 1.0</entry> | |
2517 </row> | |
2518 <row> | |
2519 <entry>rv20</entry> | |
2520 <entry>RealVideo 2.0</entry> | |
2521 </row> | |
2522 <row> | |
2523 <entry>mpeg1video</entry> | |
2524 <entry>MPEG-1 video</entry> | |
2525 </row> | |
2526 <row> | |
2527 <entry>mpeg2video</entry> | |
2528 <entry>MPEG-2 video</entry> | |
2529 </row> | |
2530 <row> | |
2531 <entry>huffyuv</entry> | |
2532 <entry>lossless compression</entry> | |
2533 </row> | |
2534 <row> | |
22732
02f1feef63eb
add rest of lavc encoders to list (vcr1, cljr, jpegls, ffvhuff, msmpeg4v1)
compn
parents:
22731
diff
changeset
|
2535 <entry>ffvhuff</entry> |
02f1feef63eb
add rest of lavc encoders to list (vcr1, cljr, jpegls, ffvhuff, msmpeg4v1)
compn
parents:
22731
diff
changeset
|
2536 <entry>FFmpeg modified huffyuv lossless</entry> |
02f1feef63eb
add rest of lavc encoders to list (vcr1, cljr, jpegls, ffvhuff, msmpeg4v1)
compn
parents:
22731
diff
changeset
|
2537 </row> |
02f1feef63eb
add rest of lavc encoders to list (vcr1, cljr, jpegls, ffvhuff, msmpeg4v1)
compn
parents:
22731
diff
changeset
|
2538 <row> |
21521 | 2539 <entry>asv1</entry> |
2540 <entry>ASUS Video v1</entry> | |
2541 </row> | |
2542 <row> | |
2543 <entry>asv2</entry> | |
2544 <entry>ASUS Video v2</entry> | |
2545 </row> | |
2546 <row> | |
2547 <entry>ffv1</entry> | |
2548 <entry>FFmpeg's lossless video codec</entry> | |
2549 </row> | |
2550 <row> | |
2551 <entry>svq1</entry> | |
2552 <entry>Sorenson video 1</entry> | |
2553 </row> | |
2554 <row> | |
2555 <entry>flv</entry> | |
2556 <entry>Sorenson H.263 used in Flash Video</entry> | |
2557 </row> | |
2558 <row> | |
22700 | 2559 <entry>flashsv</entry> |
2560 <entry>Flash Screen Video</entry> | |
2561 </row> | |
2562 <row> | |
21521 | 2563 <entry>dvvideo</entry> |
2564 <entry>Sony Digital Video</entry> | |
2565 </row> | |
2566 <row> | |
2567 <entry>snow</entry> | |
2568 <entry>FFmpeg's experimental wavelet-based codec</entry> | |
2569 </row> | |
22700 | 2570 <row> |
24723 | 2571 <entry>zmbv</entry> |
2572 <entry>Zip Motion Blocks Video</entry> | |
22700 | 2573 </row> |
24717 | 2574 <row> |
2575 <entry>dnxhd</entry> | |
2576 <entry>AVID DNxHD</entry> | |
2577 </row> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2578 </tbody> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2579 </tgroup> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2580 </informaltable> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2581 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2582 The first column contains the codec names that should be passed after the |
21521 | 2583 <literal>vcodec</literal> config, |
2584 like: <option>-lavcopts vcodec=msmpeg4</option> | |
2585 </para> | |
2586 | |
2587 <informalexample><para> | |
16558 | 2588 An example with MJPEG compression: |
21521 | 2589 <screen> |
2590 mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -ovc lavc -lavcopts vcodec=mjpeg -oac copy | |
2591 </screen> | |
2592 </para></informalexample> | |
16541
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2593 </sect2> |
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2594 |
21521 | 2595 <!-- ********** --> |
2596 | |
16541
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2597 <sect2 id="menc-feat-enc-libavcodec-audio-codecs"> |
21521 | 2598 <title><systemitem class="library">libavcodec</systemitem>'s |
2599 audio codecs</title> | |
2600 | |
16541
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2601 <para> |
16535 | 2602 <informaltable frame="all"> |
2603 <tgroup cols="2"> | |
2604 <thead> | |
2605 <row><entry>Audio codec name</entry><entry>Description</entry></row> | |
2606 </thead> | |
2607 <tbody> | |
21521 | 2608 <row> |
24069 | 2609 <entry>ac3</entry> |
2610 <entry>Dolby Digital (AC-3)</entry> | |
2611 </row> | |
2612 <row> | |
2613 <entry>adpcm_*</entry> | |
2614 <entry>Adaptive PCM formats - see supplementary table</entry> | |
2615 </row> | |
2616 <row> | |
2617 <entry>flac</entry> | |
2618 <entry>Free Lossless Audio Codec (FLAC)</entry> | |
2619 </row> | |
2620 <row> | |
2621 <entry>g726</entry> | |
2622 <entry>G.726 ADPCM</entry> | |
2623 </row> | |
2624 <row> | |
2625 <entry>libamr_nb</entry> | |
2626 <entry>3GPP Adaptive Multi-Rate (AMR) narrow-band</entry> | |
2627 </row> | |
2628 <row> | |
2629 <entry>libamr_wb</entry> | |
2630 <entry>3GPP Adaptive Multi-Rate (AMR) wide-band</entry> | |
21521 | 2631 </row> |
2632 <row> | |
24069 | 2633 <entry>libfaac</entry> |
2634 <entry>Advanced Audio Coding (AAC) - using FAAC</entry> | |
2635 </row> | |
2636 <row> | |
2637 <entry>libgsm</entry> | |
2638 <entry>ETSI GSM 06.10 full rate</entry> | |
2639 </row> | |
2640 <row> | |
2641 <entry>libgsm_ms</entry> | |
2642 <entry>Microsoft GSM</entry> | |
21521 | 2643 </row> |
2644 <row> | |
24069 | 2645 <entry>libmp3lame</entry> |
2646 <entry>MPEG-1 audio layer 3 (MP3) - using LAME</entry> | |
2647 </row> | |
2648 <row> | |
2649 <entry>mp2</entry> | |
2650 <entry>MPEG-1 audio layer 2 (MP2)</entry> | |
2651 </row> | |
2652 <row> | |
2653 <entry>pcm_*</entry> | |
2654 <entry>PCM formats - see supplementary table</entry> | |
2655 </row> | |
2656 <row> | |
2657 <entry>roq_dpcm</entry> | |
2658 <entry>Id Software RoQ DPCM</entry> | |
21521 | 2659 </row> |
2660 <row> | |
2661 <entry>sonic</entry> | |
22731
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2662 <entry>experimental FFmpeg lossy codec</entry> |
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2663 </row> |
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2664 <row> |
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2665 <entry>sonicls</entry> |
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2666 <entry>experimental FFmpeg lossless codec</entry> |
21521 | 2667 </row> |
22700 | 2668 <row> |
2669 <entry>vorbis</entry> | |
24069 | 2670 <entry>Vorbis</entry> |
22700 | 2671 </row> |
2672 <row> | |
22731
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2673 <entry>wmav1</entry> |
24069 | 2674 <entry>Windows Media Audio v1</entry> |
22731
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2675 </row> |
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2676 <row> |
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2677 <entry>wmav2</entry> |
24069 | 2678 <entry>Windows Media Audio v2</entry> |
22700 | 2679 </row> |
16535 | 2680 </tbody> |
2681 </tgroup> | |
2682 </informaltable> | |
2683 | |
2684 The first column contains the codec names that should be passed after the | |
16539 | 2685 <literal>acodec</literal> option, like: <option>-lavcopts acodec=ac3</option> |
16535 | 2686 </para> |
2687 | |
21521 | 2688 <informalexample><para> |
24036 | 2689 An example with AC-3 compression: |
21521 | 2690 <screen> |
2691 mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -oac lavc -lavcopts acodec=ac3 -ovc copy | |
2692 </screen> | |
2693 </para></informalexample> | |
2694 | |
2695 <para> | |
2696 Contrary to <systemitem class="library">libavcodec</systemitem>'s video | |
2697 codecs, its audio codecs do not make a wise usage of the bits they are | |
2698 given as they lack some minimal psychoacoustic model (if at all) | |
2699 which most other codec implementations feature. | |
2700 However, note that all these audio codecs are very fast and work | |
2701 out-of-the-box everywhere <application>MEncoder</application> has been | |
2702 compiled with <systemitem class="library">libavcodec</systemitem> (which | |
2703 is the case most of time), and do not depend on external libraries. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2704 </para> |
24069 | 2705 |
2706 <sect3 id="menc-feat-enc-libavcodec-audio-codecs-pcmadpcm"> | |
2707 <title>PCM/ADPCM format supplementary table</title> | |
2708 | |
2709 <para> | |
2710 <informaltable frame="all"> | |
2711 <tgroup cols="2"> | |
2712 <thead> | |
2713 <row><entry>PCM/ADPCM codec name</entry><entry>Description</entry></row> | |
2714 </thead> | |
2715 <tbody> | |
2716 <row> | |
2717 <entry>pcm_s32le</entry> | |
2718 <entry>signed 32-bit little-endian</entry> | |
2719 </row> | |
2720 <row> | |
2721 <entry>pcm_s32be</entry> | |
2722 <entry>signed 32-bit big-endian</entry> | |
2723 </row> | |
2724 <row> | |
2725 <entry>pcm_u32le</entry> | |
2726 <entry>unsigned 32-bit little-endian</entry> | |
2727 </row> | |
2728 <row> | |
2729 <entry>pcm_u32be</entry> | |
2730 <entry>unsigned 32-bit big-endian</entry> | |
2731 </row> | |
2732 <row> | |
2733 <entry>pcm_s24le</entry> | |
2734 <entry>signed 24-bit little-endian</entry> | |
2735 </row> | |
2736 <row> | |
2737 <entry>pcm_s24be</entry> | |
2738 <entry>signed 24-bit big-endian</entry> | |
2739 </row> | |
2740 <row> | |
2741 <entry>pcm_u24le</entry> | |
2742 <entry>unsigned 24-bit little-endian</entry> | |
2743 </row> | |
2744 <row> | |
2745 <entry>pcm_u24be</entry> | |
2746 <entry>unsigned 24-bit big-endian</entry> | |
2747 </row> | |
2748 <row> | |
2749 <entry>pcm_s16le</entry> | |
2750 <entry>signed 16-bit little-endian</entry> | |
2751 </row> | |
2752 <row> | |
2753 <entry>pcm_s16be</entry> | |
2754 <entry>signed 16-bit big-endian</entry> | |
2755 </row> | |
2756 <row> | |
2757 <entry>pcm_u16le</entry> | |
2758 <entry>unsigned 16-bit little-endian</entry> | |
2759 </row> | |
2760 <row> | |
2761 <entry>pcm_u16be</entry> | |
2762 <entry>unsigned 16-bit big-endian</entry> | |
2763 </row> | |
2764 <row> | |
2765 <entry>pcm_s8</entry> | |
2766 <entry>signed 8-bit</entry> | |
2767 </row> | |
2768 <row> | |
2769 <entry>pcm_u8</entry> | |
2770 <entry>unsigned 8-bit</entry> | |
2771 </row> | |
2772 <row> | |
2773 <entry>pcm_alaw</entry> | |
2774 <entry>G.711 A-LAW </entry> | |
2775 </row> | |
2776 <row> | |
2777 <entry>pcm_mulaw</entry> | |
2778 <entry>G.711 μ-LAW</entry> | |
2779 </row> | |
2780 <row> | |
2781 <entry>pcm_s24daud</entry> | |
2782 <entry>signed 24-bit D-Cinema Audio format</entry> | |
2783 </row> | |
2784 <row> | |
2785 <entry>pcm_zork</entry> | |
2786 <entry>Activision Zork Nemesis</entry> | |
2787 </row> | |
2788 <row> | |
2789 <entry>adpcm_ima_qt</entry> | |
2790 <entry>Apple QuickTime</entry> | |
2791 </row> | |
2792 <row> | |
2793 <entry>adpcm_ima_wav</entry> | |
2794 <entry>Microsoft/IBM WAVE</entry> | |
2795 </row> | |
2796 <row> | |
2797 <entry>adpcm_ima_dk3</entry> | |
2798 <entry>Duck DK3</entry> | |
2799 </row> | |
2800 <row> | |
2801 <entry>adpcm_ima_dk4</entry> | |
2802 <entry>Duck DK4</entry> | |
2803 </row> | |
2804 <row> | |
2805 <entry>adpcm_ima_ws</entry> | |
2806 <entry>Westwood Studios</entry> | |
2807 </row> | |
2808 <row> | |
2809 <entry>adpcm_ima_smjpeg</entry> | |
2810 <entry>SDL Motion JPEG</entry> | |
2811 </row> | |
2812 <row> | |
2813 <entry>adpcm_ms</entry> | |
2814 <entry>Microsoft</entry> | |
2815 </row> | |
2816 <row> | |
2817 <entry>adpcm_4xm</entry> | |
2818 <entry>4X Technologies</entry> | |
2819 </row> | |
2820 <row> | |
2821 <entry>adpcm_xa</entry> | |
2822 <entry>Phillips Yellow Book CD-ROM eXtended Architecture</entry> | |
2823 </row> | |
2824 <row> | |
2825 <entry>adpcm_ea</entry> | |
2826 <entry>Electronic Arts</entry> | |
2827 </row> | |
2828 <row> | |
2829 <entry>adpcm_ct</entry> | |
2830 <entry>Creative 16->4-bit</entry> | |
2831 </row> | |
2832 <row> | |
2833 <entry>adpcm_swf</entry> | |
2834 <entry>Adobe Shockwave Flash</entry> | |
2835 </row> | |
2836 <row> | |
2837 <entry>adpcm_yamaha</entry> | |
2838 <entry>Yamaha</entry> | |
2839 </row> | |
2840 <row> | |
2841 <entry>adpcm_sbpro_4</entry> | |
2842 <entry>Creative VOC SoundBlaster Pro 8->4-bit</entry> | |
2843 </row> | |
2844 <row> | |
2845 <entry>adpcm_sbpro_3</entry> | |
2846 <entry>Creative VOC SoundBlaster Pro 8->2.6-bit</entry> | |
2847 </row> | |
2848 <row> | |
2849 <entry>adpcm_sbpro_2</entry> | |
2850 <entry>Creative VOC SoundBlaster Pro 8->2-bit</entry> | |
2851 </row> | |
2852 <row> | |
2853 <entry>adpcm_thp</entry> | |
2854 <entry>Nintendo GameCube FMV THP</entry> | |
2855 </row> | |
2856 <row> | |
2857 <entry>adpcm_adx</entry> | |
2858 <entry>Sega/CRI ADX</entry> | |
2859 </row> | |
2860 </tbody> | |
2861 </tgroup> | |
2862 </informaltable> | |
2863 </para> | |
2864 </sect3> | |
2865 | |
16541
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2866 </sect2> |
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2867 |
21521 | 2868 <!-- ********** --> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2869 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2870 <sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2871 <title>Encoding options of libavcodec</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2872 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2873 <para> |
21521 | 2874 Ideally, you would probably want to be able to just tell the encoder to switch |
2875 into "high quality" mode and move on. | |
2876 That would probably be nice, but unfortunately hard to implement as different | |
2877 encoding options yield different quality results depending on the source | |
2878 material. That is because compression depends on the visual properties of the | |
2879 video in question. | |
26958 | 2880 For example, Anime and live action have very different properties and |
21521 | 2881 thus require different options to obtain optimum encoding. |
2882 The good news is that some options should never be left out, like | |
2883 <option>mbd=2</option>, <option>trell</option>, and <option>v4mv</option>. | |
2884 See below for a detailed description of common encoding options. | |
2885 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2886 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2887 <itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2888 <title>Options to adjust:</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2889 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2890 <emphasis role="bold">vmax_b_frames</emphasis>: 1 or 2 is good, depending on |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2891 the movie. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2892 Note that if you need to have your encode be decodable by DivX5, you |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2893 need to activate closed GOP support, using |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2894 <systemitem class="library">libavcodec</systemitem>'s <option>cgop</option> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2895 option, but you need to deactivate scene detection, which |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2896 is not a good idea as it will hurt encode efficiency a bit. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2897 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2898 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2899 <emphasis role="bold">vb_strategy=1</emphasis>: helps in high-motion scenes. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2900 On some videos, vmax_b_frames may hurt quality, but vmax_b_frames=2 along |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2901 with vb_strategy=1 helps. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2902 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2903 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2904 <emphasis role="bold">dia</emphasis>: motion search range. Bigger is better |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2905 and slower. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2906 Negative values are a completely different scale. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2907 Good values are -1 for a fast encode, or 2-4 for slower. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2908 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2909 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2910 <emphasis role="bold">predia</emphasis>: motion search pre-pass. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2911 Not as important as dia. Good values are 1 (default) to 4. Requires preme=2 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2912 to really be useful. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2913 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2914 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2915 <emphasis role="bold">cmp, subcmp, precmp</emphasis>: Comparison function for |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2916 motion estimation. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2917 Experiment with values of 0 (default), 2 (hadamard), 3 (dct), and 6 (rate |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2918 distortion). |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2919 0 is fastest, and sufficient for precmp. |
26958 | 2920 For cmp and subcmp, 2 is good for Anime, and 3 is good for live action. |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2921 6 may or may not be slightly better, but is slow. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2922 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2923 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2924 <emphasis role="bold">last_pred</emphasis>: Number of motion predictors to |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2925 take from the previous frame. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2926 1-3 or so help at little speed cost. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2927 Higher values are slow for no extra gain. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2928 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2929 <listitem><para> |
21521 | 2930 <emphasis role="bold">cbp, mv0</emphasis>: Controls the selection of |
2931 macroblocks. Small speed cost for small quality gain. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2932 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2933 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2934 <emphasis role="bold">qprd</emphasis>: adaptive quantization based on the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2935 macroblock's complexity. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2936 May help or hurt depending on the video and other options. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2937 This can cause artifacts unless you set vqmax to some reasonably small value |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2938 (6 is good, maybe as low as 4); vqmin=1 should also help. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2939 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2940 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2941 <emphasis role="bold">qns</emphasis>: very slow, especially when combined |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2942 with qprd. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2943 This option will make the encoder minimize noise due to compression |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2944 artifacts instead of making the encoded video strictly match the source. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2945 Do not use this unless you have already tweaked everything else as far as it |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2946 will go and the results still are not good enough. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2947 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2948 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2949 <emphasis role="bold">vqcomp</emphasis>: Tweak ratecontrol. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2950 What values are good depends on the movie. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2951 You can safely leave this alone if you want. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2952 Reducing vqcomp puts more bits on low-complexity scenes, increasing it puts |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2953 them on high-complexity scenes (default: 0.5, range: 0-1. recommended range: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2954 0.5-0.7). |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2955 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2956 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2957 <emphasis role="bold">vlelim, vcelim</emphasis>: Sets the single coefficient |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2958 elimination threshold for luminance and chroma planes. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2959 These are encoded separately in all MPEG-like algorithms. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2960 The idea behind these options is to use some good heuristics to determine |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2961 when the change in a block is less than the threshold you specify, and in |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2962 such a case, to just encode the block as "no change". |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2963 This saves bits and perhaps speeds up encoding. vlelim=-4 and vcelim=9 |
26958 | 2964 seem to be good for live movies, but seem not to help with Anime; |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2965 when encoding animation, you should probably leave them unchanged. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2966 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2967 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2968 <emphasis role="bold">qpel</emphasis>: Quarter pixel motion estimation. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2969 MPEG-4 uses half pixel precision for its motion search by default, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2970 therefore this option comes with an overhead as more information will be |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2971 stored in the encoded file. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2972 The compression gain/loss depends on the movie, but it is usually not very |
26958 | 2973 effective on Anime. |
16605 | 2974 qpel always incurs a significant cost in CPU decode time (+25% in |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2975 practice). |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2976 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2977 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2978 <emphasis role="bold">psnr</emphasis>: does not affect the actual encoding, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2979 but writes a log file giving the type/size/quality of each frame, and |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2980 prints a summary of PSNR (Peak Signal to Noise Ratio) at the end. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2981 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2982 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2983 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2984 <itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2985 <title>Options not recommended to play with:</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2986 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2987 <emphasis role="bold">vme</emphasis>: The default is best. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2988 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2989 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2990 <emphasis role="bold">lumi_mask, dark_mask</emphasis>: Psychovisual adaptive |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2991 quantization. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2992 You do not want to play with those options if you care about quality. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2993 Reasonable values may be effective in your case, but be warned this is very |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2994 subjective. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2995 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2996 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2997 <emphasis role="bold">scplx_mask</emphasis>: Tries to prevent blocky |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2998 artifacts, but postprocessing is better. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2999 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3000 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3001 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3002 |
21521 | 3003 <!-- ********** --> |
3004 | |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3005 <sect2 id="menc-feat-mpeg4-lavc-example-settings"> |
16599 | 3006 <title>Encoding setting examples</title> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3007 |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3008 <para> |
21521 | 3009 The following settings are examples of different encoding |
3010 option combinations that affect the speed vs quality tradeoff | |
3011 at the same target bitrate. | |
3012 </para> | |
3013 | |
3014 <para> | |
3015 All the encoding settings were tested on a 720x448 @30000/1001 fps | |
3016 video sample, the target bitrate was 900kbps, and the machine was an | |
3017 AMD-64 3400+ at 2400 MHz in 64 bits mode. | |
3018 Each encoding setting features the measured encoding speed (in | |
3019 frames per second) and the PSNR loss (in dB) compared to the "very | |
3020 high quality" setting. | |
3021 Please understand that depending on your source, your machine type | |
3022 and development advancements, you may get very different results. | |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3023 </para> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3024 |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3025 <para> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3026 <informaltable frame="all"> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3027 <tgroup cols="4"> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3028 <thead> |
21521 | 3029 <row> |
3030 <entry>Description</entry> | |
3031 <entry>Encoding options</entry> | |
3032 <entry>speed (in fps)</entry> | |
3033 <entry>Relative PSNR loss (in dB)</entry> | |
3034 </row> | |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3035 </thead> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3036 <tbody> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3037 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3038 <entry>Very high quality</entry> |
17103 | 3039 <entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3040 <entry>6fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3041 <entry>0dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3042 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3043 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3044 <entry>High quality</entry> |
16606
7a06ad5c5b2c
the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents:
16605
diff
changeset
|
3045 <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3046 <entry>15fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3047 <entry>-0.5dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3048 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3049 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3050 <entry>Fast</entry> |
16606
7a06ad5c5b2c
the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents:
16605
diff
changeset
|
3051 <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3052 <entry>42fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3053 <entry>-0.74dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3054 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3055 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3056 <entry>Realtime</entry> |
16606
7a06ad5c5b2c
the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents:
16605
diff
changeset
|
3057 <entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3058 <entry>54fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3059 <entry>-1.21dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3060 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3061 </tbody> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3062 </tgroup> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3063 </informaltable> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3064 </para> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3065 </sect2> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3066 |
21521 | 3067 <!-- ********** --> |
3068 | |
3069 <sect2 id="custommatrices"> | |
3070 <title>Custom inter/intra matrices</title> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3071 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3072 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3073 With this feature of |
27809 | 3074 <systemitem class="library">libavcodec</systemitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3075 you are able to set custom inter (I-frames/keyframes) and intra |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3076 (P-frames/predicted frames) matrices. It is supported by many of the codecs: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3077 <systemitem>mpeg1video</systemitem> and <systemitem>mpeg2video</systemitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3078 are reported as working. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3079 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3080 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3081 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3082 A typical usage of this feature is to set the matrices preferred by the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3083 <ulink url="http://www.kvcd.net/">KVCD</ulink> specifications. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3084 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3085 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3086 <para> |
21596 | 3087 The <emphasis role="bold">KVCD "Notch" Quantization Matrix:</emphasis> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3088 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3089 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3090 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3091 Intra: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3092 <screen> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3093 8 9 12 22 26 27 29 34 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3094 9 10 14 26 27 29 34 37 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3095 12 14 18 27 29 34 37 38 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3096 22 26 27 31 36 37 38 40 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3097 26 27 29 36 39 38 40 48 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3098 27 29 34 37 38 40 48 58 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3099 29 34 37 38 40 48 58 69 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3100 34 37 38 40 48 58 69 79 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3101 </screen> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3102 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3103 Inter: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3104 <screen> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3105 16 18 20 22 24 26 28 30 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3106 18 20 22 24 26 28 30 32 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3107 20 22 24 26 28 30 32 34 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3108 22 24 26 30 32 32 34 36 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3109 24 26 28 32 34 34 36 38 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3110 26 28 30 32 34 36 38 40 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3111 28 30 32 34 36 38 42 42 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3112 30 32 34 36 38 40 42 44 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3113 </screen> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3114 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3115 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3116 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3117 Usage: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3118 <screen> |
21521 | 3119 mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc \ |
3120 -lavcopts inter_matrix=...:intra_matrix=... | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3121 </screen> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3122 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3123 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3124 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3125 <screen> |
21521 | 3126 mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts \ |
3127 vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,\ | |
3128 12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,\ | |
3129 29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79\ | |
3130 :inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,\ | |
3131 28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,\ | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3132 36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3133 </screen> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3134 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3135 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3136 |
21521 | 3137 <!-- ********** --> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3138 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3139 <sect2 id="menc-feat-dvd-mpeg4-example"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3140 <title>Example</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3141 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3142 <para> |
21521 | 3143 So, you have just bought your shiny new copy of Harry Potter and the Chamber |
3144 of Secrets (widescreen edition, of course), and you want to rip this DVD | |
3145 so that you can add it to your Home Theatre PC. This is a region 1 DVD, | |
3146 so it is NTSC. The example below will still apply to PAL, except you will | |
3147 omit <option>-ofps 24000/1001</option> (because the output framerate is the | |
3148 same as the input framerate), and of course the crop dimensions will be | |
3149 different. | |
3150 </para> | |
3151 | |
3152 <para> | |
3153 After running <option>mplayer dvd://1</option>, we follow the process | |
3154 detailed in the section <link linkend="menc-feat-telecine">How to deal | |
3155 with telecine and interlacing in NTSC DVDs</link> and discover that it is | |
3156 24000/1001 fps progressive video, which means that we need not use an inverse | |
3157 telecine filter, such as <option>pullup</option> or | |
3158 <option>filmdint</option>. | |
3159 </para> | |
3160 | |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
3161 <para id="menc-feat-dvd-mpeg4-example-crop"> |
21521 | 3162 Next, we want to determine the appropriate crop rectangle, so we use the |
3163 cropdetect filter: | |
3164 <screen>mplayer dvd://1 -vf cropdetect</screen> | |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
3165 Make sure you seek to a fully filled frame (such as a bright scene, |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
3166 past the opening credits and logos), and |
21521 | 3167 you will see in <application>MPlayer</application>'s console output: |
3168 <screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen> | |
3169 We then play the movie back with this filter to test its correctness: | |
3170 <screen>mplayer dvd://1 -vf crop=720:362:0:58</screen> | |
3171 And we see that it looks perfectly fine. Next, we ensure the width and | |
3172 height are a multiple of 16. The width is fine, however the height is | |
3173 not. Since we did not fail 7th grade math, we know that the nearest | |
3174 multiple of 16 lower than 362 is 352. | |
3175 </para> | |
3176 | |
3177 <para> | |
3178 We could just use <option>crop=720:352:0:58</option>, but it would be nice | |
3179 to take a little off the top and a little off the bottom so that we | |
3180 retain the center. We have shrunk the height by 10 pixels, but we do not | |
3181 want to increase the y-offset by 5-pixels since that is an odd number and | |
3182 will adversely affect quality. Instead, we will increase the y-offset by | |
3183 4 pixels: | |
3184 <screen>mplayer dvd://1 -vf crop=720:352:0:62</screen> | |
3185 Another reason to shave pixels from both the top and the bottom is that we | |
3186 ensure we have eliminated any half-black pixels if they exist. Note that if | |
3187 your video is telecined, make sure the <option>pullup</option> filter (or | |
3188 whichever inverse telecine filter you decide to use) appears in the filter | |
3189 chain before you crop. If it is interlaced, deinterlace before cropping. | |
3190 (If you choose to preserve the interlaced video, then make sure your | |
3191 vertical crop offset is a multiple of 4.) | |
3192 </para> | |
3193 | |
3194 <para> | |
3195 If you are really concerned about losing those 10 pixels, you might | |
3196 prefer instead to scale the dimensions down to the nearest multiple of 16. | |
3197 The filter chain would look like: | |
3198 <screen>-vf crop=720:362:0:58,scale=720:352</screen> | |
3199 Scaling the video down like this will mean that some small amount of | |
3200 detail is lost, though it probably will not be perceptible. Scaling up will | |
3201 result in lower quality (unless you increase the bitrate). Cropping | |
3202 discards those pixels altogether. It is a tradeoff that you will want to | |
3203 consider for each circumstance. For example, if the DVD video was made | |
3204 for television, you might want to avoid vertical scaling, since the line | |
3205 sampling corresponds to the way the content was originally recorded. | |
3206 </para> | |
3207 | |
3208 <para> | |
3209 On inspection, we see that our movie has a fair bit of action and high | |
3210 amounts of detail, so we pick 2400Kbit for our bitrate. | |
3211 </para> | |
3212 | |
3213 <para> | |
3214 We are now ready to do the two pass encode. Pass one: | |
3215 <screen> | |
3216 mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \ | |
21830
01bb9c073e77
clarify a few things about the interaction between *cmp and mbd options
gpoirier
parents:
21784
diff
changeset
|
3217 -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=1 \ |
21521 | 3218 -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 |
3219 </screen> | |
3220 And pass two is the same, except that we specify <option>vpass=2</option>: | |
3221 <screen> | |
3222 mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \ | |
21830
01bb9c073e77
clarify a few things about the interaction between *cmp and mbd options
gpoirier
parents:
21784
diff
changeset
|
3223 -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=2 \ |
21521 | 3224 -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 |
3225 </screen> | |
3226 </para> | |
3227 | |
3228 <para> | |
3229 The options <option>v4mv:mbd=2:trell</option> will greatly increase the | |
3230 quality at the expense of encoding time. There is little reason to leave | |
3231 these options out when the primary goal is quality. The options | |
21830
01bb9c073e77
clarify a few things about the interaction between *cmp and mbd options
gpoirier
parents:
21784
diff
changeset
|
3232 <option>cmp=3:subcmp=3</option> select a comparison function that |
21521 | 3233 yields higher quality than the defaults. You might try experimenting with |
3234 this parameter (refer to the man page for the possible values) as | |
3235 different functions can have a large impact on quality depending on the | |
3236 source material. For example, if you find | |
3237 <systemitem class="library">libavcodec</systemitem> produces too much | |
26958 | 3238 blocky artifacts, you could try selecting the experimental NSSE as |
21521 | 3239 comparison function via <option>*cmp=10</option>. |
3240 </para> | |
3241 | |
3242 <para> | |
3243 For this movie, the resulting AVI will be 138 minutes long and nearly | |
3244 3GB. And because you said that file size does not matter, this is a | |
3245 perfectly acceptable size. However, if you had wanted it smaller, you | |
3246 could try a lower bitrate. Increasing bitrates have diminishing | |
3247 returns, so while we might clearly see an improvement from 1800Kbit to | |
3248 2000Kbit, it might not be so noticeable above 2000Kbit. Feel | |
3249 free to experiment until you are happy. | |
3250 </para> | |
3251 | |
3252 <para> | |
3253 Because we passed the source video through a denoise filter, you may want | |
3254 to add some of it back during playback. This, along with the | |
3255 <option>spp</option> post-processing filter, drastically improves the | |
3256 perception of quality and helps eliminate blocky artifacts in the video. | |
3257 With <application>MPlayer</application>'s <option>autoq</option> option, | |
3258 you can vary the amount of post-processing done by the spp filter | |
3259 depending on available CPU. Also, at this point, you may want to apply | |
3260 gamma and/or color correction to best suit your display. For example: | |
3261 <screen> | |
3262 mplayer <replaceable>Harry_Potter_2.avi</replaceable> -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3 | |
3263 </screen> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3264 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3265 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3266 </sect1> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3267 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3268 |
21521 | 3269 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> |
3270 | |
3271 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3272 <sect1 id="menc-feat-xvid"> |
20860 | 3273 <title>Encoding with the <systemitem class="library">Xvid</systemitem> |
21521 | 3274 codec</title> |
3275 | |
3276 <para> | |
3277 <systemitem class="library">Xvid</systemitem> is a free library for | |
3278 encoding MPEG-4 ASP video streams. | |
3279 Before starting to encode, you need to <link linkend="xvid"> | |
3280 set up <application>MEncoder</application> to support it</link>. | |
3281 </para> | |
3282 | |
3283 <para> | |
3284 This guide mainly aims at featuring the same kind of information | |
3285 as x264's encoding guide. | |
3286 Therefore, please begin by reading | |
3287 <link linkend="menc-feat-x264-encoding-options-intro">the first part</link> | |
3288 of that guide. | |
3289 </para> | |
3290 | |
3291 <!-- ********** --> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3292 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3293 <sect2 id="menc-feat-xvid-intro"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3294 <title>What options should I use to get the best results?</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3295 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3296 <para> |
21521 | 3297 Please begin by reviewing the |
3298 <systemitem class="library">Xvid</systemitem> section of | |
3299 <application>MPlayer</application>'s man page. | |
3300 This section is intended to be a supplement to the man page. | |
3301 </para> | |
3302 | |
3303 <para> | |
3304 The Xvid default settings are already a good tradeoff between | |
3305 speed and quality, therefore you can safely stick to them if | |
3306 the following section puzzles you. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3307 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3308 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3309 |
21521 | 3310 <!-- ********** --> |
3311 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3312 <sect2 id="menc-feat-xvid-encoding-options"> |
20860 | 3313 <title>Encoding options of <systemitem class="library">Xvid</systemitem></title> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3314 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3315 <itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3316 <listitem><para> |
21521 | 3317 <emphasis role="bold">vhq</emphasis> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3318 This setting affects the macroblock decision algorithm, where the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3319 higher the setting, the wiser the decision. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3320 The default setting may be safely used for every encode, while |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3321 higher settings always help PSNR but are significantly slower. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3322 Please note that a better PSNR does not necessarily mean |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3323 that the picture will look better, but tells you that it is |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3324 closer to the original. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3325 Turning it off will noticeably speed up encoding; if speed is |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3326 critical for you, the tradeoff may be worth it. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3327 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3328 <listitem><para> |
21521 | 3329 <emphasis role="bold">bvhq</emphasis> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3330 This does the same job as vhq, but does it on B-frames. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3331 It has a negligible impact on speed, and slightly improves quality |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3332 (around +0.1dB PSNR). |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3333 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3334 <listitem><para> |
21521 | 3335 <emphasis role="bold">max_bframes</emphasis> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3336 A higher number of consecutive allowed B-frames usually improves |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3337 compressibility, although it may also lead to more blocking artifacts. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3338 The default setting is a good tradeoff between compressibility and |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3339 quality, but you may increase it up to 3 if you are bitrate-starved. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3340 You may also decrease it to 1 or 0 if you are aiming at perfect |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3341 quality, though in that case you should make sure your |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3342 target bitrate is high enough to ensure that the encoder does not |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3343 have to increase quantizers to reach it. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3344 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3345 <listitem><para> |
21521 | 3346 <emphasis role="bold">bf_threshold</emphasis> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3347 This controls the B-frame sensitivity of the encoder, where a higher |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3348 value leads to more B-frames being used (and vice versa). |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3349 This setting is to be used together with <option>max_bframes</option>; |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3350 if you are bitrate-starved, you should increase both |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3351 <option>max_bframes</option> and <option>bf_threshold</option>, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3352 while you may increase <option>max_bframes</option> and reduce |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3353 <option>bf_threshold</option> so that the encoder may use more |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3354 B-frames in places that only <emphasis role="bold">really</emphasis> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3355 need them. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3356 A low number of <option>max_bframes</option> and a high value of |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3357 <option>bf_threshold</option> is probably not a wise choice as it |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3358 will force the encoder to put B-frames in places that would not |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3359 benefit from them, therefore reducing visual quality. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3360 However, if you need to be compatible with standalone players that |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3361 only support old DivX profiles (which only supports up to 1 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3362 consecutive B-frame), this would be your only way to |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3363 increase compressibility through using B-frames. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3364 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3365 <listitem><para> |
21521 | 3366 <emphasis role="bold">trellis</emphasis> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3367 Optimizes the quantization process to get an optimal tradeoff |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3368 between PSNR and bitrate, which allows significant bit saving. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3369 These bits will in return be spent elsewhere on the video, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3370 raising overall visual quality. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3371 You should always leave it on as its impact on quality is huge. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3372 Even if you are looking for speed, do not disable it until you |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3373 have turned down <option>vhq</option> and all other more |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3374 CPU-hungry options to the minimum. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3375 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3376 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3377 <emphasis role="bold">hq_ac</emphasis> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3378 Activates a better coefficient cost estimation method, which slightly |
26958 | 3379 reduces file size by around 0.15 to 0.19% (which corresponds to less |
16605 | 3380 than 0.01dB PSNR increase), while having a negligible impact on speed. |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3381 It is therefore recommended to always leave it on. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3382 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3383 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3384 <emphasis role="bold">cartoon</emphasis> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3385 Designed to better encode cartoon content, and has no impact on |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3386 speed as it just tunes the mode decision heuristics for this type |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3387 of content. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3388 </para></listitem> |
21521 | 3389 <listitem> |
3390 <para> | |
3391 <emphasis role="bold">me_quality</emphasis> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3392 This setting is to control the precision of the motion estimation. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3393 The higher <option>me_quality</option>, the more |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3394 precise the estimation of the original motion will be, and the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3395 better the resulting clip will capture the original motion. |
21521 | 3396 </para> |
3397 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3398 The default setting is best in all cases; |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3399 thus it is not recommended to turn it down unless you are |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3400 really looking for speed, as all the bits saved by a good motion |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3401 estimation would be spent elsewhere, raising overall quality. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3402 Therefore, do not go any lower than 5, and even that only as a last |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3403 resort. |
21521 | 3404 </para> |
3405 </listitem> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3406 <listitem><para> |
21521 | 3407 <emphasis role="bold">chroma_me</emphasis> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3408 Improves motion estimation by also taking the chroma (color) |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3409 information into account, whereas <option>me_quality</option> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3410 alone only uses luma (grayscale). |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3411 This slows down encoding by 5-10% but improves visual quality |
26958 | 3412 quite a bit by reducing blocking effects and reduces file size by |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3413 around 1.3%. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3414 If you are looking for speed, you should disable this option before |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3415 starting to consider reducing <option>me_quality</option>. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3416 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3417 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3418 <emphasis role="bold">chroma_opt</emphasis> |
21521 | 3419 Is intended to increase chroma image quality around pure |
3420 white/black edges, rather than improving compression. | |
3421 This can help to reduce the "red stairs" effect. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3422 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3423 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3424 <emphasis role="bold">lumi_mask</emphasis> |
21521 | 3425 Tries to give less bitrate to part of the picture that the |
3426 human eye cannot see very well, which should allow the encoder | |
3427 to spend the saved bits on more important parts of the picture. | |
3428 The quality of the encode yielded by this option highly depends | |
3429 on personal preferences and on the type and monitor settings | |
3430 used to watch it (typically, it will not look as good if it is | |
3431 bright or if it is a TFT monitor). | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3432 </para></listitem> |
21521 | 3433 <listitem> |
3434 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3435 <emphasis role="bold">qpel</emphasis> |
21521 | 3436 Raise the number of candidate motion vectors by increasing |
3437 the precision of the motion estimation from halfpel to | |
3438 quarterpel. | |
3439 The idea is to find better motion vectors which will in return | |
3440 reduce bitrate (hence increasing quality). | |
3441 However, motion vectors with quarterpel precision require a | |
3442 few extra bits to code, but the candidate vectors do not always | |
3443 give (much) better results. | |
3444 Quite often, the codec still spends bits on the extra precision, | |
3445 but little or no extra quality is gained in return. | |
3446 Unfortunately, there is no way to foresee the possible gains of | |
3447 <option>qpel</option>, so you need to actually encode with and | |
3448 without it to know for sure. | |
3449 </para> | |
3450 <para> | |
3451 <option>qpel</option> can be almost double encoding time, and | |
3452 requires as much as 25% more processing power to decode. | |
3453 It is not supported by all standalone players. | |
3454 </para> | |
3455 </listitem> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3456 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3457 <emphasis role="bold">gmc</emphasis> |
21521 | 3458 Tries to save bits on panning scenes by using a single motion |
3459 vector for the whole frame. | |
3460 This almost always raises PSNR, but significantly slows down | |
3461 encoding (as well as decoding). | |
3462 Therefore, you should only use it when you have turned | |
3463 <option>vhq</option> to the maximum. | |
3464 <systemitem class="library">Xvid</systemitem>'s GMC is more | |
3465 sophisticated than DivX's, but is only supported by few | |
3466 standalone players. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3467 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3468 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3469 </sect2> |
16486
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3470 |
21521 | 3471 <!-- ********** --> |
3472 | |
16486
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3473 <sect2 id="menc-feat-xvid-encoding-profiles"> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3474 <title>Encoding profiles</title> |
21521 | 3475 |
3476 <para> | |
3477 Xvid supports encoding profiles through the <option>profile</option> option, | |
3478 which are used to impose restrictions on the properties of the Xvid video | |
3479 stream such that it will be playable on anything which supports the | |
3480 chosen profile. | |
3481 The restrictions relate to resolutions, bitrates and certain MPEG-4 | |
3482 features. | |
3483 The following table shows what each profile supports. | |
3484 </para> | |
3485 | |
16486
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3486 <informaltable> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3487 <tgroup cols="16" align="center"> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3488 <colspec colnum="1" colname="col1"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3489 <colspec colnum="2" colname="col2"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3490 <colspec colnum="3" colname="col3"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3491 <colspec colnum="4" colname="col4"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3492 <colspec colnum="5" colname="col5"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3493 <colspec colnum="6" colname="col6"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3494 <colspec colnum="7" colname="col7"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3495 <colspec colnum="8" colname="col8"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3496 <colspec colnum="9" colname="col9"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3497 <colspec colnum="10" colname="col10"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3498 <colspec colnum="11" colname="col11"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3499 <colspec colnum="12" colname="col12"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3500 <colspec colnum="13" colname="col13"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3501 <colspec colnum="14" colname="col14"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3502 <colspec colnum="15" colname="col15"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3503 <colspec colnum="16" colname="col16"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3504 <colspec colnum="17" colname="col17"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3505 <spanspec spanname="spa2-5" namest="col2" nameend="col5"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3506 <spanspec spanname="spa6-11" namest="col6" nameend="col11"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3507 <spanspec spanname="spa12-17" namest="col12" nameend="col17"/> |
21521 | 3508 <tbody> |
3509 <row> | |
3510 <entry></entry> | |
3511 <entry spanname="spa2-5">Simple</entry> | |
3512 <entry spanname="spa6-11">Advanced Simple</entry> | |
3513 <entry spanname="spa12-17">DivX</entry> | |
3514 </row> | |
3515 <row> | |
3516 <entry>Profile name</entry> | |
3517 <entry>0</entry> | |
3518 <entry>1</entry> | |
3519 <entry>2</entry> | |
3520 <entry>3</entry> | |
3521 <entry>0</entry> | |
3522 <entry>1</entry> | |
3523 <entry>2</entry> | |
3524 <entry>3</entry> | |
3525 <entry>4</entry> | |
3526 <entry>5</entry> | |
3527 <entry>Handheld</entry> | |
3528 <entry>Portable NTSC</entry> | |
3529 <entry>Portable PAL</entry> | |
3530 <entry>Home Theater NTSC</entry> | |
3531 <entry>Home Theater PAL</entry> | |
3532 <entry>HDTV</entry> | |
3533 </row> | |
3534 <row> | |
3535 <entry>Width [pixels]</entry> | |
3536 <entry>176</entry> | |
3537 <entry>176</entry> | |
3538 <entry>352</entry> | |
3539 <entry>352</entry> | |
3540 <entry>176</entry> | |
3541 <entry>176</entry> | |
3542 <entry>352</entry> | |
3543 <entry>352</entry> | |
3544 <entry>352</entry> | |
3545 <entry>720</entry> | |
3546 <entry>176</entry> | |
3547 <entry>352</entry> | |
3548 <entry>352</entry> | |
3549 <entry>720</entry> | |
3550 <entry>720</entry> | |
3551 <entry>1280</entry> | |
3552 </row> | |
3553 <row> | |
3554 <entry>Height [pixels]</entry> | |
3555 <entry>144</entry> | |
3556 <entry>144</entry> | |
3557 <entry>288</entry> | |
3558 <entry>288</entry> | |
3559 <entry>144</entry> | |
3560 <entry>144</entry> | |
3561 <entry>288</entry> | |
3562 <entry>288</entry> | |
3563 <entry>576</entry> | |
3564 <entry>576</entry> | |
3565 <entry>144</entry> | |
3566 <entry>240</entry> | |
3567 <entry>288</entry> | |
3568 <entry>480</entry> | |
3569 <entry>576</entry> | |
3570 <entry>720</entry> | |
3571 </row> | |
3572 <row> | |
3573 <entry>Frame rate [fps]</entry> | |
3574 <entry>15</entry> | |
3575 <entry>15</entry> | |
3576 <entry>15</entry> | |
3577 <entry>15</entry> | |
3578 <entry>30</entry> | |
3579 <entry>30</entry> | |
3580 <entry>15</entry> | |
3581 <entry>30</entry> | |
3582 <entry>30</entry> | |
3583 <entry>30</entry> | |
3584 <entry>15</entry> | |
3585 <entry>30</entry> | |
3586 <entry>25</entry> | |
3587 <entry>30</entry> | |
3588 <entry>25</entry> | |
3589 <entry>30</entry> | |
3590 </row> | |
3591 <row> | |
3592 <entry>Max average bitrate [kbps]</entry> | |
3593 <entry>64</entry> | |
3594 <entry>64</entry> | |
3595 <entry>128</entry> | |
3596 <entry>384</entry> | |
3597 <entry>128</entry> | |
3598 <entry>128</entry> | |
3599 <entry>384</entry> | |
3600 <entry>768</entry> | |
3601 <entry>3000</entry> | |
3602 <entry>8000</entry> | |
3603 <entry>537.6</entry> | |
3604 <entry>4854</entry> | |
3605 <entry>4854</entry> | |
3606 <entry>4854</entry> | |
3607 <entry>4854</entry> | |
3608 <entry>9708.4</entry> | |
3609 </row> | |
3610 <row> | |
3611 <entry>Peak average bitrate over 3 secs [kbps]</entry> | |
3612 <entry></entry> | |
3613 <entry></entry> | |
3614 <entry></entry> | |
3615 <entry></entry> | |
3616 <entry></entry> | |
3617 <entry></entry> | |
3618 <entry></entry> | |
3619 <entry></entry> | |
3620 <entry></entry> | |
3621 <entry></entry> | |
3622 <entry>800</entry> | |
3623 <entry>8000</entry> | |
3624 <entry>8000</entry> | |
3625 <entry>8000</entry> | |
3626 <entry>8000</entry> | |
3627 <entry>16000</entry> | |
3628 </row> | |
3629 <row> | |
3630 <entry>Max. B-frames</entry> | |
3631 <entry>0</entry> | |
3632 <entry>0</entry> | |
3633 <entry>0</entry> | |
3634 <entry>0</entry> | |
3635 <entry></entry> | |
3636 <entry></entry> | |
3637 <entry></entry> | |
3638 <entry></entry> | |
3639 <entry></entry> | |
3640 <entry></entry> | |
3641 <entry>0</entry> | |
3642 <entry>1</entry> | |
3643 <entry>1</entry> | |
3644 <entry>1</entry> | |
3645 <entry>1</entry> | |
3646 <entry>2</entry> | |
3647 </row> | |
3648 <row> | |
3649 <entry>MPEG quantization</entry> | |
3650 <entry></entry> | |
3651 <entry></entry> | |
3652 <entry></entry> | |
3653 <entry></entry> | |
3654 <entry>X</entry> | |
3655 <entry>X</entry> | |
3656 <entry>X</entry> | |
3657 <entry>X</entry> | |
3658 <entry>X</entry> | |
3659 <entry>X</entry> | |
3660 <entry></entry> | |
3661 <entry></entry> | |
3662 <entry></entry> | |
3663 <entry></entry> | |
3664 <entry></entry> | |
3665 <entry></entry> | |
3666 </row> | |
3667 <row> | |
3668 <entry>Adaptive quantization</entry> | |
3669 <entry></entry> | |
3670 <entry></entry> | |
3671 <entry></entry> | |
3672 <entry></entry> | |
3673 <entry>X</entry> | |
3674 <entry>X</entry> | |
3675 <entry>X</entry> | |
3676 <entry>X</entry> | |
3677 <entry>X</entry> | |
3678 <entry>X</entry> | |
3679 <entry>X</entry> | |
3680 <entry>X</entry> | |
3681 <entry>X</entry> | |
3682 <entry>X</entry> | |
3683 <entry>X</entry> | |
3684 <entry>X</entry> | |
3685 </row> | |
3686 <row> | |
3687 <entry>Interlaced encoding</entry> | |
3688 <entry></entry> | |
3689 <entry></entry> | |
3690 <entry></entry> | |
3691 <entry></entry> | |
3692 <entry>X</entry> | |
3693 <entry>X</entry> | |
3694 <entry>X</entry> | |
3695 <entry>X</entry> | |
3696 <entry>X</entry> | |
3697 <entry>X</entry> | |
3698 <entry></entry> | |
3699 <entry></entry> | |
3700 <entry></entry> | |
3701 <entry>X</entry> | |
3702 <entry>X</entry> | |
3703 <entry>X</entry> | |
3704 </row> | |
3705 <row> | |
26958 | 3706 <entry>Quarterpixel</entry> |
21521 | 3707 <entry></entry> |
3708 <entry></entry> | |
3709 <entry></entry> | |
3710 <entry></entry> | |
3711 <entry>X</entry> | |
3712 <entry>X</entry> | |
3713 <entry>X</entry> | |
3714 <entry>X</entry> | |
3715 <entry>X</entry> | |
3716 <entry>X</entry> | |
3717 <entry></entry> | |
3718 <entry></entry> | |
3719 <entry></entry> | |
3720 <entry></entry> | |
3721 <entry></entry> | |
3722 <entry></entry> | |
3723 </row> | |
3724 <row> | |
3725 <entry>Global motion compensation</entry> | |
3726 <entry></entry> | |
3727 <entry></entry> | |
3728 <entry></entry> | |
3729 <entry></entry> | |
3730 <entry>X</entry> | |
3731 <entry>X</entry> | |
3732 <entry>X</entry> | |
3733 <entry>X</entry> | |
3734 <entry>X</entry> | |
3735 <entry>X</entry> | |
3736 <entry></entry> | |
3737 <entry></entry> | |
3738 <entry></entry> | |
3739 <entry></entry> | |
3740 <entry></entry> | |
3741 <entry></entry> | |
3742 </row> | |
3743 </tbody> | |
16486
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3744 </tgroup> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3745 </informaltable> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3746 </sect2> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3747 |
21521 | 3748 <!-- ********** --> |
3749 | |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3750 <sect2 id="menc-feat-xvid-example-settings"> |
16599 | 3751 <title>Encoding setting examples</title> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3752 |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3753 <para> |
21521 | 3754 The following settings are examples of different encoding |
3755 option combinations that affect the speed vs quality tradeoff | |
3756 at the same target bitrate. | |
3757 </para> | |
3758 | |
3759 <para> | |
3760 All the encoding settings were tested on a 720x448 @30000/1001 fps | |
3761 video sample, the target bitrate was 900kbps, and the machine was an | |
3762 AMD-64 3400+ at 2400 MHz in 64 bits mode. | |
3763 Each encoding setting features the measured encoding speed (in | |
3764 frames per second) and the PSNR loss (in dB) compared to the "very | |
3765 high quality" setting. | |
3766 Please understand that depending on your source, your machine type | |
3767 and development advancements, you may get very different results. | |
3768 </para> | |
3769 | |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3770 <informaltable frame="all"> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3771 <tgroup cols="4"> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3772 <thead> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3773 <row><entry>Description</entry><entry>Encoding options</entry><entry>speed (in fps)</entry><entry>Relative PSNR loss (in dB)</entry></row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3774 </thead> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3775 <tbody> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3776 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3777 <entry>Very high quality</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3778 <entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3779 <entry>16fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3780 <entry>0dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3781 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3782 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3783 <entry>High quality</entry> |
16606
7a06ad5c5b2c
the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents:
16605
diff
changeset
|
3784 <entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3785 <entry>18fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3786 <entry>-0.1dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3787 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3788 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3789 <entry>Fast</entry> |
16606
7a06ad5c5b2c
the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents:
16605
diff
changeset
|
3790 <entry><option>turbo:vhq=0</option></entry> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3791 <entry>28fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3792 <entry>-0.69dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3793 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3794 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3795 <entry>Realtime</entry> |
16606
7a06ad5c5b2c
the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents:
16605
diff
changeset
|
3796 <entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3797 <entry>38fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3798 <entry>-1.48dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3799 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3800 </tbody> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3801 </tgroup> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3802 </informaltable> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3803 </sect2> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3804 </sect1> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3805 |
21521 | 3806 |
3807 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
3808 | |
3809 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3810 <sect1 id="menc-feat-x264"> |
21521 | 3811 <title>Encoding with the |
3812 <systemitem class="library">x264</systemitem> codec</title> | |
3813 | |
3814 <para> | |
3815 <systemitem class="library">x264</systemitem> is a free library for | |
3816 encoding H.264/AVC video streams. | |
3817 Before starting to encode, you need to | |
27742 | 3818 <link linkend="codec-x264">set up <application>MEncoder</application> to support it</link>. |
21521 | 3819 </para> |
3820 | |
3821 <!-- ********** --> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3822 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3823 <sect2 id="menc-feat-x264-encoding-options"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3824 <title>Encoding options of x264</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3825 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3826 <para> |
21521 | 3827 Please begin by reviewing the |
3828 <systemitem class="library">x264</systemitem> section of | |
3829 <application>MPlayer</application>'s man page. | |
3830 This section is intended to be a supplement to the man page. | |
3831 Here you will find quick hints about which options are most | |
3832 likely to interest most people. The man page is more terse, | |
3833 but also more exhaustive, and it sometimes offers much better | |
3834 technical detail. | |
3835 </para> | |
3836 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3837 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3838 <sect3 id="menc-feat-x264-encoding-options-intro"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3839 <title>Introduction</title> |
21521 | 3840 |
3841 <para> | |
3842 This guide considers two major categories of encoding options: | |
3843 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3844 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3845 <orderedlist> |
21521 | 3846 <listitem><para> |
3847 Options which mainly trade off encoding time vs. quality | |
3848 </para></listitem> | |
3849 <listitem><para> | |
3850 Options which may be useful for fulfilling various personal | |
3851 preferences and special requirements | |
3852 </para></listitem> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3853 </orderedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3854 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3855 <para> |
21521 | 3856 Ultimately, only you can decide which options are best for your |
3857 purposes. The decision for the first class of options is the simplest: | |
3858 you only have to decide whether you think the quality differences | |
3859 justify the speed differences. For the second class of options, | |
3860 preferences may be far more subjective, and more factors may be | |
21596 | 3861 involved. Note that some of the "personal preferences and special |
3862 requirements" options can still have large impacts on speed or quality, | |
21521 | 3863 but that is not what they are primarily useful for. A couple of the |
21596 | 3864 "personal preference" options may even cause changes that look better |
21521 | 3865 to some people, but look worse to others. |
3866 </para> | |
3867 | |
3868 <para> | |
3869 Before continuing, you need to understand that this guide uses only one | |
3870 quality metric: global PSNR. | |
3871 For a brief explanation of what PSNR is, see | |
3872 <ulink url="http://en.wikipedia.org/wiki/PSNR">the Wikipedia article on PSNR</ulink>. | |
3873 Global PSNR is the last PSNR number reported when you include | |
3874 the <option>psnr</option> option in <option>x264encopts</option>. | |
3875 Any time you read a claim about PSNR, one of the assumptions | |
3876 behind the claim is that equal bitrates are used. | |
3877 </para> | |
3878 | |
3879 <para> | |
3880 Nearly all of this guide's comments assume you are using two pass. | |
3881 When comparing options, there are two major reasons for using | |
3882 two pass encoding. | |
3883 First, using two pass often gains around 1dB PSNR, which is a | |
3884 very big difference. | |
3885 Secondly, testing options by doing direct quality comparisons | |
3886 with one pass encodes introduces a major confounding | |
3887 factor: bitrate often varies significantly with each encode. | |
3888 It is not always easy to tell whether quality changes are due | |
3889 mainly to changed options, or if they mostly reflect essentially | |
3890 random differences in the achieved bitrate. | |
3891 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3892 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3893 |
21521 | 3894 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3895 <sect3 id="menc-feat-x264-encoding-options-speedvquality"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3896 <title>Options which primarily affect speed and quality</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3897 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3898 <itemizedlist> |
21521 | 3899 <listitem> |
3900 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3901 <emphasis role="bold">subq</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3902 Of the options which allow you to trade off speed for quality, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3903 <option>subq</option> and <option>frameref</option> (see below) are usually |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3904 by far the most important. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3905 If you are interested in tweaking either speed or quality, these |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3906 are the first options you should consider. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3907 On the speed dimension, the <option>frameref</option> and |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3908 <option>subq</option> options interact with each other fairly |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3909 strongly. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3910 Experience shows that, with one reference frame, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3911 <option>subq=5</option> (the default setting) takes about 35% more time than |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3912 <option>subq=1</option>. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3913 With 6 reference frames, the penalty grows to over 60%. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3914 <option>subq</option>'s effect on PSNR seems fairly constant |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3915 regardless of the number of reference frames. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3916 Typically, <option>subq=5</option> achieves 0.2-0.5 dB higher global |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3917 PSNR in comparison <option>subq=1</option>. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3918 This is usually enough to be visible. |
21521 | 3919 </para> |
3920 <para> | |
21913 | 3921 <option>subq=6</option> is slower and yields better quality at a reasonable |
3922 cost. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3923 In comparison to <option>subq=5</option>, it usually gains 0.1-0.4 dB |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3924 global PSNR with speed costs varying from 25%-100%. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3925 Unlike other levels of <option>subq</option>, the behavior of |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3926 <option>subq=6</option> does not depend much on <option>frameref</option> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3927 and <option>me</option>. Instead, the effectiveness of <option>subq=6 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3928 </option> depends mostly upon the number of B-frames used. In normal |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3929 usage, this means <option>subq=6</option> has a large impact on both speed |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3930 and quality in complex, high motion scenes, but it may not have much effect |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3931 in low-motion scenes. Note that it is still recommended to always set |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3932 <option>bframes</option> to something other than zero (see below). |
21521 | 3933 </para> |
21913 | 3934 <para> |
3935 <option>subq=7</option> is the slowest, highest quality mode. | |
3936 In comparison to <option>subq=6</option>, it usually gains 0.01-0.05 dB | |
3937 global PSNR with speed costs varying from 15%-33%. | |
3938 Since the tradeoff encoding time vs. quality is quite low, you should | |
3939 only use it if you are after every bit saving and if encoding time is | |
3940 not an issue. | |
3941 </para> | |
21521 | 3942 </listitem> |
3943 <listitem> | |
3944 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3945 <emphasis role="bold">frameref</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3946 <option>frameref</option> is set to 1 by default, but this |
21521 | 3947 should not be taken to imply that it is reasonable to set it to 1. |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3948 Merely raising <option>frameref</option> to 2 gains around |
21521 | 3949 0.15dB PSNR with a 5-10% speed penalty; this seems like a good tradeoff. |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3950 <option>frameref=3</option> gains around 0.25dB PSNR over |
21521 | 3951 <option>frameref=1</option>, which should be a visible difference. |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3952 <option>frameref=3</option> is around 15% slower than |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3953 <option>frameref=1</option>. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3954 Unfortunately, diminishing returns set in rapidly. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3955 <option>frameref=6</option> can be expected to gain only |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3956 0.05-0.1 dB over <option>frameref=3</option> at an additional |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3957 15% speed penalty. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3958 Above <option>frameref=6</option>, the quality gains are |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3959 usually very small (although you should keep in mind throughout |
21521 | 3960 this whole discussion that it can vary quite a lot depending on your source). |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3961 In a fairly typical case, <option>frameref=12</option> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3962 will improve global PSNR by a tiny 0.02dB over |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3963 <option>frameref=6</option>, at a speed cost of 15%-20%. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3964 At such high <option>frameref</option> values, the only really |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3965 good thing that can be said is that increasing it even further will |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3966 almost certainly never <emphasis role="bold">harm</emphasis> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3967 PSNR, but the additional quality benefits are barely even |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3968 measurable, let alone perceptible. |
21521 | 3969 </para> |
3970 <note><title>Note:</title> | |
3971 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3972 Raising <option>frameref</option> to unnecessarily high values |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3973 <emphasis role="bold">can</emphasis> and |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3974 <emphasis role="bold">usually does</emphasis> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3975 hurt coding efficiency if you turn CABAC off. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3976 With CABAC on (the default behavior), the possibility of setting |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3977 <option>frameref</option> "too high" currently seems too remote |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3978 to even worry about, and in the future, optimizations may remove |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3979 the possibility altogether. |
21521 | 3980 </para></note> |
3981 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3982 If you care about speed, a reasonable compromise is to use low |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3983 <option>subq</option> and <option>frameref</option> values on |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3984 the first pass, and then raise them on the second pass. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3985 Typically, this has a negligible negative effect on the final |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3986 quality: You will probably lose well under 0.1dB PSNR, which |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3987 should be much too small of a difference to see. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3988 However, different values of <option>frameref</option> can |
26958 | 3989 occasionally affect frame type decision. |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3990 Most likely, these are rare outlying cases, but if you want to |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3991 be pretty sure, consider whether your video has either |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3992 fullscreen repetitive flashing patterns or very large temporary |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3993 occlusions which might force an I-frame. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3994 Adjust the first-pass <option>frameref</option> so it is large |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3995 enough to contain the duration of the flashing cycle (or occlusion). |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3996 For example, if the scene flashes back and forth between two images |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3997 over a duration of three frames, set the first pass |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3998 <option>frameref</option> to 3 or higher. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3999 This issue is probably extremely rare in live action video material, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4000 but it does sometimes come up in video game captures. |
21521 | 4001 </para> |
4002 </listitem> | |
4003 <listitem> | |
4004 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4005 <emphasis role="bold">me</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4006 This option is for choosing the motion estimation search method. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4007 Altering this option provides a straightforward quality-vs-speed |
20254
beca75a03355
Update x264 option names that changed with r20060
gpoirier
parents:
20037
diff
changeset
|
4008 tradeoff. <option>me=dia</option> is only a few percent faster than |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4009 the default search, at a cost of under 0.1dB global PSNR. The |
20254
beca75a03355
Update x264 option names that changed with r20060
gpoirier
parents:
20037
diff
changeset
|
4010 default setting (<option>me=hex</option>) is a reasonable tradeoff |
beca75a03355
Update x264 option names that changed with r20060
gpoirier
parents:
20037
diff
changeset
|
4011 between speed and quality. <option>me=umh</option> gains a little under |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4012 0.1dB global PSNR, with a speed penalty that varies depending on |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4013 <option>frameref</option>. At high values of |
20254
beca75a03355
Update x264 option names that changed with r20060
gpoirier
parents:
20037
diff
changeset
|
4014 <option>frameref</option> (e.g. 12 or so), <option>me=umh</option> |
beca75a03355
Update x264 option names that changed with r20060
gpoirier
parents:
20037
diff
changeset
|
4015 is about 40% slower than the default <option> me=hex</option>. With |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4016 <option>frameref=3</option>, the speed penalty incurred drops to |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4017 25%-30%. |
21521 | 4018 </para> |
4019 <para> | |
20254
beca75a03355
Update x264 option names that changed with r20060
gpoirier
parents:
20037
diff
changeset
|
4020 <option>me=esa</option> uses an exhaustive search that is too slow for |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4021 practical use. |
21521 | 4022 </para> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4023 </listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4024 <listitem><para> |
20271 | 4025 <emphasis role="bold">partitions=all</emphasis>: |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4026 This option enables the use of 8x4, 4x8 and 4x4 subpartitions in |
20271 | 4027 predicted macroblocks (in addition to the default partitions). |
4028 Enabling it results in a fairly consistent | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4029 10%-15% loss of speed. This option is rather useless in source |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4030 containing only low motion, however in some high-motion source, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4031 particularly source with lots of small moving objects, gains of |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4032 about 0.1dB can be expected. |
21521 | 4033 </para></listitem> |
4034 <listitem> | |
4035 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4036 <emphasis role="bold">bframes</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4037 If you are used to encoding with other codecs, you may have found |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4038 that B-frames are not always useful. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4039 In H.264, this has changed: there are new techniques and block |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4040 types that are possible in B-frames. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4041 Usually, even a naive B-frame choice algorithm can have a |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4042 significant PSNR benefit. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4043 It is interesting to note that using B-frames usually speeds up |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4044 the second pass somewhat, and may also speed up a single |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4045 pass encode if adaptive B-frame decision is turned off. |
21521 | 4046 </para> |
4047 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4048 With adaptive B-frame decision turned off |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4049 (<option>x264encopts</option>'s <option>nob_adapt</option>), |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4050 the optimal value for this setting is usually no more than |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4051 <option>bframes=1</option>, or else high-motion scenes can suffer. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4052 With adaptive B-frame decision on (the default behavior), it is |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4053 safe to use higher values; the encoder will reduce the use of |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4054 B-frames in scenes where they would hurt compression. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4055 The encoder rarely chooses to use more than 3 or 4 B-frames; |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4056 setting this option any higher will have little effect. |
21521 | 4057 </para> |
4058 </listitem> | |
4059 <listitem> | |
4060 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4061 <emphasis role="bold">b_adapt</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4062 Note: This is on by default. |
21521 | 4063 </para> |
4064 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4065 With this option enabled, the encoder will use a reasonably fast |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4066 decision process to reduce the number of B-frames used in scenes that |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4067 might not benefit from them as much. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4068 You can use <option>b_bias</option> to tweak how B-frame-happy |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4069 the encoder is. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4070 The speed penalty of adaptive B-frames is currently rather modest, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4071 but so is the potential quality gain. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4072 It usually does not hurt, however. |
26958 | 4073 Note that this only affects speed and frame type decision on the |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4074 first pass. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4075 <option>b_adapt</option> and <option>b_bias</option> have no |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4076 effect on subsequent passes. |
21521 | 4077 </para> |
4078 </listitem> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4079 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4080 <emphasis role="bold">b_pyramid</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4081 You might as well enable this option if you are using >=2 B-frames; |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4082 as the man page says, you get a little quality improvement at no |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4083 speed cost. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4084 Note that these videos cannot be read by libavcodec-based decoders |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4085 older than about March 5, 2005. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4086 </para></listitem> |
21521 | 4087 <listitem> |
4088 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4089 <emphasis role="bold">weight_b</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4090 In typical cases, there is not much gain with this option. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4091 However, in crossfades or fade-to-black scenes, weighted |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4092 prediction gives rather large bitrate savings. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4093 In MPEG-4 ASP, a fade-to-black is usually best coded as a series |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4094 of expensive I-frames; using weighted prediction in B-frames |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4095 makes it possible to turn at least some of these into much smaller |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4096 B-frames. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4097 Encoding time cost is minimal, as no extra decisions need to be made. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4098 Also, contrary to what some people seem to guess, the decoder |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4099 CPU requirements are not much affected by weighted prediction, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4100 all else being equal. |
21521 | 4101 </para> |
4102 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4103 Unfortunately, the current adaptive B-frame decision algorithm |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4104 has a strong tendency to avoid B-frames during fades. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4105 Until this changes, it may be a good idea to add |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4106 <option>nob_adapt</option> to your x264encopts, if you expect |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4107 fades to have a large effect in your particular video |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4108 clip. |
21521 | 4109 </para> |
4110 </listitem> | |
21914
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4111 <listitem id="menc-feat-x264-encoding-options-speedvquality-threads"> |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4112 <para> |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4113 <emphasis role="bold">threads</emphasis>: |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4114 This option allows to spawn threads to encode in parallel on multiple CPUs. |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4115 You can manually select the number of threads to be created or, better, set |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4116 <option>threads=auto</option> and let |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4117 <systemitem class="library">x264</systemitem> detect how many CPUs are |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4118 available and pick an appropriate number of threads. |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4119 If you have a multi-processor machine, you should really consider using it |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4120 as it can to increase encoding speed linearly with the number of CPU cores |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4121 (about 94% per CPU core), with very little quality reduction (about 0.005dB |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4122 for dual processor, about 0.01dB for a quad processor machine). |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4123 </para> |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4124 </listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4125 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4126 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4127 |
21521 | 4128 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4129 <sect3 id="menc-feat-x264-encoding-options-misc-preferences"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4130 <title>Options pertaining to miscellaneous preferences</title> |
21521 | 4131 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4132 <itemizedlist> |
21521 | 4133 <listitem> |
4134 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4135 <emphasis role="bold">Two pass encoding</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4136 Above, it was suggested to always use two pass encoding, but there |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4137 are still reasons for not using it. For instance, if you are capturing |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4138 live TV and encoding in realtime, you are forced to use single-pass. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4139 Also, one pass is obviously faster than two passes; if you use the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4140 exact same set of options on both passes, two pass encoding is almost |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4141 twice as slow. |
21521 | 4142 </para> |
4143 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4144 Still, there are very good reasons for using two pass encoding. For |
16340 | 4145 one thing, single pass ratecontrol is not psychic, and it often makes |
4146 unreasonable choices because it cannot see the big picture. For example, | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4147 suppose you have a two minute long video consisting of two distinct |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4148 halves. The first half is a very high-motion scene lasting 60 seconds |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4149 which, in isolation, requires about 2500kbps in order to look decent. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4150 Immediately following it is a much less demanding 60-second scene |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4151 that looks good at 300kbps. Suppose you ask for 1400kbps on the theory |
26958 | 4152 that this is enough to accommodate both scenes. Single pass ratecontrol |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4153 will make a couple of "mistakes" in such a case. First of all, it |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4154 will target 1400kbps in both segments. The first segment may end up |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4155 heavily overquantized, causing it to look unacceptably and unreasonably |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4156 blocky. The second segment will be heavily underquantized; it may look |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4157 perfect, but the bitrate cost of that perfection will be completely |
16340 | 4158 unreasonable. What is even harder to avoid is the problem at the |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4159 transition between the two scenes. The first seconds of the low motion |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4160 half will be hugely over-quantized, because the ratecontrol is still |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4161 expecting the kind of bitrate requirements it met in the first half |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4162 of the video. This "error period" of heavily over-quantized low motion |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4163 will look jarringly bad, and will actually use less than the 300kbps |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4164 it would have taken to make it look decent. There are ways to |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4165 mitigate the pitfalls of single-pass encoding, but they may tend to |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4166 increase bitrate misprediction. |
21521 | 4167 </para> |
4168 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4169 Multipass ratecontrol can offer huge advantages over a single pass. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4170 Using the statistics gathered from the first pass encode, the encoder |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4171 can estimate, with reasonable accuracy, the "cost" (in bits) of |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4172 encoding any given frame, at any given quantizer. This allows for |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4173 a much more rational, better planned allocation of bits between the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4174 expensive (high-motion) and cheap (low-motion) scenes. See |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4175 <option>qcomp</option> below for some ideas on how to tweak this |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4176 allocation to your liking. |
21521 | 4177 </para> |
4178 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4179 Moreover, two passes need not take twice as long as one pass. You can |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4180 tweak the options in the first pass for higher speed and lower quality. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4181 If you choose your options well, you can get a very fast first pass. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4182 The resulting quality in the second pass will be slightly lower because size |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4183 prediction is less accurate, but the quality difference is normally much |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4184 too small to be visible. Try, for example, adding |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4185 <option>subq=1:frameref=1</option> to the first pass |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4186 <option>x264encopts</option>. Then, on the second pass, use slower, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4187 higher-quality options: |
20271 | 4188 <option>subq=6:frameref=15:partitions=all:me=umh</option> |
21521 | 4189 </para> |
4190 </listitem> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4191 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4192 <emphasis role="bold">Three pass encoding</emphasis>? |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4193 x264 offers the ability to make an arbitrary number of consecutive |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4194 passes. If you specify <option>pass=1</option> on the first pass, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4195 then use <option>pass=3</option> on a subsequent pass, the subsequent |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4196 pass will both read the statistics from the previous pass, and write |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4197 its own statistics. An additional pass following this one will have |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4198 a very good base from which to make highly accurate predictions of |
26958 | 4199 frame sizes at a chosen quantizer. In practice, the overall quality |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4200 gain from this is usually close to zero, and quite possibly a third |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4201 pass will result in slightly worse global PSNR than the pass before |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4202 it. In typical usage, three passes help if you get either bad bitrate |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4203 prediction or bad looking scene transitions when using only two passes. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4204 This is somewhat likely to happen on extremely short clips. There are |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4205 also a few special cases in which three (or more) passes are handy |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4206 for advanced users, but for brevity, this guide omits discussing those |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4207 special cases. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4208 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4209 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4210 <emphasis role="bold">qcomp</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4211 <option>qcomp</option> trades off the number of bits allocated |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4212 to "expensive" high-motion versus "cheap" low-motion frames. At |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4213 one extreme, <option>qcomp=0</option> aims for true constant |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4214 bitrate. Typically this would make high-motion scenes look completely |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4215 awful, while low-motion scenes would probably look absolutely |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4216 perfect, but would also use many times more bitrate than they |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4217 would need in order to look merely excellent. At the other extreme, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4218 <option>qcomp=1</option> achieves nearly constant quantization parameter |
16340 | 4219 (QP). Constant QP does not look bad, but most people think it is more |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4220 reasonable to shave some bitrate off of the extremely expensive scenes |
16340 | 4221 (where the loss of quality is not as noticeable) and reallocate it to |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4222 the scenes that are easier to encode at excellent quality. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4223 <option>qcomp</option> is set to 0.6 by default, which may be slightly |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4224 low for many peoples' taste (0.7-0.8 are also commonly used). |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4225 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4226 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4227 <emphasis role="bold">keyint</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4228 <option>keyint</option> is solely for trading off file seekability against |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4229 coding efficiency. By default, <option>keyint</option> is set to 250. In |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4230 25fps material, this guarantees the ability to seek to within 10 seconds |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4231 precision. If you think it would be important and useful to be able to |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4232 seek within 5 seconds of precision, set <option>keyint=125</option>; |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4233 this will hurt quality/bitrate slightly. If you care only about quality |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4234 and not about seekability, you can set it to much higher values |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4235 (understanding that there are diminishing returns which may become |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4236 vanishingly low, or even zero). The video stream will still have seekable |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4237 points as long as there are some scene changes. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4238 </para></listitem> |
21521 | 4239 <listitem> |
4240 <para> | |
20254
beca75a03355
Update x264 option names that changed with r20060
gpoirier
parents:
20037
diff
changeset
|
4241 <emphasis role="bold">deblock</emphasis>: |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4242 This topic is going to be a bit controversial. |
21521 | 4243 </para> |
4244 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4245 H.264 defines a simple deblocking procedure on I-blocks that uses |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4246 pre-set strengths and thresholds depending on the QP of the block |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4247 in question. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4248 By default, high QP blocks are filtered heavily, and low QP blocks |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4249 are not deblocked at all. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4250 The pre-set strengths defined by the standard are well-chosen and |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4251 the odds are very good that they are PSNR-optimal for whatever |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4252 video you are trying to encode. |
21521 | 4253 The <option>deblock</option> allow you to specify offsets to the preset |
4254 deblocking thresholds. | |
4255 </para> | |
4256 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4257 Many people seem to think it is a good idea to lower the deblocking |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4258 filter strength by large amounts (say, -3). |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4259 This is however almost never a good idea, and in most cases, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4260 people who are doing this do not understand very well how |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4261 deblocking works by default. |
21521 | 4262 </para> |
4263 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4264 The first and most important thing to know about the in-loop |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4265 deblocking filter is that the default thresholds are almost always |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4266 PSNR-optimal. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4267 In the rare cases that they are not optimal, the ideal offset is |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4268 plus or minus 1. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4269 Adjusting deblocking parameters by a larger amount is almost |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4270 guaranteed to hurt PSNR. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4271 Strengthening the filter will smear more details; weakening the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4272 filter will increase the appearance of blockiness. |
21521 | 4273 </para> |
4274 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4275 It is definitely a bad idea to lower the deblocking thresholds if |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4276 your source is mainly low in spacial complexity (i.e., not a lot |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4277 of detail or noise). |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4278 The in-loop filter does a rather excellent job of concealing |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4279 the artifacts that occur. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4280 If the source is high in spacial complexity, however, artifacts |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4281 are less noticeable. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4282 This is because the ringing tends to look like detail or noise. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4283 Human visual perception easily notices when detail is removed, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4284 but it does not so easily notice when the noise is wrongly |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4285 represented. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4286 When it comes to subjective quality, noise and detail are somewhat |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4287 interchangeable. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4288 By lowering the deblocking filter strength, you are most likely |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4289 increasing error by adding ringing artifacts, but the eye does |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4290 not notice because it confuses the artifacts with detail. |
21521 | 4291 </para> |
4292 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4293 This <emphasis role="bold">still</emphasis> does not justify |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4294 lowering the deblocking filter strength, however. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4295 You can generally get better quality noise from postprocessing. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4296 If your H.264 encodes look too blurry or smeared, try playing with |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4297 <option>-vf noise</option> when you play your encoded movie. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4298 <option>-vf noise=8a:4a</option> should conceal most mild |
26958 | 4299 artifacts. |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4300 It will almost certainly look better than the results you |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4301 would have gotten just by fiddling with the deblocking filter. |
21521 | 4302 </para> |
4303 </listitem> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4304 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4305 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4306 </sect2> |
16277 | 4307 |
21521 | 4308 <!-- ********** --> |
4309 | |
16277 | 4310 <sect2 id="menc-feat-x264-example-settings"> |
16599 | 4311 <title>Encoding setting examples</title> |
16277 | 4312 |
4313 <para> | |
21521 | 4314 The following settings are examples of different encoding |
4315 option combinations that affect the speed vs quality tradeoff | |
4316 at the same target bitrate. | |
4317 </para> | |
4318 | |
4319 <para> | |
4320 All the encoding settings were tested on a 720x448 @30000/1001 fps | |
4321 video sample, the target bitrate was 900kbps, and the machine was an | |
4322 AMD-64 3400+ at 2400 MHz in 64 bits mode. | |
4323 Each encoding setting features the measured encoding speed (in | |
4324 frames per second) and the PSNR loss (in dB) compared to the "very | |
4325 high quality" setting. | |
4326 Please understand that depending on your source, your machine type | |
4327 and development advancements, you may get very different results. | |
4328 </para> | |
4329 | |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4330 <informaltable frame="all"> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4331 <tgroup cols="4"> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4332 <thead> |
21521 | 4333 <row> |
4334 <entry>Description</entry> | |
4335 <entry>Encoding options</entry> | |
4336 <entry>speed (in fps)</entry> | |
4337 <entry>Relative PSNR loss (in dB)</entry> | |
4338 </row> | |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4339 </thead> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4340 <tbody> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4341 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4342 <entry>Very high quality</entry> |
20274 | 4343 <entry><option>subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b</option></entry> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4344 <entry>6fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4345 <entry>0dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4346 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4347 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4348 <entry>High quality</entry> |
20271 | 4349 <entry><option>subq=5:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</option></entry> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4350 <entry>13fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4351 <entry>-0.89dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4352 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4353 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4354 <entry>Fast</entry> |
16606
7a06ad5c5b2c
the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents:
16605
diff
changeset
|
4355 <entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4356 <entry>17fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4357 <entry>-1.48dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4358 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4359 </tbody> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4360 </tgroup> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4361 </informaltable> |
16277 | 4362 </sect2> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4363 </sect1> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4364 |
21521 | 4365 |
4366 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
4367 | |
4368 | |
22123
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4369 <sect1 id="menc-feat-video-for-windows"> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4370 <title> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4371 Encoding with the <systemitem class="library">Video For Windows</systemitem> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4372 codec family |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4373 </title> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4374 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4375 <para> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4376 Video for Windows provides simple encoding by means of binary video codecs. |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4377 You can encode with the following codecs (if you have more, please tell us!) |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4378 </para> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4379 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4380 <para> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4381 Note that support for this is very experimental and some codecs may not work |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4382 correctly. Some codecs will only work in certain colorspaces, try |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4383 <option>-vf format=bgr24</option> and <option>-vf format=yuy2</option> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4384 if a codec fails or gives wrong output. |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4385 </para> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4386 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4387 <!-- ********** --> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4388 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4389 <sect2 id="menc-feat-enc-vfw-video-codecs"> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4390 <title>Video for Windows supported codecs</title> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4391 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4392 <para> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4393 <informaltable frame="all"> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4394 <tgroup cols="4"> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4395 <thead> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4396 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4397 <entry>Video codec file name</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4398 <entry>Description (FourCC)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4399 <entry>md5sum</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4400 <entry>Comment</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4401 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4402 </thead> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4403 <tbody> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4404 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4405 <entry>aslcodec_vfw.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4406 <entry>Alparysoft lossless codec vfw (ASLC)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4407 <entry>608af234a6ea4d90cdc7246af5f3f29a</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4408 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4409 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4410 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4411 <entry>avimszh.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4412 <entry>AVImszh (MSZH)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4413 <entry>253118fe1eedea04a95ed6e5f4c28878</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4414 <entry>needs <option>-vf format</option></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4415 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4416 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4417 <entry>avizlib.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4418 <entry>AVIzlib (ZLIB)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4419 <entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4420 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4421 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4422 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4423 <entry>divx.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4424 <entry>DivX4Windows-VFW</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4425 <entry>acf35b2fc004a89c829531555d73f1e6</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4426 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4427 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4428 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4429 <entry>huffyuv.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4430 <entry>HuffYUV (lossless) (HFYU)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4431 <entry>b74695b50230be4a6ef2c4293a58ac3b</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4432 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4433 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4434 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4435 <entry>iccvid.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4436 <entry>Cinepak Video (cvid)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4437 <entry>cb3b7ee47ba7dbb3d23d34e274895133</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4438 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4439 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4440 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4441 <entry>icmw_32.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4442 <entry>Motion Wavelets (MWV1)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4443 <entry>c9618a8fc73ce219ba918e3e09e227f2</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4444 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4445 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4446 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4447 <entry>jp2avi.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4448 <entry>ImagePower MJPEG2000 (IPJ2)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4449 <entry>d860a11766da0d0ea064672c6833768b</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4450 <entry><option>-vf flip</option></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4451 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4452 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4453 <entry>m3jp2k32.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4454 <entry>Morgan MJPEG2000 (MJ2C)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4455 <entry>f3c174edcbaef7cb947d6357cdfde7ff</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4456 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4457 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4458 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4459 <entry>m3jpeg32.dll</entry> |
26958 | 4460 <entry>Morgan Motion JPEG Codec (MJPEG)</entry> |
22123
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4461 <entry>1cd13fff5960aa2aae43790242c323b1</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4462 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4463 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4464 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4465 <entry>mpg4c32.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4466 <entry>Microsoft MPEG-4 v1/v2</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4467 <entry>b5791ea23f33010d37ab8314681f1256</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4468 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4469 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4470 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4471 <entry>tsccvid.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4472 <entry>TechSmith Camtasia Screen Codec (TSCC)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4473 <entry>8230d8560c41d444f249802a2700d1d5</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4474 <entry>shareware error on windows</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4475 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4476 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4477 <entry>vp31vfw.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4478 <entry>On2 Open Source VP3 Codec (VP31)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4479 <entry>845f3590ea489e2e45e876ab107ee7d2</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4480 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4481 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4482 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4483 <entry>vp4vfw.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4484 <entry>On2 VP4 Personal Codec (VP40)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4485 <entry>fc5480a482ccc594c2898dcc4188b58f</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4486 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4487 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4488 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4489 <entry>vp6vfw.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4490 <entry>On2 VP6 Personal Codec (VP60)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4491 <entry>04d635a364243013898fd09484f913fb</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4492 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4493 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4494 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4495 <entry>vp7vfw.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4496 <entry>On2 VP7 Personal Codec (VP70)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4497 <entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry> |
24767 | 4498 <entry><option>-ffourcc VP70</option></entry> |
22123
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4499 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4500 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4501 <entry>ViVD2.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4502 <entry>SoftMedia ViVD V2 codec VfW (GXVE)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4503 <entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4504 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4505 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4506 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4507 <entry>msulvc06.DLL</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4508 <entry>MSU Lossless codec (MSUD)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4509 <entry>294bf9288f2f127bb86f00bfcc9ccdda</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4510 <entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4511 Decodable by <application>Window Media Player</application>, |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4512 not <application>MPlayer</application> (yet). |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4513 </entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4514 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4515 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4516 <entry>camcodec.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4517 <entry>CamStudio lossless video codec (CSCD)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4518 <entry>0efe97ce08bb0e40162ab15ef3b45615</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4519 <entry>sf.net/projects/camstudio</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4520 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4521 </tbody> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4522 </tgroup> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4523 </informaltable> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4524 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4525 The first column contains the codec names that should be passed after the |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4526 <literal>codec</literal> parameter, |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4527 like: <option>-xvfwopts codec=divx.dll</option> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4528 The FourCC code used by each codec is given in the parentheses. |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4529 </para> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4530 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4531 <informalexample> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4532 <para> |
22395
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4533 An example to convert an ISO DVD trailer to a VP6 flash video file |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4534 using compdata bitrate settings: |
22123
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4535 <screen> |
22395
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4536 mencoder -dvd-device <replaceable>zeiram.iso</replaceable> dvd://7 -o <replaceable>trailer.flv</replaceable> \ |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4537 -ovc vfw -xvfwopts codec=vp6vfw.dll:compdata=onepass.mcf -oac mp3lame \ |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4538 -lameopts cbr:br=64 -af lavcresample=22050 -vf yadif,scale=320:240,flip \ |
24529 | 4539 -of lavf |
22123
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4540 </screen> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4541 </para> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4542 </informalexample> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4543 </sect2> |
22395
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4544 |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4545 <sect2 id="menc-feat-video-for-windows-bitrate-settings"> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4546 <title>Using vfw2menc to create a codec settings file.</title> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4547 |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4548 <para> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4549 To encode with the Video for Windows codecs, you will need to set bitrate |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4550 and other options. This is known to work on x86 on both *NIX and Windows. |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4551 </para> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4552 <para> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4553 First you must build the <application>vfw2menc</application> program. |
22552
fca4fb6bba35
dont start newline with a space and readd subdirectory
compn
parents:
22529
diff
changeset
|
4554 It is located in the <filename class="directory">TOOLS</filename> subdirectory |
fca4fb6bba35
dont start newline with a space and readd subdirectory
compn
parents:
22529
diff
changeset
|
4555 of the MPlayer source tree. |
22395
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4556 To build on Linux, this can be done using <application>Wine</application>: |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4557 <screen>winegcc vfw2menc.c -o vfw2menc -lwinmm -lole32</screen> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4558 |
22529
1f6b48b2abcd
fix up some longer than 80 char lines , and use suggestion from Diego.
compn
parents:
22395
diff
changeset
|
4559 To build on Windows in <application>MinGW</application> or |
1f6b48b2abcd
fix up some longer than 80 char lines , and use suggestion from Diego.
compn
parents:
22395
diff
changeset
|
4560 <application>Cygwin</application> use: |
22395
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4561 <screen>gcc vfw2menc.c -o vfw2menc.exe -lwinmm -lole32</screen> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4562 |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4563 To build on <application>MSVC</application> you will need getopt. |
22552
fca4fb6bba35
dont start newline with a space and readd subdirectory
compn
parents:
22529
diff
changeset
|
4564 Getopt can be found in the original <application>vfw2menc</application> |
fca4fb6bba35
dont start newline with a space and readd subdirectory
compn
parents:
22529
diff
changeset
|
4565 archive available at: |
22395
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4566 The <ulink url="http://oss.netfarm.it/mplayer-win32.php">MPlayer on win32</ulink> project. |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4567 </para> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4568 <informalexample> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4569 <para> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4570 Below is an example with the VP6 codec. |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4571 <screen> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4572 vfw2menc -f VP62 -d vp6vfw.dll -s firstpass.mcf |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4573 </screen> |
22552
fca4fb6bba35
dont start newline with a space and readd subdirectory
compn
parents:
22529
diff
changeset
|
4574 This will open the VP6 codec dialog window. |
fca4fb6bba35
dont start newline with a space and readd subdirectory
compn
parents:
22529
diff
changeset
|
4575 Repeat this step for the second pass |
22395
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4576 and use <option>-s <replaceable>secondpass.mcf</replaceable></option>. |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4577 </para> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4578 </informalexample> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4579 <para> |
22552
fca4fb6bba35
dont start newline with a space and readd subdirectory
compn
parents:
22529
diff
changeset
|
4580 Windows users can use |
fca4fb6bba35
dont start newline with a space and readd subdirectory
compn
parents:
22529
diff
changeset
|
4581 <option>-xvfwopts codec=vp6vfw.dll:compdata=dialog</option> to have |
22395
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4582 the codec dialog display before encoding starts. |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4583 </para> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4584 </sect2> |
22123
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4585 </sect1> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4586 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4587 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4588 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4589 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4590 |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4591 <sect1 id="menc-feat-quicktime-7"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4592 <title>Using <application>MEncoder</application> to create |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4593 <application>QuickTime</application>-compatible files</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4594 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4595 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4596 <sect2 id="menc-feat-quicktime-7-why-use-it"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4597 <title>Why would one want to produce <application>QuickTime</application>-compatible Files?</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4598 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4599 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4600 There are several reasons why producing |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4601 <application>QuickTime</application>-compatible files can be desirable. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4602 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4603 <itemizedlist> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4604 <listitem><para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4605 You want any computer illiterate to be able to watch your encode on |
21915 | 4606 any major platform (Windows, Mac OS X, Unices …). |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4607 </para></listitem> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4608 <listitem><para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4609 <application>QuickTime</application> is able to take advantage of more |
21915 | 4610 hardware and software acceleration features of Mac OS X than |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4611 platform-independent players like <application>MPlayer</application> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4612 or <application>VLC</application>. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4613 That means that your encodes have a chance to be played smoothly by older |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4614 G4-powered machines. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4615 </para></listitem> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4616 <listitem><para> |
21915 | 4617 <application>QuickTime</application> 7 supports the next-generation codec H.264, |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4618 which yields significantly better picture quality than previous codec |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4619 generations (MPEG-2, MPEG-4 …). |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4620 </para></listitem> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4621 </itemizedlist> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4622 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4623 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4624 <sect2 id="menc-feat-quicktime-7-constraints"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4625 <title><application>QuickTime</application> 7 limitations</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4626 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4627 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4628 <application>QuickTime</application> 7 supports H.264 video and AAC audio, |
21915 | 4629 but it does not support them muxed in the AVI container format. |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4630 However, you can use <application>MEncoder</application> to encode |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4631 the video and audio, and then use an external program such as |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4632 <application>mp4creator</application> (part of the |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4633 <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink>) |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4634 to remux the video and audio tracks into an MP4 container. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4635 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4636 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4637 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4638 <application>QuickTime</application>'s support for H.264 is limited, |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4639 so you will need to drop some advanced features. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4640 If you encode your video with features that |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4641 <application>QuickTime</application> 7 does not support, |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4642 <application>QuickTime</application>-based players will show you a pretty |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4643 white screen instead of your expected video. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4644 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4645 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4646 <itemizedlist> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4647 <listitem><para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4648 <emphasis role="bold">B-frames</emphasis>: |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4649 <application>QuickTime</application> 7 supports a maximum of 1 B-frame, i.e. |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4650 <option>-x264encopts bframes=1</option>. This means that |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4651 <option>b_pyramid</option> and <option>weight_b</option> will have no |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4652 effect, since they require <option>bframes</option> to be greater than 1. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4653 </para></listitem> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4654 <listitem><para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4655 <emphasis role="bold">Macroblocks</emphasis>: |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4656 <application>QuickTime</application> 7 does not support 8x8 DCT macroblocks. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4657 This option (<option>8x8dct</option>) is off by default, so just be sure |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4658 not to explicitly enable it. This also means that the <option>i8x8</option> |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4659 option will have no effect, since it requires <option>8x8dct</option>. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4660 </para></listitem> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4661 <listitem><para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4662 <emphasis role="bold">Aspect ratio</emphasis>: |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4663 <application>QuickTime</application> 7 does not support SAR (sample |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4664 aspect ratio) information in MPEG-4 files; it assumes that SAR=1. Read |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4665 <link linkend="menc-feat-quicktime-7-scale">the section on scaling</link> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4666 for a workaround. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4667 </para></listitem> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4668 </itemizedlist> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4669 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4670 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4671 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4672 <sect2 id="menc-feat-quicktime-7-crop"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4673 <title>Cropping</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4674 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4675 Suppose you want to rip your freshly bought copy of "The Chronicles of |
21915 | 4676 Narnia". Your DVD is region 1, |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4677 which means it is NTSC. The example below would still apply to PAL, |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4678 except you would omit <option>-ofps 24000/1001</option> and use slightly |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4679 different <option>crop</option> and <option>scale</option> dimensions. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4680 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4681 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4682 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4683 After running <option>mplayer dvd://1</option>, you follow the process |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4684 detailed in the section <link linkend="menc-feat-telecine">How to deal |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4685 with telecine and interlacing in NTSC DVDs</link> and discover that it is |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4686 24000/1001 fps progressive video. This simplifies the process somewhat, |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4687 since you do not need to use an inverse telecine filter such as |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4688 <option>pullup</option> or a deinterlacing filter such as |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4689 <option>yadif</option>. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4690 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4691 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4692 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4693 Next, you need to crop out the black bars from the top and bottom of the |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4694 video, as detailed in <link linkend="menc-feat-dvd-mpeg4-example-crop">this</link> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4695 previous section. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4696 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4697 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4698 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4699 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4700 <sect2 id="menc-feat-quicktime-7-scale"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4701 <title>Scaling</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4702 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4703 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4704 The next step is truly heartbreaking. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4705 <application>QuickTime</application> 7 does not support MPEG-4 videos |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4706 with a sample aspect ratio other than 1, so you will need to upscale |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4707 (which wastes a lot of disk space) or downscale (which loses some |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4708 details of the source) the video to square pixels. |
21915 | 4709 Either way you do it, this is highly inefficient, but simply cannot |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4710 be avoided if you want your video to be playable by |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4711 <application>QuickTime</application> 7. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4712 <application>MEncoder</application> can apply the appropriate upscaling |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4713 or downscaling by specifying respectively <option>-vf scale=-10:-1</option> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4714 or <option>-vf scale=-1:-10</option>. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4715 This will scale your video to the correct width for the cropped height, |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4716 rounded to the closest multiple of 16 for optimal compression. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4717 Remember that if you are cropping, you should crop first, then scale: |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4718 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4719 <screen>-vf crop=720:352:0:62,scale=-10:-1</screen> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4720 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4721 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4722 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4723 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4724 <sect2 id="menc-feat-quicktime-7-avsync"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4725 <title>A/V sync</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4726 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4727 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4728 Because you will be remuxing into a different container, you should |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4729 always use the <option>harddup</option> option to ensure that duplicated |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4730 frames are actually duplicated in the video output. Without this option, |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4731 <application>MEncoder</application> will simply put a marker in the video |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4732 stream that a frame was duplicated, and rely on the client software to |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4733 show the same frame twice. Unfortunately, this "soft duplication" does |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4734 not survive remuxing, so the audio would slowly lose sync with the video. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4735 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4736 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4737 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4738 The final filter chain looks like this: |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4739 <screen>-vf crop=720:352:0:62,scale=-10:-1,harddup</screen> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4740 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4741 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4742 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4743 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4744 <sect2 id="menc-feat-quicktime-7-bitrate"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4745 <title>Bitrate</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4746 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4747 <para> |
21915 | 4748 As always, the selection of bitrate is a matter of the technical properties |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4749 of the source, as explained |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4750 <link linkend="menc-feat-dvd-mpeg4-resolution-bitrate">here</link>, as |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4751 well as a matter of taste. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4752 This movie has a fair bit of action and lots of detail, but H.264 video |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4753 looks good at much lower bitrates than XviD or other MPEG-4 codecs. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4754 After much experimentation, the author of this guide chose to encode |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4755 this movie at 900kbps, and thought that it looked very good. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4756 You may decrease bitrate if you need to save more space, or increase |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4757 it if you need to improve quality. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4758 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4759 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4760 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4761 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4762 <sect2 id="menc-feat-quicktime-7-example"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4763 <title>Encoding example</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4764 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4765 <para> |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4766 You are now ready to encode the video. Since you care about |
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4767 quality, of course you will be doing a two-pass encode. To shave off |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4768 some encoding time, you can specify the <option>turbo</option> option |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4769 on the first pass; this reduces <option>subq</option> and |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4770 <option>frameref</option> to 1. To save some disk space, you can |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4771 use the <option>ss</option> option to strip off the first few seconds |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4772 of the video. (I found that this particular movie has 32 seconds of |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4773 credits and logos.) <option>bframes</option> can be 0 or 1. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4774 The other options are documented in <link |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4775 linkend="menc-feat-x264-encoding-options-speedvquality">Encoding with |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4776 the <systemitem class="library">x264</systemitem> codec</link> and |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4777 the man page. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4778 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4779 <screen>mencoder dvd://1 -o /dev/null -ss 32 -ovc x264 \ |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4780 -x264encopts pass=1:turbo:bitrate=900:bframes=1:\ |
21861
0d7fe401a5a7
fix wrong option names that were suggested to use to produce
gpoirier
parents:
21843
diff
changeset
|
4781 me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \ |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4782 -vf crop=720:352:0:62,scale=-10:-1,harddup \ |
24025
660da8e023ec
Change "object type complexity" parameter of FAAC in the
gpoirier
parents:
22735
diff
changeset
|
4783 -oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \ |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4784 -ofps 24000/1001</screen> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4785 |
21914
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4786 If you have a multi-processor machine, don't miss the opportunity to |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4787 dramatically speed-up encoding by enabling |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4788 <link linkend="menc-feat-x264-encoding-options-speedvquality-threads"> |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4789 <systemitem class="library">x264</systemitem>'s multi-threading mode</link> |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4790 by adding <option>threads=auto</option> to your <option>x264encopts</option> |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4791 command-line. |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4792 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4793 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4794 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4795 The second pass is the same, except that you specify the output file |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4796 and set <option>pass=2</option>. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4797 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4798 <screen>mencoder dvd://1 <emphasis role="bold">-o narnia.avi</emphasis> -ss 32 -ovc x264 \ |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4799 -x264encopts <emphasis role="bold">pass=2</emphasis>:turbo:bitrate=900:frameref=5:bframes=1:\ |
21861
0d7fe401a5a7
fix wrong option names that were suggested to use to produce
gpoirier
parents:
21843
diff
changeset
|
4800 me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \ |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4801 -vf crop=720:352:0:62,scale=-10:-1,harddup \ |
24025
660da8e023ec
Change "object type complexity" parameter of FAAC in the
gpoirier
parents:
22735
diff
changeset
|
4802 -oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \ |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4803 -ofps 24000/1001</screen> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4804 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4805 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4806 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4807 The resulting AVI should play perfectly in |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4808 <application>MPlayer</application>, but of course |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4809 <application>QuickTime</application> can not play it because it does |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4810 not support H.264 muxed in AVI. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4811 So the next step is to remux the video into an MP4 container. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4812 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4813 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4814 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4815 <sect2 id="menc-feat-quicktime-7-remux"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4816 <title>Remuxing as MP4</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4817 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4818 <para> |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4819 There are several ways to remux AVI files to MP4. You can use |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4820 <application>mp4creator</application>, which is part of the |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4821 <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink>. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4822 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4823 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4824 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4825 First, demux the AVI into separate audio and video streams using |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4826 <application>MPlayer</application>. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4827 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4828 <screen>mplayer narnia.avi -dumpaudio -dumpfile narnia.aac |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4829 mplayer narnia.avi -dumpvideo -dumpfile narnia.h264</screen> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4830 |
26958 | 4831 The file names are important; <application>mp4creator</application> |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4832 requires that AAC audio streams be named <systemitem>.aac</systemitem> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4833 and H.264 video streams be named <systemitem>.h264</systemitem>. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4834 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4835 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4836 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4837 Now use <application>mp4creator</application> to create a new |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4838 MP4 file out of the audio and video streams. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4839 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4840 <screen>mp4creator -create=narnia.aac narnia.mp4 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4841 mp4creator -create=narnia.h264 -rate=23.976 narnia.mp4</screen> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4842 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4843 Unlike the encoding step, you must specify the framerate as a |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4844 decimal (such as 23.976), not a fraction (such as 24000/1001). |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4845 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4846 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4847 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4848 This <systemitem>narnia.mp4</systemitem> file should now be playable |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4849 with any <application>QuickTime</application> 7 application, such as |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4850 <application>QuickTime Player</application> or |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4851 <application>iTunes</application>. If you are planning to view the |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4852 video in a web browser with the <application>QuickTime</application> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4853 plugin, you should also hint the movie so that the |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4854 <application>QuickTime</application> plugin can start playing it |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4855 while it is still downloading. <application>mp4creator</application> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4856 can create these hint tracks: |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4857 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4858 <screen>mp4creator -hint=1 narnia.mp4 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4859 mp4creator -hint=2 narnia.mp4 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4860 mp4creator -optimize narnia.mp4</screen> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4861 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4862 You can check the final result to ensure that the hint tracks were |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4863 created successfully: |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4864 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4865 <screen>mp4creator -list narnia.mp4</screen> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4866 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4867 You should see a list of tracks: 1 audio, 1 video, and 2 hint tracks. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4868 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4869 <screen>Track Type Info |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4870 1 audio MPEG-4 AAC LC, 8548.714 secs, 190 kbps, 48000 Hz |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4871 2 video H264 Main@5.1, 8549.132 secs, 899 kbps, 848x352 @ 23.976001 fps |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4872 3 hint Payload mpeg4-generic for track 1 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4873 4 hint Payload H264 for track 2 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4874 </screen> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4875 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4876 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4877 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4878 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4879 <sect2 id="menc-feat-quicktime-7-metadata"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4880 <title>Adding metadata tags</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4881 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4882 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4883 If you want to add tags to your video that show up in iTunes, you can use |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4884 <ulink url="http://atomicparsley.sourceforge.net/">AtomicParsley</ulink>. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4885 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4886 <screen>AtomicParsley narnia.mp4 --metaEnema --title "The Chronicles of Narnia" --year 2005 --stik Movie --freefree --overWrite</screen> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4887 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4888 The <option>--metaEnema</option> option removes any existing metadata |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4889 (<application>mp4creator</application> inserts its name in the |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4890 "encoding tool" tag), and <option>--freefree</option> reclaims the |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4891 space from the deleted metadata. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4892 The <option>--stik</option> option sets the type of video (such as Movie |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4893 or TV Show), which iTunes uses to group related video files. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4894 The <option>--overWrite</option> option overwrites the original file; |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4895 without it, <application>AtomicParsley</application> creates a new |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4896 auto-named file in the same directory and leaves the original file |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4897 untouched. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4898 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4899 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4900 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4901 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4902 </sect1> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4903 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4904 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4905 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4906 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4907 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4908 <sect1 id="menc-feat-vcd-dvd"> |
21521 | 4909 <title>Using <application>MEncoder</application> |
4910 to create VCD/SVCD/DVD-compliant files</title> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4911 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4912 <sect2 id="menc-feat-vcd-dvd-constraints"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4913 <title>Format Constraints</title> |
21521 | 4914 |
4915 <para> | |
4916 <application>MEncoder</application> is capable of creating VCD, SCVD | |
4917 and DVD format MPEG files using the | |
4918 <systemitem class="library">libavcodec</systemitem> library. | |
4919 These files can then be used in conjunction with | |
4920 <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink> | |
4921 or | |
4922 <ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink> | |
4923 to create discs that will play on a standard set-top player. | |
4924 </para> | |
4925 | |
4926 <para> | |
4927 The DVD, SVCD, and VCD formats are subject to heavy constraints. | |
4928 Only a small selection of encoded picture sizes and aspect ratios are | |
4929 available. | |
4930 If your movie does not already meet these requirements, you may have | |
21899 | 4931 to scale, crop or add black borders to the picture to make it |
21521 | 4932 compliant. |
4933 </para> | |
4934 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4935 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4936 <sect3 id="menc-feat-vcd-dvd-constraints-resolution"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4937 <title>Format Constraints</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4938 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4939 <informaltable frame="all"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4940 <tgroup cols="9"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4941 <thead> |
21521 | 4942 <row> |
4943 <entry>Format</entry> | |
4944 <entry>Resolution</entry> | |
4945 <entry>V. Codec</entry> | |
4946 <entry>V. Bitrate</entry> | |
4947 <entry>Sample Rate</entry> | |
4948 <entry>A. Codec</entry> | |
4949 <entry>A. Bitrate</entry> | |
4950 <entry>FPS</entry> | |
4951 <entry>Aspect</entry> | |
4952 </row> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4953 </thead> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4954 <tbody> |
21521 | 4955 <row> |
4956 <entry>NTSC DVD</entry> | |
4957 <entry>720x480, 704x480, 352x480, 352x240</entry> | |
4958 <entry>MPEG-2</entry> | |
4959 <entry>9800 kbps</entry> | |
4960 <entry>48000 Hz</entry> | |
24036 | 4961 <entry>AC-3,PCM</entry> |
21521 | 4962 <entry>1536 kbps (max)</entry> |
4963 <entry>30000/1001, 24000/1001</entry> | |
4964 <entry>4:3, 16:9 (only for 720x480)</entry> | |
4965 </row> | |
4966 <row> | |
4967 <entry>NTSC DVD</entry> | |
4968 <entry>352x240<footnote id='fn-rare-resolutions'><para> | |
4969 These resolutions are rarely used for DVDs because | |
4970 they are fairly low quality.</para></footnote></entry> | |
4971 <entry>MPEG-1</entry> | |
4972 <entry>1856 kbps</entry> | |
4973 <entry>48000 Hz</entry> | |
24036 | 4974 <entry>AC-3,PCM</entry> |
21521 | 4975 <entry>1536 kbps (max)</entry> |
4976 <entry>30000/1001, 24000/1001</entry> | |
4977 <entry>4:3, 16:9</entry> | |
4978 </row> | |
4979 <row> | |
4980 <entry>NTSC SVCD</entry> | |
4981 <entry>480x480</entry> | |
4982 <entry>MPEG-2</entry> | |
4983 <entry>2600 kbps</entry> | |
4984 <entry>44100 Hz</entry> | |
4985 <entry>MP2</entry> | |
4986 <entry>384 kbps (max)</entry> | |
4987 <entry>30000/1001</entry> | |
4988 <entry>4:3</entry> | |
4989 </row> | |
4990 <row> | |
4991 <entry>NTSC VCD</entry> | |
4992 <entry>352x240</entry> | |
4993 <entry>MPEG-1</entry> | |
4994 <entry>1150 kbps</entry> | |
4995 <entry>44100 Hz</entry> | |
4996 <entry>MP2</entry> | |
4997 <entry>224 kbps</entry> | |
4998 <entry>24000/1001, 30000/1001</entry> | |
4999 <entry>4:3</entry> | |
5000 </row> | |
5001 <row> | |
5002 <entry>PAL DVD</entry> | |
5003 <entry>720x576, 704x576, 352x576, 352x288</entry> | |
5004 <entry>MPEG-2</entry> | |
5005 <entry>9800 kbps</entry> | |
5006 <entry>48000 Hz</entry> | |
24036 | 5007 <entry>MP2,AC-3,PCM</entry> |
21521 | 5008 <entry>1536 kbps (max)</entry> |
5009 <entry>25</entry> | |
5010 <entry>4:3, 16:9 (only for 720x576)</entry> | |
5011 </row> | |
5012 <row> | |
5013 <entry>PAL DVD</entry> | |
5014 <entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry> | |
5015 <entry>MPEG-1</entry> | |
5016 <entry>1856 kbps</entry> | |
5017 <entry>48000 Hz</entry> | |
24036 | 5018 <entry>MP2,AC-3,PCM</entry> |
21521 | 5019 <entry>1536 kbps (max)</entry> |
5020 <entry>25</entry> | |
5021 <entry>4:3, 16:9</entry> | |
5022 </row> | |
5023 <row> | |
5024 <entry>PAL SVCD</entry> | |
5025 <entry>480x576</entry> | |
5026 <entry>MPEG-2</entry> | |
5027 <entry>2600 kbps</entry> | |
5028 <entry>44100 Hz</entry> | |
5029 <entry>MP2</entry> | |
5030 <entry>384 kbps (max)</entry> | |
5031 <entry>25</entry> | |
5032 <entry>4:3</entry> | |
5033 </row> | |
5034 <row> | |
5035 <entry>PAL VCD</entry> | |
5036 <entry>352x288</entry> | |
5037 <entry>MPEG-1</entry> | |
5038 <entry>1152 kbps</entry> | |
5039 <entry>44100 Hz</entry> | |
5040 <entry>MP2</entry> | |
5041 <entry>224 kbps</entry> | |
5042 <entry>25</entry> | |
5043 <entry>4:3</entry> | |
5044 </row> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5045 </tbody> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5046 </tgroup> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5047 </informaltable> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5048 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5049 <para> |
21521 | 5050 If your movie has 2.35:1 aspect (most recent action movies), you will |
5051 have to add black borders or crop the movie down to 16:9 to make a DVD or VCD. | |
5052 If you add black borders, try to align them at 16-pixel boundaries in | |
5053 order to minimize the impact on encoding performance. | |
5054 Thankfully DVD has sufficiently excessive bitrate that you do not have | |
5055 to worry too much about encoding efficiency, but SVCD and VCD are | |
5056 highly bitrate-starved and require effort to obtain acceptable quality. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5057 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5058 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5059 |
21521 | 5060 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5061 <sect3 id="menc-feat-vcd-dvd-constraints-gop"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5062 <title>GOP Size Constraints</title> |
21521 | 5063 |
5064 <para> | |
5065 DVD, VCD, and SVCD also constrain you to relatively low | |
5066 GOP (Group of Pictures) sizes. | |
5067 For 30 fps material the largest allowed GOP size is 18. | |
5068 For 25 or 24 fps, the maximum is 15. | |
5069 The GOP size is set using the <option>keyint</option> option. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5070 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5071 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5072 |
21521 | 5073 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5074 <sect3 id="menc-feat-vcd-dvd-constraints-bitrate"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5075 <title>Bitrate Constraints</title> |
21521 | 5076 |
5077 <para> | |
5078 VCD video is required to be CBR at 1152 kbps. | |
26958 | 5079 This highly limiting constraint also comes along with an extremely low vbv |
21521 | 5080 buffer size of 327 kilobits. |
5081 SVCD allows varying video bitrates up to 2500 kbps, and a somewhat less | |
5082 restrictive vbv buffer size of 917 kilobits is allowed. | |
5083 DVD video bitrates may range anywhere up to 9800 kbps (though typical | |
5084 bitrates are about half that), and the vbv buffer size is 1835 kilobits. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5085 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5086 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5087 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5088 |
21521 | 5089 <!-- ********** --> |
5090 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5091 <sect2 id="menc-feat-vcd-dvd-output"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5092 <title>Output Options</title> |
21521 | 5093 |
5094 <para> | |
5095 <application>MEncoder</application> has options to control the output | |
5096 format. | |
5097 Using these options we can instruct it to create the correct type of | |
5098 file. | |
5099 </para> | |
5100 | |
5101 <para> | |
5102 The options for VCD and SVCD are called xvcd and xsvcd, because they | |
5103 are extended formats. | |
5104 They are not strictly compliant, mainly because the output does not | |
5105 contain scan offsets. | |
5106 If you need to generate an SVCD image, you should pass the output file to | |
5107 <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>. | |
5108 </para> | |
5109 | |
5110 <para> | |
5111 VCD: | |
5112 <screen>-of mpeg -mpegopts format=xvcd</screen> | |
5113 </para> | |
5114 | |
5115 <para> | |
5116 SVCD: | |
5117 <screen>-of mpeg -mpegopts format=xsvcd</screen> | |
5118 </para> | |
5119 | |
5120 <para> | |
5121 DVD (with timestamps on every frame, if possible): | |
5122 <screen>-of mpeg -mpegopts format=dvd:tsaf</screen> | |
5123 </para> | |
5124 | |
5125 <para> | |
5126 DVD with NTSC Pullup: | |
5127 <screen>-of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001</screen> | |
5128 This allows 24000/1001 fps progressive content to be encoded at 30000/1001 | |
26958 | 5129 fps whilst maintaining DVD-compliance. |
21521 | 5130 </para> |
5131 | |
16283
67dc03c037e7
How to encode with soft 3:2 pullup, patch by Brendan McCarthy
gpoirier
parents:
16277
diff
changeset
|
5132 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5133 <sect3 id="menc-feat-vcd-dvd-output-aspect"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5134 <title>Aspect Ratio</title> |
21521 | 5135 |
5136 <para> | |
5137 The aspect argument of <option>-lavcopts</option> is used to encode | |
5138 the aspect ratio of the file. | |
5139 During playback the aspect ratio is used to restore the video to the | |
5140 correct size. | |
5141 </para> | |
5142 | |
5143 <para> | |
5144 16:9 or "Widescreen" | |
5145 <screen>-lavcopts aspect=16/9</screen> | |
5146 </para> | |
5147 | |
5148 <para> | |
5149 4:3 or "Fullscreen" | |
5150 <screen>-lavcopts aspect=4/3</screen> | |
5151 </para> | |
5152 | |
5153 <para> | |
5154 2.35:1 or "Cinemascope" NTSC | |
5155 <screen>-vf scale=720:368,expand=720:480 -lavcopts aspect=16/9</screen> | |
5156 To calculate the correct scaling size, use the expanded NTSC width of | |
5157 854/2.35 = 368 | |
5158 </para> | |
5159 | |
5160 <para> | |
5161 2.35:1 or "Cinemascope" PAL | |
21831 | 5162 <screen>-vf scale=720:432,expand=720:576 -lavcopts aspect=16/9</screen> |
21521 | 5163 To calculate the correct scaling size, use the expanded PAL width of |
5164 1024/2.35 = 432 | |
5165 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5166 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5167 |
21521 | 5168 |
17406
f5945f8fe876
MEncoder's MPEG muxer needs -vf harddup to function properly, no add a note about this.
gpoirier
parents:
17253
diff
changeset
|
5169 <sect3 id="menc-feat-vcd-dvd-a-v-sync"> |
f5945f8fe876
MEncoder's MPEG muxer needs -vf harddup to function properly, no add a note about this.
gpoirier
parents:
17253
diff
changeset
|
5170 <title>Maintaining A/V sync</title> |
21521 | 5171 |
5172 <para> | |
5173 In order to maintain audio/video synchronization throughout the encode, | |
5174 <application>MEncoder</application> has to drop or duplicate frames. | |
5175 This works rather well when muxing into an AVI file, but is almost | |
5176 guaranteed to fail to maintain A/V sync with other muxers such as MPEG. | |
5177 This is why it is necessary to append the | |
5178 <option>harddup</option> video filter at the end of the filter chain | |
5179 to avoid this kind of problem. | |
5180 You can find more technical information about <option>harddup</option> | |
5181 in the section | |
5182 <link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">Improving muxing and A/V sync reliability</link> | |
5183 or in the manual page. | |
17406
f5945f8fe876
MEncoder's MPEG muxer needs -vf harddup to function properly, no add a note about this.
gpoirier
parents:
17253
diff
changeset
|
5184 </para> |
f5945f8fe876
MEncoder's MPEG muxer needs -vf harddup to function properly, no add a note about this.
gpoirier
parents:
17253
diff
changeset
|
5185 </sect3> |
f5945f8fe876
MEncoder's MPEG muxer needs -vf harddup to function properly, no add a note about this.
gpoirier
parents:
17253
diff
changeset
|
5186 |
21521 | 5187 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5188 <sect3 id="menc-feat-vcd-dvd-output-srate"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5189 <title>Sample Rate Conversion</title> |
21521 | 5190 |
5191 <para> | |
5192 If the audio sample rate in the original file is not the same as | |
5193 required by the target format, sample rate conversion is required. | |
5194 This is achieved using the <option>-srate</option> option and | |
5195 the <option>-af lavcresample</option> audio filter together. | |
5196 </para> | |
5197 | |
5198 <para> | |
5199 DVD: | |
5200 <screen>-srate 48000 -af lavcresample=48000</screen> | |
5201 </para> | |
5202 | |
5203 <para> | |
5204 VCD and SVCD: | |
5205 <screen>-srate 44100 -af lavcresample=44100</screen> | |
5206 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5207 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5208 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5209 |
21521 | 5210 <!-- ********** --> |
5211 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5212 <sect2 id="menc-feat-vcd-dvd-lavc"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5213 <title>Using libavcodec for VCD/SVCD/DVD Encoding</title> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5214 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5215 <sect3 id="menc-feat-vcd-dvd-lavc-intro"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5216 <title>Introduction</title> |
21521 | 5217 |
5218 <para> | |
5219 <systemitem class="library">libavcodec</systemitem> can be used to | |
5220 create VCD/SVCD/DVD compliant video by using the appropriate options. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5221 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5222 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5223 |
21521 | 5224 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5225 <sect3 id="menc-feat-vcd-dvd-lavc-options"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5226 <title>lavcopts</title> |
21521 | 5227 |
5228 <para> | |
5229 This is a list of fields in <option>-lavcopts</option> that you may | |
5230 be required to change in order to make a complaint movie for VCD, SVCD, | |
5231 or DVD: | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5232 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5233 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5234 <itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5235 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5236 <emphasis role="bold">acodec</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5237 <option>mp2</option> for VCD, SVCD, or PAL DVD; |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5238 <option>ac3</option> is most commonly used for DVD. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5239 PCM audio may also be used for DVD, but this is mostly a big waste of |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5240 space. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5241 Note that MP3 audio is not compliant for any of these formats, but |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5242 players often have no problem playing it anyway. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5243 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5244 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5245 <emphasis role="bold">abitrate</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5246 224 for VCD; up to 384 for SVCD; up to 1536 for DVD, but commonly |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5247 used values range from 192 kbps for stereo to 384 kbps for 5.1 channel |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5248 sound. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5249 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5250 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5251 <emphasis role="bold">vcodec</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5252 <option>mpeg1video</option> for VCD; |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5253 <option>mpeg2video</option> for SVCD; |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5254 <option>mpeg2video</option> is usually used for DVD but you may also use |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5255 <option>mpeg1video</option> for CIF resolutions. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5256 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5257 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5258 <emphasis role="bold">keyint</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5259 Used to set the GOP size. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5260 18 for 30fps material, or 15 for 25/24 fps material. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5261 Commercial producers seem to prefer keyframe intervals of 12. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5262 It is possible to make this much larger and still retain compatibility |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5263 with most players. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5264 A <option>keyint</option> of 25 should never cause any problems. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5265 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5266 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5267 <emphasis role="bold">vrc_buf_size</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5268 327 for VCD, 917 for SVCD, and 1835 for DVD. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5269 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5270 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5271 <emphasis role="bold">vrc_minrate</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5272 1152, for VCD. May be left alone for SVCD and DVD. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5273 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5274 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5275 <emphasis role="bold">vrc_maxrate</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5276 1152 for VCD; 2500 for SVCD; 9800 for DVD. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5277 For SVCD and DVD, you might wish to use lower values depending on your |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5278 own personal preferences and requirements. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5279 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5280 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5281 <emphasis role="bold">vbitrate</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5282 1152 for VCD; |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5283 up to 2500 for SVCD; |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5284 up to 9800 for DVD. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5285 For the latter two formats, vbitrate should be set based on personal |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5286 preference. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5287 For instance, if you insist on fitting 20 or so hours on a DVD, you |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5288 could use vbitrate=400. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5289 The resulting video quality would probably be quite bad. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5290 If you are trying to squeeze out the maximum possible quality on a DVD, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5291 use vbitrate=9800, but be warned that this could constrain you to less |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5292 than an hour of video on a single-layer DVD. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5293 </para></listitem> |
21583
f746c28a324c
vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents:
21521
diff
changeset
|
5294 <listitem><para> |
21899 | 5295 <emphasis role="bold">vstrict</emphasis>: |
21583
f746c28a324c
vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents:
21521
diff
changeset
|
5296 <option>vstrict</option>=0 should be used to create DVDs. |
f746c28a324c
vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents:
21521
diff
changeset
|
5297 Without this option, <application>MEncoder</application> creates a |
f746c28a324c
vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents:
21521
diff
changeset
|
5298 stream that cannot be correctly decoded by some standalone DVD |
f746c28a324c
vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents:
21521
diff
changeset
|
5299 players. |
f746c28a324c
vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents:
21521
diff
changeset
|
5300 </para></listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5301 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5302 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5303 |
21521 | 5304 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5305 <sect3 id="menc-feat-vcd-dvd-lavc-examples"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5306 <title>Examples</title> |
21521 | 5307 |
5308 <para> | |
5309 This is a typical minimum set of <option>-lavcopts</option> for | |
5310 encoding video: | |
5311 </para> | |
5312 <para> | |
5313 VCD: | |
5314 <screen> | |
5315 -lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\ | |
5316 vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2 | |
5317 </screen> | |
5318 </para> | |
5319 | |
5320 <para> | |
5321 SVCD: | |
5322 <screen> | |
5323 -lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\ | |
5324 keyint=15:acodec=mp2 | |
5325 </screen> | |
5326 </para> | |
5327 | |
5328 <para> | |
5329 DVD: | |
5330 <screen> | |
5331 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\ | |
21583
f746c28a324c
vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents:
21521
diff
changeset
|
5332 keyint=15:vstrict=0:acodec=ac3 |
21521 | 5333 </screen> |
5334 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5335 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5336 |
21521 | 5337 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5338 <sect3 id="menc-feat-vcd-dvd-lavc-advanced"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5339 <title>Advanced Options</title> |
21521 | 5340 |
5341 <para> | |
5342 For higher quality encoding, you may also wish to add quality-enhancing | |
5343 options to lavcopts, such as <option>trell</option>, | |
5344 <option>mbd=2</option>, and others. | |
5345 Note that <option>qpel</option> and <option>v4mv</option>, while often | |
5346 useful with MPEG-4, are not usable with MPEG-1 or MPEG-2. | |
5347 Also, if you are trying to make a very high quality DVD encode, it may | |
5348 be useful to add <option>dc=10</option> to lavcopts. | |
5349 Doing so may help reduce the appearance of blocks in flat-colored areas. | |
5350 Putting it all together, this is an example of a set of lavcopts for a | |
5351 higher quality DVD: | |
5352 </para> | |
5353 | |
5354 <para> | |
5355 <screen> | |
5356 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\ | |
5357 keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\ | |
21583
f746c28a324c
vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents:
21521
diff
changeset
|
5358 vqmin=1:lmin=1:dc=10:vstrict=0 |
21521 | 5359 </screen> |
5360 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5361 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5362 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5363 |
21521 | 5364 <!-- ********** --> |
5365 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5366 <sect2 id="menc-feat-vcd-dvd-audio"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5367 <title>Encoding Audio</title> |
21521 | 5368 |
5369 <para> | |
5370 VCD and SVCD support MPEG-1 layer II audio, using one of | |
5371 <systemitem class="library">toolame</systemitem>, | |
5372 <systemitem class="library">twolame</systemitem>, | |
5373 or <systemitem class="library">libavcodec</systemitem>'s MP2 encoder. | |
5374 The libavcodec MP2 is far from being as good as the other two libraries, | |
5375 however it should always be available to use. | |
5376 VCD only supports constant bitrate audio (CBR) whereas SVCD supports | |
5377 variable bitrate (VBR), too. | |
5378 Be careful when using VBR because some bad standalone players might not | |
5379 support it too well. | |
5380 </para> | |
5381 | |
5382 <para> | |
5383 For DVD audio, <systemitem class="library">libavcodec</systemitem>'s | |
24036 | 5384 AC-3 codec is used. |
21521 | 5385 </para> |
5386 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5387 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5388 <sect3 id="menc-feat-vcd-dvd-audio-toolame"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5389 <title>toolame</title> |
21521 | 5390 |
5391 <para> | |
5392 For VCD and SVCD: | |
5393 <screen>-oac toolame -toolameopts br=224</screen> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5394 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5395 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5396 |
21521 | 5397 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5398 <sect3 id="menc-feat-vcd-dvd-audio-twolame"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5399 <title>twolame</title> |
21521 | 5400 |
5401 <para> | |
5402 For VCD and SVCD: | |
5403 <screen>-oac twolame -twolameopts br=224</screen> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5404 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5405 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5406 |
21521 | 5407 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5408 <sect3 id="menc-feat-vcd-dvd-audio-lavc"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5409 <title>libavcodec</title> |
21521 | 5410 |
5411 <para> | |
5412 For DVD with 2 channel sound: | |
5413 <screen>-oac lavc -lavcopts acodec=ac3:abitrate=192</screen> | |
5414 </para> | |
5415 | |
5416 <para> | |
5417 For DVD with 5.1 channel sound: | |
5418 <screen>-channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384</screen> | |
5419 </para> | |
5420 | |
5421 <para> | |
5422 For VCD and SVCD: | |
5423 <screen>-oac lavc -lavcopts acodec=mp2:abitrate=224</screen> | |
5424 </para> | |
5425 </sect3> | |
5426 </sect2> | |
5427 | |
5428 <!-- ********** --> | |
5429 | |
5430 <sect2 id="menc-feat-vcd-dvd-all"> | |
5431 <title>Putting it all Together</title> | |
5432 | |
5433 <para> | |
5434 This section shows some complete commands for creating VCD/SVCD/DVD | |
5435 compliant videos. | |
5436 </para> | |
5437 | |
5438 | |
5439 <sect3 id="menc-feat-vcd-dvd-all-pal-dvd"> | |
5440 <title>PAL DVD</title> | |
5441 | |
5442 <para> | |
5443 <screen> | |
5444 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \ | |
5445 -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 \ | |
5446 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\ | |
21583
f746c28a324c
vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents:
21521
diff
changeset
|
5447 keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 \ |
21521 | 5448 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> |
5449 </screen> | |
5450 </para> | |
5451 </sect3> | |
5452 | |
5453 | |
5454 <sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd"> | |
5455 <title>NTSC DVD</title> | |
5456 | |
5457 <para> | |
5458 <screen> | |
5459 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \ | |
5460 -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 \ | |
5461 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\ | |
21583
f746c28a324c
vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents:
21521
diff
changeset
|
5462 keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 \ |
21521 | 5463 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> |
5464 </screen> | |
5465 </para> | |
5466 </sect3> | |
5467 | |
5468 | |
5469 <sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy"> | |
24036 | 5470 <title>PAL AVI Containing AC-3 Audio to DVD</title> |
5471 | |
5472 <para> | |
5473 If the source already has AC-3 audio, use -oac copy instead of re-encoding it. | |
21521 | 5474 <screen> |
5475 mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \ | |
5476 -vf scale=720:576,harddup -ofps 25 \ | |
5477 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\ | |
21583
f746c28a324c
vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents:
21521
diff
changeset
|
5478 keyint=15:vstrict=0:aspect=16/9 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> |
21521 | 5479 </screen> |
5480 </para> | |
5481 </sect3> | |
5482 | |
5483 | |
5484 <sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy"> | |
24036 | 5485 <title>NTSC AVI Containing AC-3 Audio to DVD</title> |
5486 | |
5487 <para> | |
5488 If the source already has AC-3 audio, and is NTSC @ 24000/1001 fps: | |
21521 | 5489 <screen> |
5490 mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \ | |
5491 -vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:\ | |
21583
f746c28a324c
vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents:
21521
diff
changeset
|
5492 vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:aspect=16/9 -ofps 24000/1001 \ |
21521 | 5493 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> |
5494 </screen> | |
5495 </para> | |
5496 </sect3> | |
5497 | |
5498 | |
5499 <sect3 id="menc-feat-vcd-dvd-all-pal-svcd"> | |
5500 <title>PAL SVCD</title> | |
5501 | |
5502 <para> | |
5503 <screen> | |
5504 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \ | |
5505 scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ | |
5506 vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\ | |
26679
f7cb590e72a0
Consistency fix: all DVD encoding examples had ":aspect=16/9" option, so put
gpoirier
parents:
26442
diff
changeset
|
5507 vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \ |
21521 | 5508 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5509 </screen> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5510 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5511 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5512 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5513 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5514 <sect3 id="menc-feat-vcd-dvd-all-ntsc-svcd"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5515 <title>NTSC SVCD</title> |
21521 | 5516 |
5517 <para> | |
5518 <screen> | |
5519 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \ | |
5520 scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ | |
5521 vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\ | |
26679
f7cb590e72a0
Consistency fix: all DVD encoding examples had ":aspect=16/9" option, so put
gpoirier
parents:
26442
diff
changeset
|
5522 vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \ |
21521 | 5523 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> |
5524 </screen> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5525 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5526 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5527 |
21521 | 5528 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5529 <sect3 id="menc-feat-vcd-dvd-all-pal-vcd"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5530 <title>PAL VCD</title> |
21521 | 5531 |
5532 <para> | |
5533 <screen> | |
5534 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \ | |
5535 scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ | |
5536 vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\ | |
26679
f7cb590e72a0
Consistency fix: all DVD encoding examples had ":aspect=16/9" option, so put
gpoirier
parents:
26442
diff
changeset
|
5537 vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \ |
21521 | 5538 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> |
5539 </screen> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5540 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5541 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5542 |
21521 | 5543 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5544 <sect3 id="menc-feat-vcd-dvd-all-ntsc-vcd"> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5545 <title>NTSC VCD</title> |
21521 | 5546 |
5547 <para> | |
5548 <screen> | |
5549 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \ | |
5550 scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ | |
5551 vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\ | |
26679
f7cb590e72a0
Consistency fix: all DVD encoding examples had ":aspect=16/9" option, so put
gpoirier
parents:
26442
diff
changeset
|
5552 vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \ |
21521 | 5553 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> |
5554 </screen> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5555 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5556 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5557 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5558 </sect1> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5559 </chapter> |