Mercurial > mplayer.hg
annotate DOCS/xml/en/encoding-guide.xml @ 26096:e6a565ec1a3b
New S3 VIDIX driver.
Provides support for S3 Trio and S3 Virge chipsets.
This deprecates the old Savage driver that worked with latest chips only.
(synchronized with vidix.sf.net r326 and r327)
author | ben |
---|---|
date | Fri, 29 Feb 2008 20:01:28 +0000 |
parents | 31a93c970bdd |
children | 491306edcdf4 |
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. | |
460 So in the interests of maximizing quality at a fixed filesize, it is | |
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 | |
1215 risk degrading the image visibily. The suggested values above | |
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. | |
1561 You can for example copy the orignal soundtrack during the encode with | |
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 |
1574 and the only way to correct them is to drop/dup video frames at the | |
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 | |
1578 since it takes place at full black/scenechange), but if | |
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> |
21521 | 1823 Many documents, including the guide linked above, refer to the fields |
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 | |
1833 was later chosen to accomodate color data while remaining compatible | |
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 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1903 quality is not within the scope of this document. |
21521 | 1904 </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
|
1905 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1906 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
|
1907 <link linkend="menc-feat-telecine-footnotes">[1]</link> |
21521 | 1908 </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
|
1909 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1910 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1911 |
21521 | 1912 <!-- ********** --> |
1913 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1914 <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
|
1915 <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
|
1916 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1917 <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
|
1918 <title>Progressive</title> |
21521 | 1919 |
1920 <para> | |
1921 Progressive video was originally filmed at 24000/1001 fps, and stored | |
1922 on the DVD without alteration. | |
1923 </para> | |
1924 | |
1925 <para> | |
1926 When you play a progressive DVD in <application>MPlayer</application>, | |
1927 <application>MPlayer</application> will print the following line as | |
1928 soon as the movie begins to play: | |
1929 <screen> | |
1930 demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate. | |
1931 </screen> | |
1932 From this point forward, demux_mpg should never say it finds | |
21596 | 1933 "30000/1001 fps NTSC content." |
21521 | 1934 </para> |
1935 | |
1936 <para> | |
1937 When you watch progressive video, you should never see any | |
1938 interlacing. Beware, however, because sometimes there is a tiny bit | |
1939 of telecine mixed in where you would not expect. I have encountered TV | |
1940 show DVDs that have one second of telecine at every scene change, or | |
1941 at seemingly random places. I once watched a DVD that had a | |
1942 progressive first half, and the second half was telecined. If you | |
1943 want to be <emphasis>really</emphasis> thorough, you can scan the | |
1944 entire movie: | |
1945 <screen>mplayer dvd://1 -nosound -vo null -benchmark</screen> | |
1946 Using <option>-benchmark</option> makes | |
1947 <application>MPlayer</application> play the movie as quickly as it | |
1948 possibly can; still, depending on your hardware, it can take a | |
1949 while. Every time demux_mpg reports a framerate change, the line | |
1950 immediately above will show you the time at which the change | |
1951 occurred. | |
1952 </para> | |
1953 | |
1954 <para> | |
1955 Sometimes progressive video on DVDs is referred to as | |
21596 | 1956 "soft-telecine" because it is intended to |
21521 | 1957 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
|
1958 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1959 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1960 |
21521 | 1961 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
1962 <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
|
1963 <title>Telecined</title> |
21521 | 1964 |
1965 <para> | |
1966 Telecined video was originally filmed at 24000/1001, but was telecined | |
1967 <emphasis>before</emphasis> it was written to the DVD. | |
1968 </para> | |
1969 | |
1970 <para> | |
1971 <application>MPlayer</application> does not (ever) report any | |
1972 framerate changes when it plays telecined video. | |
1973 </para> | |
1974 | |
1975 <para> | |
1976 Watching a telecined video, you will see interlacing artifacts that | |
21596 | 1977 seem to "blink": they repeatedly appear and disappear. |
21521 | 1978 You can look closely at this by |
1979 <orderedlist> | |
1980 <listitem><screen>mplayer dvd://1</screen></listitem> | |
1981 <listitem><para> | |
1982 Seek to a part with motion. | |
1983 </para></listitem> | |
1984 <listitem><para> | |
1985 Use the <keycap>.</keycap> key to step forward one frame at a time. | |
1986 </para></listitem> | |
1987 <listitem><para> | |
1988 Look at the pattern of interlaced-looking and progressive-looking | |
1989 frames. If the pattern you see is PPPII,PPPII,PPPII,... then the | |
1990 video is telecined. If you see some other pattern, then the video | |
1991 may have been telecined using some non-standard method; | |
1992 <application>MEncoder</application> cannot losslessly convert | |
1993 non-standard telecine to progressive. If you do not see any | |
1994 pattern at all, then it is most likely interlaced. | |
1995 </para></listitem> | |
1996 </orderedlist> | |
1997 </para> | |
1998 | |
1999 <para> | |
2000 Sometimes telecined video on DVDs is referred to as | |
21596 | 2001 "hard-telecine". Since hard-telecine is already 60000/1001 fields |
21521 | 2002 per second, the DVD player plays the video without any manipulation. |
2003 </para> | |
2004 | |
2005 <para> | |
2006 Another way to tell if your source is telecined or not is to play | |
2007 the source with the <option>-vf pullup</option> and <option>-v</option> | |
2008 command line options to see how <option>pullup</option> matches frames. | |
2009 If the source is telecined, you should see on the console a 3:2 pattern | |
2010 with <systemitem>0+.1.+2</systemitem> and <systemitem>0++1</systemitem> | |
2011 alternating. | |
2012 This technique has the advantage that you do not need to watch the | |
2013 source to identify it, which could be useful if you wish to automate | |
2014 the encoding procedure, or to carry out said procedure remotely via | |
2015 a slow connection. | |
2016 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2017 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2018 |
21521 | 2019 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2020 <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
|
2021 <title>Interlaced</title> |
21521 | 2022 |
2023 <para> | |
2024 Interlaced video was originally filmed at 60000/1001 fields per second, | |
2025 and stored on the DVD as 30000/1001 frames per second. The interlacing effect | |
21596 | 2026 (often called "combing") is a result of combining pairs of |
21521 | 2027 fields into frames. Each field is supposed to be 1/(60000/1001) seconds apart, |
2028 and when they are displayed simultaneously the difference is apparent. | |
2029 </para> | |
2030 | |
2031 <para> | |
2032 As with telecined video, <application>MPlayer</application> should | |
2033 not ever report any framerate changes when playing interlaced content. | |
2034 </para> | |
2035 | |
2036 <para> | |
2037 When you view an interlaced video closely by frame-stepping with the | |
2038 <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
|
2039 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2040 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2041 |
21521 | 2042 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2043 <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
|
2044 <title>Mixed progressive and telecine</title> |
21521 | 2045 |
2046 <para> | |
21596 | 2047 All of a "mixed progressive and telecine" video was originally |
21521 | 2048 24000/1001 frames per second, but some parts of it ended up being telecined. |
2049 </para> | |
2050 | |
2051 <para> | |
2052 When <application>MPlayer</application> plays this category, it will | |
21596 | 2053 (often repeatedly) switch back and forth between "30000/1001 fps NTSC" |
2054 and "24000/1001 fps progressive NTSC". Watch the bottom of | |
21521 | 2055 <application>MPlayer</application>'s output to see these messages. |
2056 </para> | |
2057 | |
2058 <para> | |
21596 | 2059 You should check the "30000/1001 fps NTSC" sections to make sure |
21521 | 2060 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
|
2061 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2062 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2063 |
21521 | 2064 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2065 <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
|
2066 <title>Mixed progressive and interlaced</title> |
21521 | 2067 |
2068 <para> | |
21596 | 2069 In "mixed progressive and interlaced" content, progressive |
21521 | 2070 and interlaced video have been spliced together. |
2071 </para> | |
2072 | |
2073 <para> | |
21596 | 2074 This category looks just like "mixed progressive and telecine", |
21521 | 2075 until you examine the 30000/1001 fps sections and see that they do not have the |
2076 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
|
2077 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2078 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2079 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2080 |
21521 | 2081 <!-- ********** --> |
2082 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2083 <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
|
2084 <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
|
2085 <para> |
21521 | 2086 As I mentioned in the beginning, example <application>MEncoder</application> |
2087 lines below are <emphasis role="bold">not</emphasis> meant to actually be used; | |
2088 they only demonstrate the minimum parameters to properly encode each category. | |
2089 </para> | |
2090 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2091 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2092 <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
|
2093 <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
|
2094 <para> |
21521 | 2095 Progressive video requires no special filtering to encode. The only |
2096 parameter you need to be sure to use is <option>-ofps 24000/1001</option>. | |
2097 Otherwise, <application>MEncoder</application> | |
2098 will try to encode at 30000/1001 fps and will duplicate frames. | |
2099 </para> | |
2100 | |
2101 <para> | |
2102 <screen>mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001</screen> | |
2103 </para> | |
2104 | |
2105 <para> | |
2106 It is often the case, however, that a video that looks progressive | |
2107 actually has very short parts of telecine mixed in. Unless you are | |
2108 sure, it is safest to treat the video as | |
2109 <link linkend="menc-feat-telecine-encode-mixedpt">mixed progressive and telecine</link>. | |
2110 The performance loss is small | |
2111 <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
|
2112 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2113 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2114 |
21521 | 2115 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2116 <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
|
2117 <title>Telecined</title> |
21521 | 2118 |
2119 <para> | |
2120 Telecine can be reversed to retrieve the original 24000/1001 content, | |
2121 using a process called inverse-telecine. | |
2122 <application>MPlayer</application> contains several filters to | |
2123 accomplish this; the best filter, <option>pullup</option>, is described | |
2124 in the <link linkend="menc-feat-telecine-encode-mixedpt">mixed | |
2125 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
|
2126 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2127 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2128 |
21521 | 2129 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2130 <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
|
2131 <title>Interlaced</title> |
21521 | 2132 |
2133 <para> | |
2134 For most practical cases it is not possible to retrieve a complete | |
2135 progressive video from interlaced content. The only way to do so | |
2136 without losing half of the vertical resolution is to double the | |
21596 | 2137 framerate and try to "guess" what ought to make up the |
21521 | 2138 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
|
2139 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2140 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2141 <orderedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2142 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2143 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
|
2144 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
|
2145 <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
|
2146 parameters specifically for dealing with storing interlaced video a |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2147 bit better: <option> ildct</option> and <option>ilme</option>. Also, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2148 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
|
2149 <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
|
2150 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
|
2151 no motion. Note that <option>-ofps</option> is NOT needed here. |
16384 | 2152 <screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen> |
21521 | 2153 </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
|
2154 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2155 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
|
2156 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
|
2157 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
|
2158 <option>mplayer -vf help</option> to see what is available |
21596 | 2159 (grep for "deint"), read Michael's Niedermayer |
21062
be83543ce2d0
add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents:
21018
diff
changeset
|
2160 <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
|
2161 and search the |
21360 | 2162 <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
|
2163 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
|
2164 various filters. |
be83543ce2d0
add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents:
21018
diff
changeset
|
2165 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
|
2166 <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
|
2167 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
|
2168 before scaling. |
21062
be83543ce2d0
add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents:
21018
diff
changeset
|
2169 <screen>mencoder dvd://1 -oac copy -vf yadif -ovc lavc</screen> |
21521 | 2170 </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
|
2171 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2172 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
|
2173 <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
|
2174 <application>MEncoder G2</application>, but that is not here yet. You |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2175 might experience crahes. Anyway, the purpose of <option> -vf |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2176 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
|
2177 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
|
2178 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
|
2179 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
|
2180 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
|
2181 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
|
2182 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
|
2183 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
|
2184 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
|
2185 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
|
2186 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
|
2187 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
|
2188 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
|
2189 <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
|
2190 <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
|
2191 <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
|
2192 framerate of your original source. |
21521 | 2193 <screen> |
2194 mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc \ | |
2195 -fps 60000/1001 -ofps 60000/1001<!-- | |
2196 --></screen> | |
2197 </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
|
2198 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2199 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
|
2200 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
|
2201 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
|
2202 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
|
2203 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
|
2204 <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
|
2205 <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
|
2206 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
|
2207 compensate for the vertical resolution being halved. |
16384 | 2208 <screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen> |
21521 | 2209 </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
|
2210 </orderedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2211 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2212 |
21521 | 2213 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2214 <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
|
2215 <title>Mixed progressive and telecine</title> |
21521 | 2216 |
2217 <para> | |
2218 In order to turn mixed progressive and telecine video into entirely | |
2219 progressive video, the telecined parts have to be | |
2220 inverse-telecined. There are three ways to accomplish this, | |
2221 described below. Note that you should | |
2222 <emphasis role="bold">always</emphasis> inverse-telecine before any | |
2223 rescaling; unless you really know what you are doing, | |
2224 inverse-telecine before cropping, too | |
2225 <link linkend="menc-feat-telecine-footnotes">[1]</link>. | |
2226 <option>-ofps 24000/1001</option> is needed here because the output video | |
2227 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
|
2228 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2229 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2230 <itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2231 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2232 <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
|
2233 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
|
2234 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
|
2235 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
|
2236 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
|
2237 <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
|
2238 accurate method available for encoding both telecine and |
21596 | 2239 "mixed progressive and telecine". |
21521 | 2240 <screen> |
2241 mencoder dvd://1 -oac copy -vf pullup,softskip | |
2242 -ovc lavc -ofps 24000/1001<!-- | |
2243 --></screen> | |
2244 </para></listitem> | |
2245 <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
|
2246 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
|
2247 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
|
2248 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
|
2249 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
|
2250 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
|
2251 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
|
2252 <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
|
2253 progressive. <option>-ofps 24000/1001</option> is needed. |
21521 | 2254 <screen> |
2255 mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001 | |
2256 </screen> | |
2257 </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
|
2258 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2259 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2260 I have not used <option>-vf filmdint</option> myself, but here is what |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2261 D Richard Felker III has to say: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2262 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2263 <blockquote><para>It is OK, but IMO it tries to deinterlace rather |
21521 | 2264 than doing inverse telecine too often (much like settop DVD |
2265 players & progressive TVs) which gives ugly flickering and | |
2266 other artifacts. If you are going to use it, you at least need to | |
2267 spend some time tuning the options and watching the output first | |
2268 to make sure it is not messing up. | |
2269 </para></blockquote> | |
2270 </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
|
2271 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2272 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2273 |
21521 | 2274 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2275 <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
|
2276 <title>Mixed progressive and interlaced</title> |
21521 | 2277 |
2278 <para> | |
2279 There are two options for dealing with this category, each of | |
2280 which is a compromise. You should decide based on the | |
2281 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
|
2282 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2283 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2284 <itemizedlist> |
21521 | 2285 <listitem> |
2286 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2287 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
|
2288 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
|
2289 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
|
2290 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
|
2291 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2292 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2293 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2294 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
|
2295 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
|
2296 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
|
2297 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
|
2298 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
|
2299 fields' duration (3/(60000/1001) seconds), resulting in a flicking |
21596 | 2300 "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
|
2301 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
|
2302 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
|
2303 <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
|
2304 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2305 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2306 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2307 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
|
2308 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
|
2309 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
|
2310 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
|
2311 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
|
2312 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
|
2313 much. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2314 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2315 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2316 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2317 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
|
2318 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
|
2319 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
|
2320 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
|
2321 interlaced. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2322 </para> |
21521 | 2323 </listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2324 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2325 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2326 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
|
2327 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
|
2328 deinterlacing filters may slightly degrade the progressive parts. |
21521 | 2329 </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
|
2330 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2331 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2332 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2333 |
21521 | 2334 <!-- ********** --> |
2335 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2336 <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
|
2337 <title>Footnotes</title> |
21521 | 2338 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2339 <orderedlist> |
21521 | 2340 <listitem> |
2341 <formalpara> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2342 <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
|
2343 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2344 Video data on DVDs are stored in a format called YUV 4:2:0. In YUV |
21596 | 2345 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
|
2346 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
|
2347 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
|
2348 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
|
2349 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
|
2350 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
|
2351 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
|
2352 <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
|
2353 <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
|
2354 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2355 </formalpara> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2356 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2357 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2358 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
|
2359 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
|
2360 <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
|
2361 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
|
2362 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
|
2363 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
|
2364 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
|
2365 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
|
2366 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
|
2367 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
|
2368 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
|
2369 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
|
2370 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2371 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2372 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2373 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
|
2374 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
|
2375 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
|
2376 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
|
2377 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
|
2378 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2379 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2380 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2381 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
|
2382 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
|
2383 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
|
2384 </para> |
21521 | 2385 </listitem> |
16080
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 <listitem><formalpara> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2388 <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
|
2389 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2390 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
|
2391 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
|
2392 <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
|
2393 <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
|
2394 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
|
2395 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
|
2396 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
|
2397 <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
|
2398 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
|
2399 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
|
2400 </para> |
21521 | 2401 </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
|
2402 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2403 <listitem><formalpara> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2404 <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
|
2405 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2406 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
|
2407 </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
|
2408 the source has been definitively verified to be entirely progressive. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2409 The performace loss is small for most cases. On a bare-minimum encode, |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2410 <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
|
2411 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
|
2412 </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
|
2413 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
|
2414 </para> |
21521 | 2415 </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
|
2416 </orderedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2417 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2418 </sect1> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2419 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2420 |
21521 | 2421 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> |
2422 | |
2423 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2424 <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
|
2425 <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
|
2426 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
|
2427 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2428 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2429 <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2430 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
|
2431 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
|
2432 </para> |
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2433 |
21521 | 2434 <!-- ********** --> |
2435 | |
16541
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2436 <sect2 id="menc-feat-enc-libavcodec-video-codecs"> |
21521 | 2437 <title><systemitem class="library">libavcodec</systemitem>'s |
2438 video codecs</title> | |
16541
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2439 |
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2440 <para> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2441 <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
|
2442 <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
|
2443 <thead> |
21521 | 2444 <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
|
2445 </thead> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2446 <tbody> |
21521 | 2447 <row> |
2448 <entry>mjpeg</entry> | |
2449 <entry>Motion JPEG</entry> | |
2450 </row> | |
2451 <row> | |
2452 <entry>ljpeg</entry> | |
2453 <entry>lossless JPEG</entry> | |
2454 </row> | |
2455 <row> | |
22732
02f1feef63eb
add rest of lavc encoders to list (vcr1, cljr, jpegls, ffvhuff, msmpeg4v1)
compn
parents:
22731
diff
changeset
|
2456 <entry>jpegls</entry> |
02f1feef63eb
add rest of lavc encoders to list (vcr1, cljr, jpegls, ffvhuff, msmpeg4v1)
compn
parents:
22731
diff
changeset
|
2457 <entry>JPEG LS</entry> |
02f1feef63eb
add rest of lavc encoders to list (vcr1, cljr, jpegls, ffvhuff, msmpeg4v1)
compn
parents:
22731
diff
changeset
|
2458 </row> |
02f1feef63eb
add rest of lavc encoders to list (vcr1, cljr, jpegls, ffvhuff, msmpeg4v1)
compn
parents:
22731
diff
changeset
|
2459 <row> |
22700 | 2460 <entry>targa</entry> |
22730
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2461 <entry>Targa image</entry> |
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2462 </row> |
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2463 <row> |
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2464 <entry>gif</entry> |
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2465 <entry>GIF image</entry> |
22700 | 2466 </row> |
2467 <row> | |
2468 <entry>bmp</entry> | |
2469 <entry>BMP image</entry> | |
2470 </row> | |
2471 <row> | |
22730
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2472 <entry>png</entry> |
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2473 <entry>PNG image</entry> |
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2474 </row> |
04bff616cb84
add png and gif encoders, how to use them with mencoder is another question
compn
parents:
22700
diff
changeset
|
2475 <row> |
21521 | 2476 <entry>h261</entry> |
2477 <entry>H.261</entry> | |
2478 </row> | |
2479 <row> | |
2480 <entry>h263</entry> | |
2481 <entry>H.263 </entry> | |
2482 </row> | |
2483 <row> | |
2484 <entry>h263p</entry> | |
2485 <entry>H.263+</entry> | |
2486 </row> | |
2487 <row> | |
2488 <entry>mpeg4</entry> | |
2489 <entry>ISO standard MPEG-4 (DivX, Xvid compatible)</entry> | |
2490 </row> | |
2491 <row> | |
2492 <entry>msmpeg4</entry> | |
2493 <entry>pre-standard MPEG-4 variant by MS, v3 (AKA DivX3)</entry> | |
2494 </row> | |
2495 <row> | |
2496 <entry>msmpeg4v2</entry> | |
2497 <entry>pre-standard MPEG-4 by MS, v2 (used in old ASF files)</entry> | |
2498 </row> | |
2499 <row> | |
2500 <entry>wmv1</entry> | |
2501 <entry>Windows Media Video, version 1 (AKA WMV7)</entry> | |
2502 </row> | |
2503 <row> | |
2504 <entry>wmv2</entry> | |
2505 <entry>Windows Media Video, version 2 (AKA WMV8)</entry> | |
2506 </row> | |
2507 <row> | |
2508 <entry>rv10</entry> | |
2509 <entry>RealVideo 1.0</entry> | |
2510 </row> | |
2511 <row> | |
2512 <entry>rv20</entry> | |
2513 <entry>RealVideo 2.0</entry> | |
2514 </row> | |
2515 <row> | |
2516 <entry>mpeg1video</entry> | |
2517 <entry>MPEG-1 video</entry> | |
2518 </row> | |
2519 <row> | |
2520 <entry>mpeg2video</entry> | |
2521 <entry>MPEG-2 video</entry> | |
2522 </row> | |
2523 <row> | |
2524 <entry>huffyuv</entry> | |
2525 <entry>lossless compression</entry> | |
2526 </row> | |
2527 <row> | |
22732
02f1feef63eb
add rest of lavc encoders to list (vcr1, cljr, jpegls, ffvhuff, msmpeg4v1)
compn
parents:
22731
diff
changeset
|
2528 <entry>ffvhuff</entry> |
02f1feef63eb
add rest of lavc encoders to list (vcr1, cljr, jpegls, ffvhuff, msmpeg4v1)
compn
parents:
22731
diff
changeset
|
2529 <entry>FFmpeg modified huffyuv lossless</entry> |
02f1feef63eb
add rest of lavc encoders to list (vcr1, cljr, jpegls, ffvhuff, msmpeg4v1)
compn
parents:
22731
diff
changeset
|
2530 </row> |
02f1feef63eb
add rest of lavc encoders to list (vcr1, cljr, jpegls, ffvhuff, msmpeg4v1)
compn
parents:
22731
diff
changeset
|
2531 <row> |
21521 | 2532 <entry>asv1</entry> |
2533 <entry>ASUS Video v1</entry> | |
2534 </row> | |
2535 <row> | |
2536 <entry>asv2</entry> | |
2537 <entry>ASUS Video v2</entry> | |
2538 </row> | |
2539 <row> | |
2540 <entry>ffv1</entry> | |
2541 <entry>FFmpeg's lossless video codec</entry> | |
2542 </row> | |
2543 <row> | |
2544 <entry>svq1</entry> | |
2545 <entry>Sorenson video 1</entry> | |
2546 </row> | |
2547 <row> | |
2548 <entry>flv</entry> | |
2549 <entry>Sorenson H.263 used in Flash Video</entry> | |
2550 </row> | |
2551 <row> | |
22700 | 2552 <entry>flashsv</entry> |
2553 <entry>Flash Screen Video</entry> | |
2554 </row> | |
2555 <row> | |
21521 | 2556 <entry>dvvideo</entry> |
2557 <entry>Sony Digital Video</entry> | |
2558 </row> | |
2559 <row> | |
2560 <entry>snow</entry> | |
2561 <entry>FFmpeg's experimental wavelet-based codec</entry> | |
2562 </row> | |
22700 | 2563 <row> |
24723 | 2564 <entry>zmbv</entry> |
2565 <entry>Zip Motion Blocks Video</entry> | |
22700 | 2566 </row> |
24717 | 2567 <row> |
2568 <entry>dnxhd</entry> | |
2569 <entry>AVID DNxHD</entry> | |
2570 </row> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2571 </tbody> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2572 </tgroup> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2573 </informaltable> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2574 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2575 The first column contains the codec names that should be passed after the |
21521 | 2576 <literal>vcodec</literal> config, |
2577 like: <option>-lavcopts vcodec=msmpeg4</option> | |
2578 </para> | |
2579 | |
2580 <informalexample><para> | |
16558 | 2581 An example with MJPEG compression: |
21521 | 2582 <screen> |
2583 mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -ovc lavc -lavcopts vcodec=mjpeg -oac copy | |
2584 </screen> | |
2585 </para></informalexample> | |
16541
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2586 </sect2> |
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2587 |
21521 | 2588 <!-- ********** --> |
2589 | |
16541
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2590 <sect2 id="menc-feat-enc-libavcodec-audio-codecs"> |
21521 | 2591 <title><systemitem class="library">libavcodec</systemitem>'s |
2592 audio codecs</title> | |
2593 | |
16541
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2594 <para> |
16535 | 2595 <informaltable frame="all"> |
2596 <tgroup cols="2"> | |
2597 <thead> | |
2598 <row><entry>Audio codec name</entry><entry>Description</entry></row> | |
2599 </thead> | |
2600 <tbody> | |
21521 | 2601 <row> |
24069 | 2602 <entry>ac3</entry> |
2603 <entry>Dolby Digital (AC-3)</entry> | |
2604 </row> | |
2605 <row> | |
2606 <entry>adpcm_*</entry> | |
2607 <entry>Adaptive PCM formats - see supplementary table</entry> | |
2608 </row> | |
2609 <row> | |
2610 <entry>flac</entry> | |
2611 <entry>Free Lossless Audio Codec (FLAC)</entry> | |
2612 </row> | |
2613 <row> | |
2614 <entry>g726</entry> | |
2615 <entry>G.726 ADPCM</entry> | |
2616 </row> | |
2617 <row> | |
2618 <entry>libamr_nb</entry> | |
2619 <entry>3GPP Adaptive Multi-Rate (AMR) narrow-band</entry> | |
2620 </row> | |
2621 <row> | |
2622 <entry>libamr_wb</entry> | |
2623 <entry>3GPP Adaptive Multi-Rate (AMR) wide-band</entry> | |
21521 | 2624 </row> |
2625 <row> | |
24069 | 2626 <entry>libfaac</entry> |
2627 <entry>Advanced Audio Coding (AAC) - using FAAC</entry> | |
2628 </row> | |
2629 <row> | |
2630 <entry>libgsm</entry> | |
2631 <entry>ETSI GSM 06.10 full rate</entry> | |
2632 </row> | |
2633 <row> | |
2634 <entry>libgsm_ms</entry> | |
2635 <entry>Microsoft GSM</entry> | |
21521 | 2636 </row> |
2637 <row> | |
24069 | 2638 <entry>libmp3lame</entry> |
2639 <entry>MPEG-1 audio layer 3 (MP3) - using LAME</entry> | |
2640 </row> | |
2641 <row> | |
2642 <entry>mp2</entry> | |
2643 <entry>MPEG-1 audio layer 2 (MP2)</entry> | |
2644 </row> | |
2645 <row> | |
2646 <entry>pcm_*</entry> | |
2647 <entry>PCM formats - see supplementary table</entry> | |
2648 </row> | |
2649 <row> | |
2650 <entry>roq_dpcm</entry> | |
2651 <entry>Id Software RoQ DPCM</entry> | |
21521 | 2652 </row> |
2653 <row> | |
2654 <entry>sonic</entry> | |
22731
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2655 <entry>experimental FFmpeg lossy codec</entry> |
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2656 </row> |
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2657 <row> |
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2658 <entry>sonicls</entry> |
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2659 <entry>experimental FFmpeg lossless codec</entry> |
21521 | 2660 </row> |
22700 | 2661 <row> |
2662 <entry>vorbis</entry> | |
24069 | 2663 <entry>Vorbis</entry> |
22700 | 2664 </row> |
2665 <row> | |
22731
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2666 <entry>wmav1</entry> |
24069 | 2667 <entry>Windows Media Audio v1</entry> |
22731
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2668 </row> |
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2669 <row> |
5556aa316b2a
split sonic into sonic/sonicls and wma into wmav1/wmav2
compn
parents:
22730
diff
changeset
|
2670 <entry>wmav2</entry> |
24069 | 2671 <entry>Windows Media Audio v2</entry> |
22700 | 2672 </row> |
16535 | 2673 </tbody> |
2674 </tgroup> | |
2675 </informaltable> | |
2676 | |
2677 The first column contains the codec names that should be passed after the | |
16539 | 2678 <literal>acodec</literal> option, like: <option>-lavcopts acodec=ac3</option> |
16535 | 2679 </para> |
2680 | |
21521 | 2681 <informalexample><para> |
24036 | 2682 An example with AC-3 compression: |
21521 | 2683 <screen> |
2684 mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -oac lavc -lavcopts acodec=ac3 -ovc copy | |
2685 </screen> | |
2686 </para></informalexample> | |
2687 | |
2688 <para> | |
2689 Contrary to <systemitem class="library">libavcodec</systemitem>'s video | |
2690 codecs, its audio codecs do not make a wise usage of the bits they are | |
2691 given as they lack some minimal psychoacoustic model (if at all) | |
2692 which most other codec implementations feature. | |
2693 However, note that all these audio codecs are very fast and work | |
2694 out-of-the-box everywhere <application>MEncoder</application> has been | |
2695 compiled with <systemitem class="library">libavcodec</systemitem> (which | |
2696 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
|
2697 </para> |
24069 | 2698 |
2699 <sect3 id="menc-feat-enc-libavcodec-audio-codecs-pcmadpcm"> | |
2700 <title>PCM/ADPCM format supplementary table</title> | |
2701 | |
2702 <para> | |
2703 <informaltable frame="all"> | |
2704 <tgroup cols="2"> | |
2705 <thead> | |
2706 <row><entry>PCM/ADPCM codec name</entry><entry>Description</entry></row> | |
2707 </thead> | |
2708 <tbody> | |
2709 <row> | |
2710 <entry>pcm_s32le</entry> | |
2711 <entry>signed 32-bit little-endian</entry> | |
2712 </row> | |
2713 <row> | |
2714 <entry>pcm_s32be</entry> | |
2715 <entry>signed 32-bit big-endian</entry> | |
2716 </row> | |
2717 <row> | |
2718 <entry>pcm_u32le</entry> | |
2719 <entry>unsigned 32-bit little-endian</entry> | |
2720 </row> | |
2721 <row> | |
2722 <entry>pcm_u32be</entry> | |
2723 <entry>unsigned 32-bit big-endian</entry> | |
2724 </row> | |
2725 <row> | |
2726 <entry>pcm_s24le</entry> | |
2727 <entry>signed 24-bit little-endian</entry> | |
2728 </row> | |
2729 <row> | |
2730 <entry>pcm_s24be</entry> | |
2731 <entry>signed 24-bit big-endian</entry> | |
2732 </row> | |
2733 <row> | |
2734 <entry>pcm_u24le</entry> | |
2735 <entry>unsigned 24-bit little-endian</entry> | |
2736 </row> | |
2737 <row> | |
2738 <entry>pcm_u24be</entry> | |
2739 <entry>unsigned 24-bit big-endian</entry> | |
2740 </row> | |
2741 <row> | |
2742 <entry>pcm_s16le</entry> | |
2743 <entry>signed 16-bit little-endian</entry> | |
2744 </row> | |
2745 <row> | |
2746 <entry>pcm_s16be</entry> | |
2747 <entry>signed 16-bit big-endian</entry> | |
2748 </row> | |
2749 <row> | |
2750 <entry>pcm_u16le</entry> | |
2751 <entry>unsigned 16-bit little-endian</entry> | |
2752 </row> | |
2753 <row> | |
2754 <entry>pcm_u16be</entry> | |
2755 <entry>unsigned 16-bit big-endian</entry> | |
2756 </row> | |
2757 <row> | |
2758 <entry>pcm_s8</entry> | |
2759 <entry>signed 8-bit</entry> | |
2760 </row> | |
2761 <row> | |
2762 <entry>pcm_u8</entry> | |
2763 <entry>unsigned 8-bit</entry> | |
2764 </row> | |
2765 <row> | |
2766 <entry>pcm_alaw</entry> | |
2767 <entry>G.711 A-LAW </entry> | |
2768 </row> | |
2769 <row> | |
2770 <entry>pcm_mulaw</entry> | |
2771 <entry>G.711 μ-LAW</entry> | |
2772 </row> | |
2773 <row> | |
2774 <entry>pcm_s24daud</entry> | |
2775 <entry>signed 24-bit D-Cinema Audio format</entry> | |
2776 </row> | |
2777 <row> | |
2778 <entry>pcm_zork</entry> | |
2779 <entry>Activision Zork Nemesis</entry> | |
2780 </row> | |
2781 <row> | |
2782 <entry>adpcm_ima_qt</entry> | |
2783 <entry>Apple QuickTime</entry> | |
2784 </row> | |
2785 <row> | |
2786 <entry>adpcm_ima_wav</entry> | |
2787 <entry>Microsoft/IBM WAVE</entry> | |
2788 </row> | |
2789 <row> | |
2790 <entry>adpcm_ima_dk3</entry> | |
2791 <entry>Duck DK3</entry> | |
2792 </row> | |
2793 <row> | |
2794 <entry>adpcm_ima_dk4</entry> | |
2795 <entry>Duck DK4</entry> | |
2796 </row> | |
2797 <row> | |
2798 <entry>adpcm_ima_ws</entry> | |
2799 <entry>Westwood Studios</entry> | |
2800 </row> | |
2801 <row> | |
2802 <entry>adpcm_ima_smjpeg</entry> | |
2803 <entry>SDL Motion JPEG</entry> | |
2804 </row> | |
2805 <row> | |
2806 <entry>adpcm_ms</entry> | |
2807 <entry>Microsoft</entry> | |
2808 </row> | |
2809 <row> | |
2810 <entry>adpcm_4xm</entry> | |
2811 <entry>4X Technologies</entry> | |
2812 </row> | |
2813 <row> | |
2814 <entry>adpcm_xa</entry> | |
2815 <entry>Phillips Yellow Book CD-ROM eXtended Architecture</entry> | |
2816 </row> | |
2817 <row> | |
2818 <entry>adpcm_ea</entry> | |
2819 <entry>Electronic Arts</entry> | |
2820 </row> | |
2821 <row> | |
2822 <entry>adpcm_ct</entry> | |
2823 <entry>Creative 16->4-bit</entry> | |
2824 </row> | |
2825 <row> | |
2826 <entry>adpcm_swf</entry> | |
2827 <entry>Adobe Shockwave Flash</entry> | |
2828 </row> | |
2829 <row> | |
2830 <entry>adpcm_yamaha</entry> | |
2831 <entry>Yamaha</entry> | |
2832 </row> | |
2833 <row> | |
2834 <entry>adpcm_sbpro_4</entry> | |
2835 <entry>Creative VOC SoundBlaster Pro 8->4-bit</entry> | |
2836 </row> | |
2837 <row> | |
2838 <entry>adpcm_sbpro_3</entry> | |
2839 <entry>Creative VOC SoundBlaster Pro 8->2.6-bit</entry> | |
2840 </row> | |
2841 <row> | |
2842 <entry>adpcm_sbpro_2</entry> | |
2843 <entry>Creative VOC SoundBlaster Pro 8->2-bit</entry> | |
2844 </row> | |
2845 <row> | |
2846 <entry>adpcm_thp</entry> | |
2847 <entry>Nintendo GameCube FMV THP</entry> | |
2848 </row> | |
2849 <row> | |
2850 <entry>adpcm_adx</entry> | |
2851 <entry>Sega/CRI ADX</entry> | |
2852 </row> | |
2853 </tbody> | |
2854 </tgroup> | |
2855 </informaltable> | |
2856 </para> | |
2857 </sect3> | |
2858 | |
16541
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2859 </sect2> |
4a9808f6cacc
add some internal links between "codecs supported by mencoder" and
gpoirier
parents:
16539
diff
changeset
|
2860 |
21521 | 2861 <!-- ********** --> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2862 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2863 <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
|
2864 <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
|
2865 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2866 <para> |
21521 | 2867 Ideally, you would probably want to be able to just tell the encoder to switch |
2868 into "high quality" mode and move on. | |
2869 That would probably be nice, but unfortunately hard to implement as different | |
2870 encoding options yield different quality results depending on the source | |
2871 material. That is because compression depends on the visual properties of the | |
2872 video in question. | |
2873 For example, anime and live action have very different properties and | |
2874 thus require different options to obtain optimum encoding. | |
2875 The good news is that some options should never be left out, like | |
2876 <option>mbd=2</option>, <option>trell</option>, and <option>v4mv</option>. | |
2877 See below for a detailed description of common encoding options. | |
2878 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2879 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2880 <itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2881 <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
|
2882 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2883 <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
|
2884 the movie. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2885 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
|
2886 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
|
2887 <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
|
2888 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
|
2889 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
|
2890 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2891 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2892 <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
|
2893 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
|
2894 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
|
2895 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2896 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2897 <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
|
2898 and slower. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2899 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
|
2900 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
|
2901 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2902 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2903 <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
|
2904 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
|
2905 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
|
2906 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2907 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2908 <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
|
2909 motion estimation. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2910 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
|
2911 distortion). |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2912 0 is fastest, and sufficient for precmp. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2913 For cmp and subcmp, 2 is good for anime, and 3 is good for live action. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2914 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
|
2915 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2916 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2917 <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
|
2918 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
|
2919 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
|
2920 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
|
2921 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2922 <listitem><para> |
21521 | 2923 <emphasis role="bold">cbp, mv0</emphasis>: Controls the selection of |
2924 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
|
2925 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2926 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2927 <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
|
2928 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
|
2929 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
|
2930 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
|
2931 (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
|
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">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
|
2935 with qprd. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2936 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
|
2937 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
|
2938 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
|
2939 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
|
2940 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2941 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2942 <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
|
2943 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
|
2944 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
|
2945 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
|
2946 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
|
2947 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
|
2948 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2949 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2950 <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
|
2951 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
|
2952 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
|
2953 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
|
2954 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
|
2955 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
|
2956 This saves bits and perhaps speeds up encoding. vlelim=-4 and vcelim=9 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2957 seem to be good for live movies, but seem not to help with anime; |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2958 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
|
2959 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2960 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2961 <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
|
2962 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
|
2963 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
|
2964 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
|
2965 The compression gain/loss depends on the movie, but it is usually not very |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2966 effective on anime. |
16605 | 2967 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
|
2968 practice). |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2969 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2970 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2971 <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
|
2972 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
|
2973 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
|
2974 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2975 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2976 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2977 <itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2978 <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
|
2979 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2980 <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
|
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 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2983 <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
|
2984 quantization. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2985 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
|
2986 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
|
2987 subjective. |
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">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
|
2991 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
|
2992 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2993 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2994 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
2995 |
21521 | 2996 <!-- ********** --> |
2997 | |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
2998 <sect2 id="menc-feat-mpeg4-lavc-example-settings"> |
16599 | 2999 <title>Encoding setting examples</title> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3000 |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3001 <para> |
21521 | 3002 The following settings are examples of different encoding |
3003 option combinations that affect the speed vs quality tradeoff | |
3004 at the same target bitrate. | |
3005 </para> | |
3006 | |
3007 <para> | |
3008 All the encoding settings were tested on a 720x448 @30000/1001 fps | |
3009 video sample, the target bitrate was 900kbps, and the machine was an | |
3010 AMD-64 3400+ at 2400 MHz in 64 bits mode. | |
3011 Each encoding setting features the measured encoding speed (in | |
3012 frames per second) and the PSNR loss (in dB) compared to the "very | |
3013 high quality" setting. | |
3014 Please understand that depending on your source, your machine type | |
3015 and development advancements, you may get very different results. | |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3016 </para> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3017 |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3018 <para> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3019 <informaltable frame="all"> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3020 <tgroup cols="4"> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3021 <thead> |
21521 | 3022 <row> |
3023 <entry>Description</entry> | |
3024 <entry>Encoding options</entry> | |
3025 <entry>speed (in fps)</entry> | |
3026 <entry>Relative PSNR loss (in dB)</entry> | |
3027 </row> | |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3028 </thead> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3029 <tbody> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3030 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3031 <entry>Very high quality</entry> |
17103 | 3032 <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
|
3033 <entry>6fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3034 <entry>0dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3035 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3036 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3037 <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
|
3038 <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
|
3039 <entry>15fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3040 <entry>-0.5dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3041 </row> |
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 <entry>Fast</entry> |
16606
7a06ad5c5b2c
the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents:
16605
diff
changeset
|
3044 <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
|
3045 <entry>42fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3046 <entry>-0.74dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3047 </row> |
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 <entry>Realtime</entry> |
16606
7a06ad5c5b2c
the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents:
16605
diff
changeset
|
3050 <entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3051 <entry>54fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3052 <entry>-1.21dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3053 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3054 </tbody> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3055 </tgroup> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3056 </informaltable> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3057 </para> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3058 </sect2> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3059 |
21521 | 3060 <!-- ********** --> |
3061 | |
3062 <sect2 id="custommatrices"> | |
3063 <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
|
3064 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3065 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3066 With this feature of |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3067 <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3068 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
|
3069 (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
|
3070 <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
|
3071 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
|
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 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3074 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3075 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
|
3076 <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
|
3077 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3078 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3079 <para> |
21596 | 3080 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
|
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 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3083 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3084 Intra: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3085 <screen> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3086 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
|
3087 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
|
3088 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
|
3089 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
|
3090 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
|
3091 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
|
3092 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
|
3093 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
|
3094 </screen> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3095 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3096 Inter: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3097 <screen> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3098 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
|
3099 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
|
3100 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
|
3101 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
|
3102 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
|
3103 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
|
3104 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
|
3105 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
|
3106 </screen> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3107 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3108 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3109 <para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3110 Usage: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3111 <screen> |
21521 | 3112 mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc \ |
3113 -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
|
3114 </screen> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3115 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3116 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3117 <para> |
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> -ovc lavc -lavcopts \ |
3120 vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,\ | |
3121 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,\ | |
3122 29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79\ | |
3123 :inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,\ | |
3124 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
|
3125 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
|
3126 </screen> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3127 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3128 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3129 |
21521 | 3130 <!-- ********** --> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3131 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3132 <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
|
3133 <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
|
3134 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3135 <para> |
21521 | 3136 So, you have just bought your shiny new copy of Harry Potter and the Chamber |
3137 of Secrets (widescreen edition, of course), and you want to rip this DVD | |
3138 so that you can add it to your Home Theatre PC. This is a region 1 DVD, | |
3139 so it is NTSC. The example below will still apply to PAL, except you will | |
3140 omit <option>-ofps 24000/1001</option> (because the output framerate is the | |
3141 same as the input framerate), and of course the crop dimensions will be | |
3142 different. | |
3143 </para> | |
3144 | |
3145 <para> | |
3146 After running <option>mplayer dvd://1</option>, we follow the process | |
3147 detailed in the section <link linkend="menc-feat-telecine">How to deal | |
3148 with telecine and interlacing in NTSC DVDs</link> and discover that it is | |
3149 24000/1001 fps progressive video, which means that we need not use an inverse | |
3150 telecine filter, such as <option>pullup</option> or | |
3151 <option>filmdint</option>. | |
3152 </para> | |
3153 | |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
3154 <para id="menc-feat-dvd-mpeg4-example-crop"> |
21521 | 3155 Next, we want to determine the appropriate crop rectangle, so we use the |
3156 cropdetect filter: | |
3157 <screen>mplayer dvd://1 -vf cropdetect</screen> | |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
3158 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
|
3159 past the opening credits and logos), and |
21521 | 3160 you will see in <application>MPlayer</application>'s console output: |
3161 <screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen> | |
3162 We then play the movie back with this filter to test its correctness: | |
3163 <screen>mplayer dvd://1 -vf crop=720:362:0:58</screen> | |
3164 And we see that it looks perfectly fine. Next, we ensure the width and | |
3165 height are a multiple of 16. The width is fine, however the height is | |
3166 not. Since we did not fail 7th grade math, we know that the nearest | |
3167 multiple of 16 lower than 362 is 352. | |
3168 </para> | |
3169 | |
3170 <para> | |
3171 We could just use <option>crop=720:352:0:58</option>, but it would be nice | |
3172 to take a little off the top and a little off the bottom so that we | |
3173 retain the center. We have shrunk the height by 10 pixels, but we do not | |
3174 want to increase the y-offset by 5-pixels since that is an odd number and | |
3175 will adversely affect quality. Instead, we will increase the y-offset by | |
3176 4 pixels: | |
3177 <screen>mplayer dvd://1 -vf crop=720:352:0:62</screen> | |
3178 Another reason to shave pixels from both the top and the bottom is that we | |
3179 ensure we have eliminated any half-black pixels if they exist. Note that if | |
3180 your video is telecined, make sure the <option>pullup</option> filter (or | |
3181 whichever inverse telecine filter you decide to use) appears in the filter | |
3182 chain before you crop. If it is interlaced, deinterlace before cropping. | |
3183 (If you choose to preserve the interlaced video, then make sure your | |
3184 vertical crop offset is a multiple of 4.) | |
3185 </para> | |
3186 | |
3187 <para> | |
3188 If you are really concerned about losing those 10 pixels, you might | |
3189 prefer instead to scale the dimensions down to the nearest multiple of 16. | |
3190 The filter chain would look like: | |
3191 <screen>-vf crop=720:362:0:58,scale=720:352</screen> | |
3192 Scaling the video down like this will mean that some small amount of | |
3193 detail is lost, though it probably will not be perceptible. Scaling up will | |
3194 result in lower quality (unless you increase the bitrate). Cropping | |
3195 discards those pixels altogether. It is a tradeoff that you will want to | |
3196 consider for each circumstance. For example, if the DVD video was made | |
3197 for television, you might want to avoid vertical scaling, since the line | |
3198 sampling corresponds to the way the content was originally recorded. | |
3199 </para> | |
3200 | |
3201 <para> | |
3202 On inspection, we see that our movie has a fair bit of action and high | |
3203 amounts of detail, so we pick 2400Kbit for our bitrate. | |
3204 </para> | |
3205 | |
3206 <para> | |
3207 We are now ready to do the two pass encode. Pass one: | |
3208 <screen> | |
3209 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
|
3210 -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=1 \ |
21521 | 3211 -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 |
3212 </screen> | |
3213 And pass two is the same, except that we specify <option>vpass=2</option>: | |
3214 <screen> | |
3215 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
|
3216 -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=2 \ |
21521 | 3217 -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 |
3218 </screen> | |
3219 </para> | |
3220 | |
3221 <para> | |
3222 The options <option>v4mv:mbd=2:trell</option> will greatly increase the | |
3223 quality at the expense of encoding time. There is little reason to leave | |
3224 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
|
3225 <option>cmp=3:subcmp=3</option> select a comparison function that |
21521 | 3226 yields higher quality than the defaults. You might try experimenting with |
3227 this parameter (refer to the man page for the possible values) as | |
3228 different functions can have a large impact on quality depending on the | |
3229 source material. For example, if you find | |
3230 <systemitem class="library">libavcodec</systemitem> produces too much | |
3231 blocky artifacting, you could try selecting the experimental NSSE as | |
3232 comparison function via <option>*cmp=10</option>. | |
3233 </para> | |
3234 | |
3235 <para> | |
3236 For this movie, the resulting AVI will be 138 minutes long and nearly | |
3237 3GB. And because you said that file size does not matter, this is a | |
3238 perfectly acceptable size. However, if you had wanted it smaller, you | |
3239 could try a lower bitrate. Increasing bitrates have diminishing | |
3240 returns, so while we might clearly see an improvement from 1800Kbit to | |
3241 2000Kbit, it might not be so noticeable above 2000Kbit. Feel | |
3242 free to experiment until you are happy. | |
3243 </para> | |
3244 | |
3245 <para> | |
3246 Because we passed the source video through a denoise filter, you may want | |
3247 to add some of it back during playback. This, along with the | |
3248 <option>spp</option> post-processing filter, drastically improves the | |
3249 perception of quality and helps eliminate blocky artifacts in the video. | |
3250 With <application>MPlayer</application>'s <option>autoq</option> option, | |
3251 you can vary the amount of post-processing done by the spp filter | |
3252 depending on available CPU. Also, at this point, you may want to apply | |
3253 gamma and/or color correction to best suit your display. For example: | |
3254 <screen> | |
3255 mplayer <replaceable>Harry_Potter_2.avi</replaceable> -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3 | |
3256 </screen> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3257 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3258 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3259 </sect1> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3260 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3261 |
21521 | 3262 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> |
3263 | |
3264 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3265 <sect1 id="menc-feat-xvid"> |
20860 | 3266 <title>Encoding with the <systemitem class="library">Xvid</systemitem> |
21521 | 3267 codec</title> |
3268 | |
3269 <para> | |
3270 <systemitem class="library">Xvid</systemitem> is a free library for | |
3271 encoding MPEG-4 ASP video streams. | |
3272 Before starting to encode, you need to <link linkend="xvid"> | |
3273 set up <application>MEncoder</application> to support it</link>. | |
3274 </para> | |
3275 | |
3276 <para> | |
3277 This guide mainly aims at featuring the same kind of information | |
3278 as x264's encoding guide. | |
3279 Therefore, please begin by reading | |
3280 <link linkend="menc-feat-x264-encoding-options-intro">the first part</link> | |
3281 of that guide. | |
3282 </para> | |
3283 | |
3284 <!-- ********** --> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3285 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3286 <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
|
3287 <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
|
3288 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3289 <para> |
21521 | 3290 Please begin by reviewing the |
3291 <systemitem class="library">Xvid</systemitem> section of | |
3292 <application>MPlayer</application>'s man page. | |
3293 This section is intended to be a supplement to the man page. | |
3294 </para> | |
3295 | |
3296 <para> | |
3297 The Xvid default settings are already a good tradeoff between | |
3298 speed and quality, therefore you can safely stick to them if | |
3299 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
|
3300 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3301 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3302 |
21521 | 3303 <!-- ********** --> |
3304 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3305 <sect2 id="menc-feat-xvid-encoding-options"> |
20860 | 3306 <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
|
3307 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3308 <itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3309 <listitem><para> |
21521 | 3310 <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
|
3311 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
|
3312 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
|
3313 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
|
3314 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
|
3315 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
|
3316 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
|
3317 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
|
3318 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
|
3319 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
|
3320 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3321 <listitem><para> |
21521 | 3322 <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
|
3323 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
|
3324 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
|
3325 (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
|
3326 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3327 <listitem><para> |
21521 | 3328 <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
|
3329 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
|
3330 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
|
3331 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
|
3332 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
|
3333 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
|
3334 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
|
3335 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
|
3336 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
|
3337 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3338 <listitem><para> |
21521 | 3339 <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
|
3340 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
|
3341 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
|
3342 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
|
3343 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
|
3344 <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
|
3345 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
|
3346 <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
|
3347 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
|
3348 need them. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3349 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
|
3350 <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
|
3351 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
|
3352 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
|
3353 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
|
3354 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
|
3355 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
|
3356 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
|
3357 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3358 <listitem><para> |
21521 | 3359 <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
|
3360 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
|
3361 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
|
3362 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
|
3363 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
|
3364 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
|
3365 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
|
3366 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
|
3367 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
|
3368 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3369 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3370 <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
|
3371 Activates a better coefficient cost estimation method, which slightly |
16605 | 3372 reduces filesize by around 0.15 to 0.19% (which corresponds to less |
3373 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
|
3374 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
|
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">cartoon</emphasis> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3378 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
|
3379 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
|
3380 of content. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3381 </para></listitem> |
21521 | 3382 <listitem> |
3383 <para> | |
3384 <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
|
3385 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
|
3386 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
|
3387 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
|
3388 better the resulting clip will capture the original motion. |
21521 | 3389 </para> |
3390 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3391 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
|
3392 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
|
3393 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
|
3394 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
|
3395 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
|
3396 resort. |
21521 | 3397 </para> |
3398 </listitem> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3399 <listitem><para> |
21521 | 3400 <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
|
3401 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
|
3402 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
|
3403 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
|
3404 This slows down encoding by 5-10% but improves visual quality |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3405 quite a bit by reducing blocking effects and reduces filesize by |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3406 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
|
3407 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
|
3408 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
|
3409 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3410 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3411 <emphasis role="bold">chroma_opt</emphasis> |
21521 | 3412 Is intended to increase chroma image quality around pure |
3413 white/black edges, rather than improving compression. | |
3414 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
|
3415 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3416 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3417 <emphasis role="bold">lumi_mask</emphasis> |
21521 | 3418 Tries to give less bitrate to part of the picture that the |
3419 human eye cannot see very well, which should allow the encoder | |
3420 to spend the saved bits on more important parts of the picture. | |
3421 The quality of the encode yielded by this option highly depends | |
3422 on personal preferences and on the type and monitor settings | |
3423 used to watch it (typically, it will not look as good if it is | |
3424 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
|
3425 </para></listitem> |
21521 | 3426 <listitem> |
3427 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3428 <emphasis role="bold">qpel</emphasis> |
21521 | 3429 Raise the number of candidate motion vectors by increasing |
3430 the precision of the motion estimation from halfpel to | |
3431 quarterpel. | |
3432 The idea is to find better motion vectors which will in return | |
3433 reduce bitrate (hence increasing quality). | |
3434 However, motion vectors with quarterpel precision require a | |
3435 few extra bits to code, but the candidate vectors do not always | |
3436 give (much) better results. | |
3437 Quite often, the codec still spends bits on the extra precision, | |
3438 but little or no extra quality is gained in return. | |
3439 Unfortunately, there is no way to foresee the possible gains of | |
3440 <option>qpel</option>, so you need to actually encode with and | |
3441 without it to know for sure. | |
3442 </para> | |
3443 <para> | |
3444 <option>qpel</option> can be almost double encoding time, and | |
3445 requires as much as 25% more processing power to decode. | |
3446 It is not supported by all standalone players. | |
3447 </para> | |
3448 </listitem> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3449 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3450 <emphasis role="bold">gmc</emphasis> |
21521 | 3451 Tries to save bits on panning scenes by using a single motion |
3452 vector for the whole frame. | |
3453 This almost always raises PSNR, but significantly slows down | |
3454 encoding (as well as decoding). | |
3455 Therefore, you should only use it when you have turned | |
3456 <option>vhq</option> to the maximum. | |
3457 <systemitem class="library">Xvid</systemitem>'s GMC is more | |
3458 sophisticated than DivX's, but is only supported by few | |
3459 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
|
3460 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3461 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3462 </sect2> |
16486
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3463 |
21521 | 3464 <!-- ********** --> |
3465 | |
16486
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3466 <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
|
3467 <title>Encoding profiles</title> |
21521 | 3468 |
3469 <para> | |
3470 Xvid supports encoding profiles through the <option>profile</option> option, | |
3471 which are used to impose restrictions on the properties of the Xvid video | |
3472 stream such that it will be playable on anything which supports the | |
3473 chosen profile. | |
3474 The restrictions relate to resolutions, bitrates and certain MPEG-4 | |
3475 features. | |
3476 The following table shows what each profile supports. | |
3477 </para> | |
3478 | |
16486
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3479 <informaltable> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3480 <tgroup cols="16" align="center"> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3481 <colspec colnum="1" colname="col1"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3482 <colspec colnum="2" colname="col2"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3483 <colspec colnum="3" colname="col3"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3484 <colspec colnum="4" colname="col4"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3485 <colspec colnum="5" colname="col5"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3486 <colspec colnum="6" colname="col6"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3487 <colspec colnum="7" colname="col7"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3488 <colspec colnum="8" colname="col8"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3489 <colspec colnum="9" colname="col9"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3490 <colspec colnum="10" colname="col10"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3491 <colspec colnum="11" colname="col11"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3492 <colspec colnum="12" colname="col12"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3493 <colspec colnum="13" colname="col13"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3494 <colspec colnum="14" colname="col14"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3495 <colspec colnum="15" colname="col15"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3496 <colspec colnum="16" colname="col16"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3497 <colspec colnum="17" colname="col17"/> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3498 <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
|
3499 <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
|
3500 <spanspec spanname="spa12-17" namest="col12" nameend="col17"/> |
21521 | 3501 <tbody> |
3502 <row> | |
3503 <entry></entry> | |
3504 <entry spanname="spa2-5">Simple</entry> | |
3505 <entry spanname="spa6-11">Advanced Simple</entry> | |
3506 <entry spanname="spa12-17">DivX</entry> | |
3507 </row> | |
3508 <row> | |
3509 <entry>Profile name</entry> | |
3510 <entry>0</entry> | |
3511 <entry>1</entry> | |
3512 <entry>2</entry> | |
3513 <entry>3</entry> | |
3514 <entry>0</entry> | |
3515 <entry>1</entry> | |
3516 <entry>2</entry> | |
3517 <entry>3</entry> | |
3518 <entry>4</entry> | |
3519 <entry>5</entry> | |
3520 <entry>Handheld</entry> | |
3521 <entry>Portable NTSC</entry> | |
3522 <entry>Portable PAL</entry> | |
3523 <entry>Home Theater NTSC</entry> | |
3524 <entry>Home Theater PAL</entry> | |
3525 <entry>HDTV</entry> | |
3526 </row> | |
3527 <row> | |
3528 <entry>Width [pixels]</entry> | |
3529 <entry>176</entry> | |
3530 <entry>176</entry> | |
3531 <entry>352</entry> | |
3532 <entry>352</entry> | |
3533 <entry>176</entry> | |
3534 <entry>176</entry> | |
3535 <entry>352</entry> | |
3536 <entry>352</entry> | |
3537 <entry>352</entry> | |
3538 <entry>720</entry> | |
3539 <entry>176</entry> | |
3540 <entry>352</entry> | |
3541 <entry>352</entry> | |
3542 <entry>720</entry> | |
3543 <entry>720</entry> | |
3544 <entry>1280</entry> | |
3545 </row> | |
3546 <row> | |
3547 <entry>Height [pixels]</entry> | |
3548 <entry>144</entry> | |
3549 <entry>144</entry> | |
3550 <entry>288</entry> | |
3551 <entry>288</entry> | |
3552 <entry>144</entry> | |
3553 <entry>144</entry> | |
3554 <entry>288</entry> | |
3555 <entry>288</entry> | |
3556 <entry>576</entry> | |
3557 <entry>576</entry> | |
3558 <entry>144</entry> | |
3559 <entry>240</entry> | |
3560 <entry>288</entry> | |
3561 <entry>480</entry> | |
3562 <entry>576</entry> | |
3563 <entry>720</entry> | |
3564 </row> | |
3565 <row> | |
3566 <entry>Frame rate [fps]</entry> | |
3567 <entry>15</entry> | |
3568 <entry>15</entry> | |
3569 <entry>15</entry> | |
3570 <entry>15</entry> | |
3571 <entry>30</entry> | |
3572 <entry>30</entry> | |
3573 <entry>15</entry> | |
3574 <entry>30</entry> | |
3575 <entry>30</entry> | |
3576 <entry>30</entry> | |
3577 <entry>15</entry> | |
3578 <entry>30</entry> | |
3579 <entry>25</entry> | |
3580 <entry>30</entry> | |
3581 <entry>25</entry> | |
3582 <entry>30</entry> | |
3583 </row> | |
3584 <row> | |
3585 <entry>Max average bitrate [kbps]</entry> | |
3586 <entry>64</entry> | |
3587 <entry>64</entry> | |
3588 <entry>128</entry> | |
3589 <entry>384</entry> | |
3590 <entry>128</entry> | |
3591 <entry>128</entry> | |
3592 <entry>384</entry> | |
3593 <entry>768</entry> | |
3594 <entry>3000</entry> | |
3595 <entry>8000</entry> | |
3596 <entry>537.6</entry> | |
3597 <entry>4854</entry> | |
3598 <entry>4854</entry> | |
3599 <entry>4854</entry> | |
3600 <entry>4854</entry> | |
3601 <entry>9708.4</entry> | |
3602 </row> | |
3603 <row> | |
3604 <entry>Peak average bitrate over 3 secs [kbps]</entry> | |
3605 <entry></entry> | |
3606 <entry></entry> | |
3607 <entry></entry> | |
3608 <entry></entry> | |
3609 <entry></entry> | |
3610 <entry></entry> | |
3611 <entry></entry> | |
3612 <entry></entry> | |
3613 <entry></entry> | |
3614 <entry></entry> | |
3615 <entry>800</entry> | |
3616 <entry>8000</entry> | |
3617 <entry>8000</entry> | |
3618 <entry>8000</entry> | |
3619 <entry>8000</entry> | |
3620 <entry>16000</entry> | |
3621 </row> | |
3622 <row> | |
3623 <entry>Max. B-frames</entry> | |
3624 <entry>0</entry> | |
3625 <entry>0</entry> | |
3626 <entry>0</entry> | |
3627 <entry>0</entry> | |
3628 <entry></entry> | |
3629 <entry></entry> | |
3630 <entry></entry> | |
3631 <entry></entry> | |
3632 <entry></entry> | |
3633 <entry></entry> | |
3634 <entry>0</entry> | |
3635 <entry>1</entry> | |
3636 <entry>1</entry> | |
3637 <entry>1</entry> | |
3638 <entry>1</entry> | |
3639 <entry>2</entry> | |
3640 </row> | |
3641 <row> | |
3642 <entry>MPEG quantization</entry> | |
3643 <entry></entry> | |
3644 <entry></entry> | |
3645 <entry></entry> | |
3646 <entry></entry> | |
3647 <entry>X</entry> | |
3648 <entry>X</entry> | |
3649 <entry>X</entry> | |
3650 <entry>X</entry> | |
3651 <entry>X</entry> | |
3652 <entry>X</entry> | |
3653 <entry></entry> | |
3654 <entry></entry> | |
3655 <entry></entry> | |
3656 <entry></entry> | |
3657 <entry></entry> | |
3658 <entry></entry> | |
3659 </row> | |
3660 <row> | |
3661 <entry>Adaptive quantization</entry> | |
3662 <entry></entry> | |
3663 <entry></entry> | |
3664 <entry></entry> | |
3665 <entry></entry> | |
3666 <entry>X</entry> | |
3667 <entry>X</entry> | |
3668 <entry>X</entry> | |
3669 <entry>X</entry> | |
3670 <entry>X</entry> | |
3671 <entry>X</entry> | |
3672 <entry>X</entry> | |
3673 <entry>X</entry> | |
3674 <entry>X</entry> | |
3675 <entry>X</entry> | |
3676 <entry>X</entry> | |
3677 <entry>X</entry> | |
3678 </row> | |
3679 <row> | |
3680 <entry>Interlaced encoding</entry> | |
3681 <entry></entry> | |
3682 <entry></entry> | |
3683 <entry></entry> | |
3684 <entry></entry> | |
3685 <entry>X</entry> | |
3686 <entry>X</entry> | |
3687 <entry>X</entry> | |
3688 <entry>X</entry> | |
3689 <entry>X</entry> | |
3690 <entry>X</entry> | |
3691 <entry></entry> | |
3692 <entry></entry> | |
3693 <entry></entry> | |
3694 <entry>X</entry> | |
3695 <entry>X</entry> | |
3696 <entry>X</entry> | |
3697 </row> | |
3698 <row> | |
3699 <entry>Quaterpixel</entry> | |
3700 <entry></entry> | |
3701 <entry></entry> | |
3702 <entry></entry> | |
3703 <entry></entry> | |
3704 <entry>X</entry> | |
3705 <entry>X</entry> | |
3706 <entry>X</entry> | |
3707 <entry>X</entry> | |
3708 <entry>X</entry> | |
3709 <entry>X</entry> | |
3710 <entry></entry> | |
3711 <entry></entry> | |
3712 <entry></entry> | |
3713 <entry></entry> | |
3714 <entry></entry> | |
3715 <entry></entry> | |
3716 </row> | |
3717 <row> | |
3718 <entry>Global motion compensation</entry> | |
3719 <entry></entry> | |
3720 <entry></entry> | |
3721 <entry></entry> | |
3722 <entry></entry> | |
3723 <entry>X</entry> | |
3724 <entry>X</entry> | |
3725 <entry>X</entry> | |
3726 <entry>X</entry> | |
3727 <entry>X</entry> | |
3728 <entry>X</entry> | |
3729 <entry></entry> | |
3730 <entry></entry> | |
3731 <entry></entry> | |
3732 <entry></entry> | |
3733 <entry></entry> | |
3734 <entry></entry> | |
3735 </row> | |
3736 </tbody> | |
16486
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3737 </tgroup> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3738 </informaltable> |
e017e67b8660
Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents:
16420
diff
changeset
|
3739 </sect2> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3740 |
21521 | 3741 <!-- ********** --> |
3742 | |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3743 <sect2 id="menc-feat-xvid-example-settings"> |
16599 | 3744 <title>Encoding setting examples</title> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3745 |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3746 <para> |
21521 | 3747 The following settings are examples of different encoding |
3748 option combinations that affect the speed vs quality tradeoff | |
3749 at the same target bitrate. | |
3750 </para> | |
3751 | |
3752 <para> | |
3753 All the encoding settings were tested on a 720x448 @30000/1001 fps | |
3754 video sample, the target bitrate was 900kbps, and the machine was an | |
3755 AMD-64 3400+ at 2400 MHz in 64 bits mode. | |
3756 Each encoding setting features the measured encoding speed (in | |
3757 frames per second) and the PSNR loss (in dB) compared to the "very | |
3758 high quality" setting. | |
3759 Please understand that depending on your source, your machine type | |
3760 and development advancements, you may get very different results. | |
3761 </para> | |
3762 | |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3763 <informaltable frame="all"> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3764 <tgroup cols="4"> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3765 <thead> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3766 <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
|
3767 </thead> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3768 <tbody> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3769 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3770 <entry>Very high quality</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3771 <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
|
3772 <entry>16fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3773 <entry>0dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3774 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3775 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3776 <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
|
3777 <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
|
3778 <entry>18fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3779 <entry>-0.1dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3780 </row> |
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 <entry>Fast</entry> |
16606
7a06ad5c5b2c
the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents:
16605
diff
changeset
|
3783 <entry><option>turbo:vhq=0</option></entry> |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3784 <entry>28fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3785 <entry>-0.69dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3786 </row> |
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 <entry>Realtime</entry> |
16606
7a06ad5c5b2c
the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents:
16605
diff
changeset
|
3789 <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
|
3790 <entry>38fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3791 <entry>-1.48dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3792 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3793 </tbody> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3794 </tgroup> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3795 </informaltable> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
3796 </sect2> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3797 </sect1> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3798 |
21521 | 3799 |
3800 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
3801 | |
3802 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3803 <sect1 id="menc-feat-x264"> |
21521 | 3804 <title>Encoding with the |
3805 <systemitem class="library">x264</systemitem> codec</title> | |
3806 | |
3807 <para> | |
3808 <systemitem class="library">x264</systemitem> is a free library for | |
3809 encoding H.264/AVC video streams. | |
3810 Before starting to encode, you need to | |
3811 <link linkend="codec-x264-encode">set up <application>MEncoder</application> to support it</link>. | |
3812 </para> | |
3813 | |
3814 <!-- ********** --> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3815 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3816 <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
|
3817 <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
|
3818 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3819 <para> |
21521 | 3820 Please begin by reviewing the |
3821 <systemitem class="library">x264</systemitem> section of | |
3822 <application>MPlayer</application>'s man page. | |
3823 This section is intended to be a supplement to the man page. | |
3824 Here you will find quick hints about which options are most | |
3825 likely to interest most people. The man page is more terse, | |
3826 but also more exhaustive, and it sometimes offers much better | |
3827 technical detail. | |
3828 </para> | |
3829 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3830 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3831 <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
|
3832 <title>Introduction</title> |
21521 | 3833 |
3834 <para> | |
3835 This guide considers two major categories of encoding options: | |
3836 </para> | |
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 <orderedlist> |
21521 | 3839 <listitem><para> |
3840 Options which mainly trade off encoding time vs. quality | |
3841 </para></listitem> | |
3842 <listitem><para> | |
3843 Options which may be useful for fulfilling various personal | |
3844 preferences and special requirements | |
3845 </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
|
3846 </orderedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3847 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3848 <para> |
21521 | 3849 Ultimately, only you can decide which options are best for your |
3850 purposes. The decision for the first class of options is the simplest: | |
3851 you only have to decide whether you think the quality differences | |
3852 justify the speed differences. For the second class of options, | |
3853 preferences may be far more subjective, and more factors may be | |
21596 | 3854 involved. Note that some of the "personal preferences and special |
3855 requirements" options can still have large impacts on speed or quality, | |
21521 | 3856 but that is not what they are primarily useful for. A couple of the |
21596 | 3857 "personal preference" options may even cause changes that look better |
21521 | 3858 to some people, but look worse to others. |
3859 </para> | |
3860 | |
3861 <para> | |
3862 Before continuing, you need to understand that this guide uses only one | |
3863 quality metric: global PSNR. | |
3864 For a brief explanation of what PSNR is, see | |
3865 <ulink url="http://en.wikipedia.org/wiki/PSNR">the Wikipedia article on PSNR</ulink>. | |
3866 Global PSNR is the last PSNR number reported when you include | |
3867 the <option>psnr</option> option in <option>x264encopts</option>. | |
3868 Any time you read a claim about PSNR, one of the assumptions | |
3869 behind the claim is that equal bitrates are used. | |
3870 </para> | |
3871 | |
3872 <para> | |
3873 Nearly all of this guide's comments assume you are using two pass. | |
3874 When comparing options, there are two major reasons for using | |
3875 two pass encoding. | |
3876 First, using two pass often gains around 1dB PSNR, which is a | |
3877 very big difference. | |
3878 Secondly, testing options by doing direct quality comparisons | |
3879 with one pass encodes introduces a major confounding | |
3880 factor: bitrate often varies significantly with each encode. | |
3881 It is not always easy to tell whether quality changes are due | |
3882 mainly to changed options, or if they mostly reflect essentially | |
3883 random differences in the achieved bitrate. | |
3884 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3885 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3886 |
21521 | 3887 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3888 <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
|
3889 <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
|
3890 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3891 <itemizedlist> |
21521 | 3892 <listitem> |
3893 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3894 <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
|
3895 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
|
3896 <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
|
3897 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
|
3898 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
|
3899 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
|
3900 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
|
3901 <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
|
3902 strongly. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3903 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
|
3904 <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
|
3905 <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
|
3906 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
|
3907 <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
|
3908 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
|
3909 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
|
3910 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
|
3911 This is usually enough to be visible. |
21521 | 3912 </para> |
3913 <para> | |
21913 | 3914 <option>subq=6</option> is slower and yields better quality at a reasonable |
3915 cost. | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3916 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
|
3917 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
|
3918 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
|
3919 <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
|
3920 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
|
3921 </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
|
3922 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
|
3923 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
|
3924 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
|
3925 <option>bframes</option> to something other than zero (see below). |
21521 | 3926 </para> |
21913 | 3927 <para> |
3928 <option>subq=7</option> is the slowest, highest quality mode. | |
3929 In comparison to <option>subq=6</option>, it usually gains 0.01-0.05 dB | |
3930 global PSNR with speed costs varying from 15%-33%. | |
3931 Since the tradeoff encoding time vs. quality is quite low, you should | |
3932 only use it if you are after every bit saving and if encoding time is | |
3933 not an issue. | |
3934 </para> | |
21521 | 3935 </listitem> |
3936 <listitem> | |
3937 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3938 <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
|
3939 <option>frameref</option> is set to 1 by default, but this |
21521 | 3940 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
|
3941 Merely raising <option>frameref</option> to 2 gains around |
21521 | 3942 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
|
3943 <option>frameref=3</option> gains around 0.25dB PSNR over |
21521 | 3944 <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
|
3945 <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
|
3946 <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
|
3947 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
|
3948 <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
|
3949 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
|
3950 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
|
3951 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
|
3952 usually very small (although you should keep in mind throughout |
21521 | 3953 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
|
3954 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
|
3955 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
|
3956 <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
|
3957 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
|
3958 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
|
3959 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
|
3960 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
|
3961 measurable, let alone perceptible. |
21521 | 3962 </para> |
3963 <note><title>Note:</title> | |
3964 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3965 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
|
3966 <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
|
3967 <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
|
3968 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
|
3969 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
|
3970 <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
|
3971 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
|
3972 the possibility altogether. |
21521 | 3973 </para></note> |
3974 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3975 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
|
3976 <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
|
3977 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
|
3978 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
|
3979 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
|
3980 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
|
3981 However, different values of <option>frameref</option> can |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3982 occasionally affect frametype decision. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3983 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
|
3984 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
|
3985 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
|
3986 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
|
3987 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
|
3988 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
|
3989 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
|
3990 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
|
3991 <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
|
3992 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
|
3993 but it does sometimes come up in video game captures. |
21521 | 3994 </para> |
3995 </listitem> | |
3996 <listitem> | |
3997 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
3998 <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
|
3999 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
|
4000 Altering this option provides a straightforward quality-vs-speed |
20254
beca75a03355
Update x264 option names that changed with r20060
gpoirier
parents:
20037
diff
changeset
|
4001 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
|
4002 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
|
4003 default setting (<option>me=hex</option>) is a reasonable tradeoff |
beca75a03355
Update x264 option names that changed with r20060
gpoirier
parents:
20037
diff
changeset
|
4004 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
|
4005 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
|
4006 <option>frameref</option>. At high values of |
20254
beca75a03355
Update x264 option names that changed with r20060
gpoirier
parents:
20037
diff
changeset
|
4007 <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
|
4008 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
|
4009 <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
|
4010 25%-30%. |
21521 | 4011 </para> |
4012 <para> | |
20254
beca75a03355
Update x264 option names that changed with r20060
gpoirier
parents:
20037
diff
changeset
|
4013 <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
|
4014 practical use. |
21521 | 4015 </para> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4016 </listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4017 <listitem><para> |
20271 | 4018 <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
|
4019 This option enables the use of 8x4, 4x8 and 4x4 subpartitions in |
20271 | 4020 predicted macroblocks (in addition to the default partitions). |
4021 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
|
4022 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
|
4023 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
|
4024 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
|
4025 about 0.1dB can be expected. |
21521 | 4026 </para></listitem> |
4027 <listitem> | |
4028 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4029 <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
|
4030 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
|
4031 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
|
4032 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
|
4033 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
|
4034 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
|
4035 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
|
4036 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
|
4037 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
|
4038 pass encode if adaptive B-frame decision is turned off. |
21521 | 4039 </para> |
4040 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4041 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
|
4042 (<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
|
4043 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
|
4044 <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
|
4045 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
|
4046 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
|
4047 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
|
4048 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
|
4049 setting this option any higher will have little effect. |
21521 | 4050 </para> |
4051 </listitem> | |
4052 <listitem> | |
4053 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4054 <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
|
4055 Note: This is on by default. |
21521 | 4056 </para> |
4057 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4058 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
|
4059 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
|
4060 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
|
4061 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
|
4062 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
|
4063 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
|
4064 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
|
4065 It usually does not hurt, however. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4066 Note that this only affects speed and frametype decision on the |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4067 first pass. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4068 <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
|
4069 effect on subsequent passes. |
21521 | 4070 </para> |
4071 </listitem> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4072 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4073 <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
|
4074 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
|
4075 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
|
4076 speed cost. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4077 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
|
4078 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
|
4079 </para></listitem> |
21521 | 4080 <listitem> |
4081 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4082 <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
|
4083 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
|
4084 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
|
4085 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
|
4086 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
|
4087 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
|
4088 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
|
4089 B-frames. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4090 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
|
4091 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
|
4092 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
|
4093 all else being equal. |
21521 | 4094 </para> |
4095 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4096 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
|
4097 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
|
4098 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
|
4099 <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
|
4100 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
|
4101 clip. |
21521 | 4102 </para> |
4103 </listitem> | |
21914
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4104 <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
|
4105 <para> |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4106 <emphasis role="bold">threads</emphasis>: |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4107 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
|
4108 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
|
4109 <option>threads=auto</option> and let |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4110 <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
|
4111 available and pick an appropriate number of threads. |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4112 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
|
4113 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
|
4114 (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
|
4115 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
|
4116 </para> |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4117 </listitem> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4118 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4119 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4120 |
21521 | 4121 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4122 <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
|
4123 <title>Options pertaining to miscellaneous preferences</title> |
21521 | 4124 |
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> |
21521 | 4126 <listitem> |
4127 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4128 <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
|
4129 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
|
4130 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
|
4131 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
|
4132 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
|
4133 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
|
4134 twice as slow. |
21521 | 4135 </para> |
4136 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4137 Still, there are very good reasons for using two pass encoding. For |
16340 | 4138 one thing, single pass ratecontrol is not psychic, and it often makes |
4139 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
|
4140 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
|
4141 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
|
4142 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
|
4143 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
|
4144 that looks good at 300kbps. Suppose you ask for 1400kbps on the theory |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4145 that this is enough to accomodate both scenes. Single pass ratecontrol |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4146 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
|
4147 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
|
4148 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
|
4149 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
|
4150 perfect, but the bitrate cost of that perfection will be completely |
16340 | 4151 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
|
4152 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
|
4153 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
|
4154 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
|
4155 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
|
4156 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
|
4157 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
|
4158 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
|
4159 increase bitrate misprediction. |
21521 | 4160 </para> |
4161 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4162 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
|
4163 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
|
4164 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
|
4165 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
|
4166 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
|
4167 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
|
4168 <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
|
4169 allocation to your liking. |
21521 | 4170 </para> |
4171 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4172 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
|
4173 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
|
4174 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
|
4175 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
|
4176 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
|
4177 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
|
4178 <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
|
4179 <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
|
4180 higher-quality options: |
20271 | 4181 <option>subq=6:frameref=15:partitions=all:me=umh</option> |
21521 | 4182 </para> |
4183 </listitem> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4184 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4185 <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
|
4186 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
|
4187 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
|
4188 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
|
4189 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
|
4190 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
|
4191 a very good base from which to make highly accurate predictions of |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4192 framesizes at a chosen quantizer. In practice, the overall quality |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4193 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
|
4194 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
|
4195 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
|
4196 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
|
4197 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
|
4198 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
|
4199 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
|
4200 special cases. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4201 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4202 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4203 <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
|
4204 <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
|
4205 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
|
4206 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
|
4207 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
|
4208 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
|
4209 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
|
4210 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
|
4211 <option>qcomp=1</option> achieves nearly constant quantization parameter |
16340 | 4212 (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
|
4213 reasonable to shave some bitrate off of the extremely expensive scenes |
16340 | 4214 (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
|
4215 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
|
4216 <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
|
4217 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
|
4218 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4219 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4220 <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
|
4221 <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
|
4222 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
|
4223 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
|
4224 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
|
4225 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
|
4226 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
|
4227 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
|
4228 (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
|
4229 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
|
4230 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
|
4231 </para></listitem> |
21521 | 4232 <listitem> |
4233 <para> | |
20254
beca75a03355
Update x264 option names that changed with r20060
gpoirier
parents:
20037
diff
changeset
|
4234 <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
|
4235 This topic is going to be a bit controversial. |
21521 | 4236 </para> |
4237 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4238 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
|
4239 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
|
4240 in question. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4241 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
|
4242 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
|
4243 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
|
4244 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
|
4245 video you are trying to encode. |
21521 | 4246 The <option>deblock</option> allow you to specify offsets to the preset |
4247 deblocking thresholds. | |
4248 </para> | |
4249 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4250 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
|
4251 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
|
4252 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
|
4253 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
|
4254 deblocking works by default. |
21521 | 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 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
|
4258 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
|
4259 PSNR-optimal. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4260 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
|
4261 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
|
4262 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
|
4263 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
|
4264 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
|
4265 filter will increase the appearance of blockiness. |
21521 | 4266 </para> |
4267 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4268 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
|
4269 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
|
4270 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
|
4271 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
|
4272 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
|
4273 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
|
4274 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
|
4275 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
|
4276 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
|
4277 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
|
4278 represented. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4279 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
|
4280 interchangeable. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4281 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
|
4282 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
|
4283 not notice because it confuses the artifacts with detail. |
21521 | 4284 </para> |
4285 <para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4286 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
|
4287 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
|
4288 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
|
4289 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
|
4290 <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
|
4291 <option>-vf noise=8a:4a</option> should conceal most mild |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4292 artifacting. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4293 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
|
4294 would have gotten just by fiddling with the deblocking filter. |
21521 | 4295 </para> |
4296 </listitem> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4297 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4298 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4299 </sect2> |
16277 | 4300 |
21521 | 4301 <!-- ********** --> |
4302 | |
16277 | 4303 <sect2 id="menc-feat-x264-example-settings"> |
16599 | 4304 <title>Encoding setting examples</title> |
16277 | 4305 |
4306 <para> | |
21521 | 4307 The following settings are examples of different encoding |
4308 option combinations that affect the speed vs quality tradeoff | |
4309 at the same target bitrate. | |
4310 </para> | |
4311 | |
4312 <para> | |
4313 All the encoding settings were tested on a 720x448 @30000/1001 fps | |
4314 video sample, the target bitrate was 900kbps, and the machine was an | |
4315 AMD-64 3400+ at 2400 MHz in 64 bits mode. | |
4316 Each encoding setting features the measured encoding speed (in | |
4317 frames per second) and the PSNR loss (in dB) compared to the "very | |
4318 high quality" setting. | |
4319 Please understand that depending on your source, your machine type | |
4320 and development advancements, you may get very different results. | |
4321 </para> | |
4322 | |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4323 <informaltable frame="all"> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4324 <tgroup cols="4"> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4325 <thead> |
21521 | 4326 <row> |
4327 <entry>Description</entry> | |
4328 <entry>Encoding options</entry> | |
4329 <entry>speed (in fps)</entry> | |
4330 <entry>Relative PSNR loss (in dB)</entry> | |
4331 </row> | |
16596
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4332 </thead> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4333 <tbody> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4334 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4335 <entry>Very high quality</entry> |
20274 | 4336 <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
|
4337 <entry>6fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4338 <entry>0dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4339 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4340 <row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4341 <entry>High quality</entry> |
20271 | 4342 <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
|
4343 <entry>13fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4344 <entry>-0.89dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4345 </row> |
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 <entry>Fast</entry> |
16606
7a06ad5c5b2c
the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents:
16605
diff
changeset
|
4348 <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
|
4349 <entry>17fps</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4350 <entry>-1.48dB</entry> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4351 </row> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4352 </tbody> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4353 </tgroup> |
0e73f31bfc6a
Adds encoding setting examples for lavc and XviD.
gpoirier
parents:
16558
diff
changeset
|
4354 </informaltable> |
16277 | 4355 </sect2> |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4356 </sect1> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4357 |
21521 | 4358 |
4359 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
4360 | |
4361 | |
22123
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4362 <sect1 id="menc-feat-video-for-windows"> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4363 <title> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4364 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
|
4365 codec family |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4366 </title> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4367 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4368 <para> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4369 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
|
4370 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
|
4371 </para> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4372 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4373 <para> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4374 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
|
4375 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
|
4376 <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
|
4377 if a codec fails or gives wrong output. |
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 <!-- ********** --> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4381 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4382 <sect2 id="menc-feat-enc-vfw-video-codecs"> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4383 <title>Video for Windows supported codecs</title> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4384 |
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 <informaltable frame="all"> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4387 <tgroup cols="4"> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4388 <thead> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4389 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4390 <entry>Video codec file name</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4391 <entry>Description (FourCC)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4392 <entry>md5sum</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4393 <entry>Comment</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4394 </row> |
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 <tbody> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4397 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4398 <entry>aslcodec_vfw.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4399 <entry>Alparysoft lossless codec vfw (ASLC)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4400 <entry>608af234a6ea4d90cdc7246af5f3f29a</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4401 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4402 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4403 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4404 <entry>avimszh.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4405 <entry>AVImszh (MSZH)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4406 <entry>253118fe1eedea04a95ed6e5f4c28878</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4407 <entry>needs <option>-vf format</option></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4408 </row> |
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 <entry>avizlib.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4411 <entry>AVIzlib (ZLIB)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4412 <entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4413 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4414 </row> |
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 <entry>divx.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4417 <entry>DivX4Windows-VFW</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4418 <entry>acf35b2fc004a89c829531555d73f1e6</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4419 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4420 </row> |
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 <entry>huffyuv.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4423 <entry>HuffYUV (lossless) (HFYU)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4424 <entry>b74695b50230be4a6ef2c4293a58ac3b</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4425 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4426 </row> |
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 <entry>iccvid.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4429 <entry>Cinepak Video (cvid)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4430 <entry>cb3b7ee47ba7dbb3d23d34e274895133</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4431 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4432 </row> |
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 <entry>icmw_32.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4435 <entry>Motion Wavelets (MWV1)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4436 <entry>c9618a8fc73ce219ba918e3e09e227f2</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4437 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4438 </row> |
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 <entry>jp2avi.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4441 <entry>ImagePower MJPEG2000 (IPJ2)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4442 <entry>d860a11766da0d0ea064672c6833768b</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4443 <entry><option>-vf flip</option></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4444 </row> |
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 <entry>m3jp2k32.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4447 <entry>Morgan MJPEG2000 (MJ2C)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4448 <entry>f3c174edcbaef7cb947d6357cdfde7ff</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4449 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4450 </row> |
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 <entry>m3jpeg32.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4453 <entry>Morgan Motion JPEG Codec (MJPG)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4454 <entry>1cd13fff5960aa2aae43790242c323b1</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4455 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4456 </row> |
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 <entry>mpg4c32.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4459 <entry>Microsoft MPEG-4 v1/v2</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4460 <entry>b5791ea23f33010d37ab8314681f1256</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4461 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4462 </row> |
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 <entry>tsccvid.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4465 <entry>TechSmith Camtasia Screen Codec (TSCC)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4466 <entry>8230d8560c41d444f249802a2700d1d5</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4467 <entry>shareware error on windows</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4468 </row> |
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 <entry>vp31vfw.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4471 <entry>On2 Open Source VP3 Codec (VP31)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4472 <entry>845f3590ea489e2e45e876ab107ee7d2</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4473 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4474 </row> |
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 <entry>vp4vfw.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4477 <entry>On2 VP4 Personal Codec (VP40)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4478 <entry>fc5480a482ccc594c2898dcc4188b58f</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4479 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4480 </row> |
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 <entry>vp6vfw.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4483 <entry>On2 VP6 Personal Codec (VP60)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4484 <entry>04d635a364243013898fd09484f913fb</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4485 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4486 </row> |
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 <entry>vp7vfw.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4489 <entry>On2 VP7 Personal Codec (VP70)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4490 <entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry> |
24767 | 4491 <entry><option>-ffourcc VP70</option></entry> |
22123
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4492 </row> |
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 <entry>ViVD2.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4495 <entry>SoftMedia ViVD V2 codec VfW (GXVE)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4496 <entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4497 <entry></entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4498 </row> |
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 <entry>msulvc06.DLL</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4501 <entry>MSU Lossless codec (MSUD)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4502 <entry>294bf9288f2f127bb86f00bfcc9ccdda</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4503 <entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4504 Decodable by <application>Window Media Player</application>, |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4505 not <application>MPlayer</application> (yet). |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4506 </entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4507 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4508 <row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4509 <entry>camcodec.dll</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4510 <entry>CamStudio lossless video codec (CSCD)</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4511 <entry>0efe97ce08bb0e40162ab15ef3b45615</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4512 <entry>sf.net/projects/camstudio</entry> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4513 </row> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4514 </tbody> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4515 </tgroup> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4516 </informaltable> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4517 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4518 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
|
4519 <literal>codec</literal> parameter, |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4520 like: <option>-xvfwopts codec=divx.dll</option> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4521 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
|
4522 </para> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4523 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4524 <informalexample> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4525 <para> |
22395
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4526 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
|
4527 using compdata bitrate settings: |
22123
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4528 <screen> |
22395
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4529 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
|
4530 -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
|
4531 -lameopts cbr:br=64 -af lavcresample=22050 -vf yadif,scale=320:240,flip \ |
24529 | 4532 -of lavf |
22123
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4533 </screen> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4534 </para> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4535 </informalexample> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4536 </sect2> |
22395
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4537 |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4538 <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
|
4539 <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
|
4540 |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4541 <para> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4542 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
|
4543 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
|
4544 </para> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4545 <para> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4546 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
|
4547 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
|
4548 of the MPlayer source tree. |
22395
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4549 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
|
4550 <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
|
4551 |
22529
1f6b48b2abcd
fix up some longer than 80 char lines , and use suggestion from Diego.
compn
parents:
22395
diff
changeset
|
4552 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
|
4553 <application>Cygwin</application> use: |
22395
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4554 <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
|
4555 |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4556 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
|
4557 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
|
4558 archive available at: |
22395
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4559 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
|
4560 </para> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4561 <informalexample> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4562 <para> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4563 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
|
4564 <screen> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4565 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
|
4566 </screen> |
22552
fca4fb6bba35
dont start newline with a space and readd subdirectory
compn
parents:
22529
diff
changeset
|
4567 This will open the VP6 codec dialog window. |
fca4fb6bba35
dont start newline with a space and readd subdirectory
compn
parents:
22529
diff
changeset
|
4568 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
|
4569 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
|
4570 </para> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4571 </informalexample> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4572 <para> |
22552
fca4fb6bba35
dont start newline with a space and readd subdirectory
compn
parents:
22529
diff
changeset
|
4573 Windows users can use |
fca4fb6bba35
dont start newline with a space and readd subdirectory
compn
parents:
22529
diff
changeset
|
4574 <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
|
4575 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
|
4576 </para> |
797bb7683eb0
add xvfwopts compdata and vfw2menc documentation and change to better mencoder example
compn
parents:
22123
diff
changeset
|
4577 </sect2> |
22123
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4578 </sect1> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4579 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4580 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4581 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4582 |
90467315bde4
Move all "Encoding with the XXX codec family" sections together.
diego
parents:
22122
diff
changeset
|
4583 |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4584 <sect1 id="menc-feat-quicktime-7"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4585 <title>Using <application>MEncoder</application> to create |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4586 <application>QuickTime</application>-compatible files</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4587 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4588 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4589 <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
|
4590 <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
|
4591 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4592 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4593 There are several reasons why producing |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4594 <application>QuickTime</application>-compatible files can be desirable. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4595 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4596 <itemizedlist> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4597 <listitem><para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4598 You want any computer illiterate to be able to watch your encode on |
21915 | 4599 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
|
4600 </para></listitem> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4601 <listitem><para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4602 <application>QuickTime</application> is able to take advantage of more |
21915 | 4603 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
|
4604 platform-independent players like <application>MPlayer</application> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4605 or <application>VLC</application>. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4606 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
|
4607 G4-powered machines. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4608 </para></listitem> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4609 <listitem><para> |
21915 | 4610 <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
|
4611 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
|
4612 generations (MPEG-2, MPEG-4 …). |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4613 </para></listitem> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4614 </itemizedlist> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4615 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4616 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4617 <sect2 id="menc-feat-quicktime-7-constraints"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4618 <title><application>QuickTime</application> 7 limitations</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4619 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4620 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4621 <application>QuickTime</application> 7 supports H.264 video and AAC audio, |
21915 | 4622 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
|
4623 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
|
4624 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
|
4625 <application>mp4creator</application> (part of the |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4626 <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
|
4627 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
|
4628 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4629 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4630 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4631 <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
|
4632 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
|
4633 If you encode your video with features that |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4634 <application>QuickTime</application> 7 does not support, |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4635 <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
|
4636 white screen instead of your expected video. |
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 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4639 <itemizedlist> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4640 <listitem><para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4641 <emphasis role="bold">B-frames</emphasis>: |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4642 <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
|
4643 <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
|
4644 <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
|
4645 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
|
4646 </para></listitem> |
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">Macroblocks</emphasis>: |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4649 <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
|
4650 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
|
4651 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
|
4652 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
|
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">Aspect ratio</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 SAR (sample |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4657 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
|
4658 <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
|
4659 for a workaround. |
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 </itemizedlist> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4662 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4663 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4664 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4665 <sect2 id="menc-feat-quicktime-7-crop"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4666 <title>Cropping</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4667 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4668 Suppose you want to rip your freshly bought copy of "The Chronicles of |
21915 | 4669 Narnia". Your DVD is region 1, |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4670 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
|
4671 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
|
4672 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
|
4673 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4674 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4675 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4676 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
|
4677 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
|
4678 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
|
4679 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
|
4680 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
|
4681 <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
|
4682 <option>yadif</option>. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4683 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4684 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4685 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4686 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
|
4687 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
|
4688 previous section. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4689 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4690 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4691 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4692 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4693 <sect2 id="menc-feat-quicktime-7-scale"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4694 <title>Scaling</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4695 |
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 The next step is truly heartbreaking. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4698 <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
|
4699 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
|
4700 (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
|
4701 details of the source) the video to square pixels. |
21915 | 4702 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
|
4703 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
|
4704 <application>QuickTime</application> 7. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4705 <application>MEncoder</application> can apply the appropriate upscaling |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4706 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
|
4707 or <option>-vf scale=-1:-10</option>. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4708 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
|
4709 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
|
4710 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
|
4711 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4712 <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
|
4713 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4714 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4715 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4716 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4717 <sect2 id="menc-feat-quicktime-7-avsync"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4718 <title>A/V sync</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4719 |
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 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
|
4722 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
|
4723 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
|
4724 <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
|
4725 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
|
4726 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
|
4727 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
|
4728 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4729 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4730 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4731 The final filter chain looks like this: |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4732 <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
|
4733 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4734 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4735 </sect2> |
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 <sect2 id="menc-feat-quicktime-7-bitrate"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4738 <title>Bitrate</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4739 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4740 <para> |
21915 | 4741 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
|
4742 of the source, as explained |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4743 <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
|
4744 well as a matter of taste. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4745 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
|
4746 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
|
4747 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
|
4748 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
|
4749 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
|
4750 it if you need to improve quality. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4751 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4752 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4753 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4754 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4755 <sect2 id="menc-feat-quicktime-7-example"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4756 <title>Encoding example</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4757 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4758 <para> |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4759 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
|
4760 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
|
4761 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
|
4762 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
|
4763 <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
|
4764 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
|
4765 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
|
4766 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
|
4767 The other options are documented in <link |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4768 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
|
4769 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
|
4770 the man page. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4771 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4772 <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
|
4773 -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
|
4774 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
|
4775 -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
|
4776 -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
|
4777 -ofps 24000/1001</screen> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4778 |
21914
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4779 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
|
4780 dramatically speed-up encoding by enabling |
88ab6170fb69
update and factorize information about x264's multi-threading mode
gpoirier
parents:
21913
diff
changeset
|
4781 <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
|
4782 <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
|
4783 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
|
4784 command-line. |
21843
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4785 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4786 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4787 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4788 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
|
4789 and set <option>pass=2</option>. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4790 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4791 <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
|
4792 -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
|
4793 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
|
4794 -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
|
4795 -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
|
4796 -ofps 24000/1001</screen> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4797 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4798 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4799 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4800 The resulting AVI should play perfectly in |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4801 <application>MPlayer</application>, but of course |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4802 <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
|
4803 not support H.264 muxed in AVI. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4804 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
|
4805 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4806 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4807 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4808 <sect2 id="menc-feat-quicktime-7-remux"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4809 <title>Remuxing as MP4</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4810 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4811 <para> |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4812 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
|
4813 <application>mp4creator</application>, which is part of the |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4814 <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
|
4815 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4816 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4817 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4818 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
|
4819 <application>MPlayer</application>. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4820 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4821 <screen>mplayer narnia.avi -dumpaudio -dumpfile narnia.aac |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4822 mplayer narnia.avi -dumpvideo -dumpfile narnia.h264</screen> |
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 The filenames are important; <application>mp4creator</application> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4825 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
|
4826 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
|
4827 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4828 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4829 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4830 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
|
4831 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
|
4832 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4833 <screen>mp4creator -create=narnia.aac narnia.mp4 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4834 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
|
4835 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4836 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
|
4837 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
|
4838 </para> |
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 <para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4841 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
|
4842 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
|
4843 <application>QuickTime Player</application> or |
21916
f31ffbd84d07
get rid of two spaces after a period (instead of one)
gpoirier
parents:
21915
diff
changeset
|
4844 <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
|
4845 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
|
4846 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
|
4847 <application>QuickTime</application> plugin can start playing it |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4848 while it is still downloading. <application>mp4creator</application> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4849 can create these hint tracks: |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4850 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4851 <screen>mp4creator -hint=1 narnia.mp4 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4852 mp4creator -hint=2 narnia.mp4 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4853 mp4creator -optimize narnia.mp4</screen> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4854 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4855 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
|
4856 created successfully: |
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 -list narnia.mp4</screen> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4859 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4860 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
|
4861 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4862 <screen>Track Type Info |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4863 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
|
4864 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
|
4865 3 hint Payload mpeg4-generic for track 1 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4866 4 hint Payload H264 for track 2 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4867 </screen> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4868 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4869 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4870 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4871 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4872 <sect2 id="menc-feat-quicktime-7-metadata"> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4873 <title>Adding metadata tags</title> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4874 |
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 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
|
4877 <ulink url="http://atomicparsley.sourceforge.net/">AtomicParsley</ulink>. |
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 <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
|
4880 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4881 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
|
4882 (<application>mp4creator</application> inserts its name in the |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4883 "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
|
4884 space from the deleted metadata. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4885 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
|
4886 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
|
4887 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
|
4888 without it, <application>AtomicParsley</application> creates a new |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4889 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
|
4890 untouched. |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4891 </para> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4892 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4893 </sect2> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4894 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4895 </sect1> |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4896 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4897 |
7e5c4075fcdf
explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents:
21831
diff
changeset
|
4898 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> |
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 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4901 <sect1 id="menc-feat-vcd-dvd"> |
21521 | 4902 <title>Using <application>MEncoder</application> |
4903 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
|
4904 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4905 <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
|
4906 <title>Format Constraints</title> |
21521 | 4907 |
4908 <para> | |
4909 <application>MEncoder</application> is capable of creating VCD, SCVD | |
4910 and DVD format MPEG files using the | |
4911 <systemitem class="library">libavcodec</systemitem> library. | |
4912 These files can then be used in conjunction with | |
4913 <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink> | |
4914 or | |
4915 <ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink> | |
4916 to create discs that will play on a standard set-top player. | |
4917 </para> | |
4918 | |
4919 <para> | |
4920 The DVD, SVCD, and VCD formats are subject to heavy constraints. | |
4921 Only a small selection of encoded picture sizes and aspect ratios are | |
4922 available. | |
4923 If your movie does not already meet these requirements, you may have | |
21899 | 4924 to scale, crop or add black borders to the picture to make it |
21521 | 4925 compliant. |
4926 </para> | |
4927 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4928 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4929 <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
|
4930 <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
|
4931 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4932 <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
|
4933 <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
|
4934 <thead> |
21521 | 4935 <row> |
4936 <entry>Format</entry> | |
4937 <entry>Resolution</entry> | |
4938 <entry>V. Codec</entry> | |
4939 <entry>V. Bitrate</entry> | |
4940 <entry>Sample Rate</entry> | |
4941 <entry>A. Codec</entry> | |
4942 <entry>A. Bitrate</entry> | |
4943 <entry>FPS</entry> | |
4944 <entry>Aspect</entry> | |
4945 </row> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4946 </thead> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
4947 <tbody> |
21521 | 4948 <row> |
4949 <entry>NTSC DVD</entry> | |
4950 <entry>720x480, 704x480, 352x480, 352x240</entry> | |
4951 <entry>MPEG-2</entry> | |
4952 <entry>9800 kbps</entry> | |
4953 <entry>48000 Hz</entry> | |
24036 | 4954 <entry>AC-3,PCM</entry> |
21521 | 4955 <entry>1536 kbps (max)</entry> |
4956 <entry>30000/1001, 24000/1001</entry> | |
4957 <entry>4:3, 16:9 (only for 720x480)</entry> | |
4958 </row> | |
4959 <row> | |
4960 <entry>NTSC DVD</entry> | |
4961 <entry>352x240<footnote id='fn-rare-resolutions'><para> | |
4962 These resolutions are rarely used for DVDs because | |
4963 they are fairly low quality.</para></footnote></entry> | |
4964 <entry>MPEG-1</entry> | |
4965 <entry>1856 kbps</entry> | |
4966 <entry>48000 Hz</entry> | |
24036 | 4967 <entry>AC-3,PCM</entry> |
21521 | 4968 <entry>1536 kbps (max)</entry> |
4969 <entry>30000/1001, 24000/1001</entry> | |
4970 <entry>4:3, 16:9</entry> | |
4971 </row> | |
4972 <row> | |
4973 <entry>NTSC SVCD</entry> | |
4974 <entry>480x480</entry> | |
4975 <entry>MPEG-2</entry> | |
4976 <entry>2600 kbps</entry> | |
4977 <entry>44100 Hz</entry> | |
4978 <entry>MP2</entry> | |
4979 <entry>384 kbps (max)</entry> | |
4980 <entry>30000/1001</entry> | |
4981 <entry>4:3</entry> | |
4982 </row> | |
4983 <row> | |
4984 <entry>NTSC VCD</entry> | |
4985 <entry>352x240</entry> | |
4986 <entry>MPEG-1</entry> | |
4987 <entry>1150 kbps</entry> | |
4988 <entry>44100 Hz</entry> | |
4989 <entry>MP2</entry> | |
4990 <entry>224 kbps</entry> | |
4991 <entry>24000/1001, 30000/1001</entry> | |
4992 <entry>4:3</entry> | |
4993 </row> | |
4994 <row> | |
4995 <entry>PAL DVD</entry> | |
4996 <entry>720x576, 704x576, 352x576, 352x288</entry> | |
4997 <entry>MPEG-2</entry> | |
4998 <entry>9800 kbps</entry> | |
4999 <entry>48000 Hz</entry> | |
24036 | 5000 <entry>MP2,AC-3,PCM</entry> |
21521 | 5001 <entry>1536 kbps (max)</entry> |
5002 <entry>25</entry> | |
5003 <entry>4:3, 16:9 (only for 720x576)</entry> | |
5004 </row> | |
5005 <row> | |
5006 <entry>PAL DVD</entry> | |
5007 <entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry> | |
5008 <entry>MPEG-1</entry> | |
5009 <entry>1856 kbps</entry> | |
5010 <entry>48000 Hz</entry> | |
24036 | 5011 <entry>MP2,AC-3,PCM</entry> |
21521 | 5012 <entry>1536 kbps (max)</entry> |
5013 <entry>25</entry> | |
5014 <entry>4:3, 16:9</entry> | |
5015 </row> | |
5016 <row> | |
5017 <entry>PAL SVCD</entry> | |
5018 <entry>480x576</entry> | |
5019 <entry>MPEG-2</entry> | |
5020 <entry>2600 kbps</entry> | |
5021 <entry>44100 Hz</entry> | |
5022 <entry>MP2</entry> | |
5023 <entry>384 kbps (max)</entry> | |
5024 <entry>25</entry> | |
5025 <entry>4:3</entry> | |
5026 </row> | |
5027 <row> | |
5028 <entry>PAL VCD</entry> | |
5029 <entry>352x288</entry> | |
5030 <entry>MPEG-1</entry> | |
5031 <entry>1152 kbps</entry> | |
5032 <entry>44100 Hz</entry> | |
5033 <entry>MP2</entry> | |
5034 <entry>224 kbps</entry> | |
5035 <entry>25</entry> | |
5036 <entry>4:3</entry> | |
5037 </row> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5038 </tbody> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5039 </tgroup> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5040 </informaltable> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5041 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5042 <para> |
21521 | 5043 If your movie has 2.35:1 aspect (most recent action movies), you will |
5044 have to add black borders or crop the movie down to 16:9 to make a DVD or VCD. | |
5045 If you add black borders, try to align them at 16-pixel boundaries in | |
5046 order to minimize the impact on encoding performance. | |
5047 Thankfully DVD has sufficiently excessive bitrate that you do not have | |
5048 to worry too much about encoding efficiency, but SVCD and VCD are | |
5049 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
|
5050 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5051 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5052 |
21521 | 5053 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5054 <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
|
5055 <title>GOP Size Constraints</title> |
21521 | 5056 |
5057 <para> | |
5058 DVD, VCD, and SVCD also constrain you to relatively low | |
5059 GOP (Group of Pictures) sizes. | |
5060 For 30 fps material the largest allowed GOP size is 18. | |
5061 For 25 or 24 fps, the maximum is 15. | |
5062 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
|
5063 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5064 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5065 |
21521 | 5066 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5067 <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
|
5068 <title>Bitrate Constraints</title> |
21521 | 5069 |
5070 <para> | |
5071 VCD video is required to be CBR at 1152 kbps. | |
5072 This highly limiting constraint also comes along with an extremly low vbv | |
5073 buffer size of 327 kilobits. | |
5074 SVCD allows varying video bitrates up to 2500 kbps, and a somewhat less | |
5075 restrictive vbv buffer size of 917 kilobits is allowed. | |
5076 DVD video bitrates may range anywhere up to 9800 kbps (though typical | |
5077 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
|
5078 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5079 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5080 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5081 |
21521 | 5082 <!-- ********** --> |
5083 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5084 <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
|
5085 <title>Output Options</title> |
21521 | 5086 |
5087 <para> | |
5088 <application>MEncoder</application> has options to control the output | |
5089 format. | |
5090 Using these options we can instruct it to create the correct type of | |
5091 file. | |
5092 </para> | |
5093 | |
5094 <para> | |
5095 The options for VCD and SVCD are called xvcd and xsvcd, because they | |
5096 are extended formats. | |
5097 They are not strictly compliant, mainly because the output does not | |
5098 contain scan offsets. | |
5099 If you need to generate an SVCD image, you should pass the output file to | |
5100 <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>. | |
5101 </para> | |
5102 | |
5103 <para> | |
5104 VCD: | |
5105 <screen>-of mpeg -mpegopts format=xvcd</screen> | |
5106 </para> | |
5107 | |
5108 <para> | |
5109 SVCD: | |
5110 <screen>-of mpeg -mpegopts format=xsvcd</screen> | |
5111 </para> | |
5112 | |
5113 <para> | |
5114 DVD (with timestamps on every frame, if possible): | |
5115 <screen>-of mpeg -mpegopts format=dvd:tsaf</screen> | |
5116 </para> | |
5117 | |
5118 <para> | |
5119 DVD with NTSC Pullup: | |
5120 <screen>-of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001</screen> | |
5121 This allows 24000/1001 fps progressive content to be encoded at 30000/1001 | |
5122 fps whilst maintaing DVD-compliance. | |
5123 </para> | |
5124 | |
16283
67dc03c037e7
How to encode with soft 3:2 pullup, patch by Brendan McCarthy
gpoirier
parents:
16277
diff
changeset
|
5125 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5126 <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
|
5127 <title>Aspect Ratio</title> |
21521 | 5128 |
5129 <para> | |
5130 The aspect argument of <option>-lavcopts</option> is used to encode | |
5131 the aspect ratio of the file. | |
5132 During playback the aspect ratio is used to restore the video to the | |
5133 correct size. | |
5134 </para> | |
5135 | |
5136 <para> | |
5137 16:9 or "Widescreen" | |
5138 <screen>-lavcopts aspect=16/9</screen> | |
5139 </para> | |
5140 | |
5141 <para> | |
5142 4:3 or "Fullscreen" | |
5143 <screen>-lavcopts aspect=4/3</screen> | |
5144 </para> | |
5145 | |
5146 <para> | |
5147 2.35:1 or "Cinemascope" NTSC | |
5148 <screen>-vf scale=720:368,expand=720:480 -lavcopts aspect=16/9</screen> | |
5149 To calculate the correct scaling size, use the expanded NTSC width of | |
5150 854/2.35 = 368 | |
5151 </para> | |
5152 | |
5153 <para> | |
5154 2.35:1 or "Cinemascope" PAL | |
21831 | 5155 <screen>-vf scale=720:432,expand=720:576 -lavcopts aspect=16/9</screen> |
21521 | 5156 To calculate the correct scaling size, use the expanded PAL width of |
5157 1024/2.35 = 432 | |
5158 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5159 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5160 |
21521 | 5161 |
17406
f5945f8fe876
MEncoder's MPEG muxer needs -vf harddup to function properly, no add a note about this.
gpoirier
parents:
17253
diff
changeset
|
5162 <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
|
5163 <title>Maintaining A/V sync</title> |
21521 | 5164 |
5165 <para> | |
5166 In order to maintain audio/video synchronization throughout the encode, | |
5167 <application>MEncoder</application> has to drop or duplicate frames. | |
5168 This works rather well when muxing into an AVI file, but is almost | |
5169 guaranteed to fail to maintain A/V sync with other muxers such as MPEG. | |
5170 This is why it is necessary to append the | |
5171 <option>harddup</option> video filter at the end of the filter chain | |
5172 to avoid this kind of problem. | |
5173 You can find more technical information about <option>harddup</option> | |
5174 in the section | |
5175 <link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">Improving muxing and A/V sync reliability</link> | |
5176 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
|
5177 </para> |
f5945f8fe876
MEncoder's MPEG muxer needs -vf harddup to function properly, no add a note about this.
gpoirier
parents:
17253
diff
changeset
|
5178 </sect3> |
f5945f8fe876
MEncoder's MPEG muxer needs -vf harddup to function properly, no add a note about this.
gpoirier
parents:
17253
diff
changeset
|
5179 |
21521 | 5180 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5181 <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
|
5182 <title>Sample Rate Conversion</title> |
21521 | 5183 |
5184 <para> | |
5185 If the audio sample rate in the original file is not the same as | |
5186 required by the target format, sample rate conversion is required. | |
5187 This is achieved using the <option>-srate</option> option and | |
5188 the <option>-af lavcresample</option> audio filter together. | |
5189 </para> | |
5190 | |
5191 <para> | |
5192 DVD: | |
5193 <screen>-srate 48000 -af lavcresample=48000</screen> | |
5194 </para> | |
5195 | |
5196 <para> | |
5197 VCD and SVCD: | |
5198 <screen>-srate 44100 -af lavcresample=44100</screen> | |
5199 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5200 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5201 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5202 |
21521 | 5203 <!-- ********** --> |
5204 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5205 <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
|
5206 <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
|
5207 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5208 <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
|
5209 <title>Introduction</title> |
21521 | 5210 |
5211 <para> | |
5212 <systemitem class="library">libavcodec</systemitem> can be used to | |
5213 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
|
5214 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5215 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5216 |
21521 | 5217 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5218 <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
|
5219 <title>lavcopts</title> |
21521 | 5220 |
5221 <para> | |
5222 This is a list of fields in <option>-lavcopts</option> that you may | |
5223 be required to change in order to make a complaint movie for VCD, SVCD, | |
5224 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
|
5225 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5226 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5227 <itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5228 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5229 <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
|
5230 <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
|
5231 <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
|
5232 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
|
5233 space. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5234 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
|
5235 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
|
5236 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5237 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5238 <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
|
5239 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
|
5240 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
|
5241 sound. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5242 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5243 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5244 <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
|
5245 <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
|
5246 <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
|
5247 <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
|
5248 <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
|
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">keyint</emphasis>: |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5252 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
|
5253 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
|
5254 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
|
5255 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
|
5256 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
|
5257 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
|
5258 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5259 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5260 <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
|
5261 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
|
5262 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5263 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5264 <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
|
5265 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
|
5266 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5267 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5268 <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
|
5269 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
|
5270 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
|
5271 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
|
5272 </para></listitem> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5273 <listitem><para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5274 <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
|
5275 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
|
5276 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
|
5277 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
|
5278 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
|
5279 preference. |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5280 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
|
5281 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
|
5282 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
|
5283 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
|
5284 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
|
5285 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
|
5286 </para></listitem> |
21583
f746c28a324c
vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents:
21521
diff
changeset
|
5287 <listitem><para> |
21899 | 5288 <emphasis role="bold">vstrict</emphasis>: |
21583
f746c28a324c
vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents:
21521
diff
changeset
|
5289 <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
|
5290 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
|
5291 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
|
5292 players. |
f746c28a324c
vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents:
21521
diff
changeset
|
5293 </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
|
5294 </itemizedlist> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5295 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5296 |
21521 | 5297 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5298 <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
|
5299 <title>Examples</title> |
21521 | 5300 |
5301 <para> | |
5302 This is a typical minimum set of <option>-lavcopts</option> for | |
5303 encoding video: | |
5304 </para> | |
5305 <para> | |
5306 VCD: | |
5307 <screen> | |
5308 -lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\ | |
5309 vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2 | |
5310 </screen> | |
5311 </para> | |
5312 | |
5313 <para> | |
5314 SVCD: | |
5315 <screen> | |
5316 -lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\ | |
5317 keyint=15:acodec=mp2 | |
5318 </screen> | |
5319 </para> | |
5320 | |
5321 <para> | |
5322 DVD: | |
5323 <screen> | |
5324 -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
|
5325 keyint=15:vstrict=0:acodec=ac3 |
21521 | 5326 </screen> |
5327 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5328 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5329 |
21521 | 5330 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5331 <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
|
5332 <title>Advanced Options</title> |
21521 | 5333 |
5334 <para> | |
5335 For higher quality encoding, you may also wish to add quality-enhancing | |
5336 options to lavcopts, such as <option>trell</option>, | |
5337 <option>mbd=2</option>, and others. | |
5338 Note that <option>qpel</option> and <option>v4mv</option>, while often | |
5339 useful with MPEG-4, are not usable with MPEG-1 or MPEG-2. | |
5340 Also, if you are trying to make a very high quality DVD encode, it may | |
5341 be useful to add <option>dc=10</option> to lavcopts. | |
5342 Doing so may help reduce the appearance of blocks in flat-colored areas. | |
5343 Putting it all together, this is an example of a set of lavcopts for a | |
5344 higher quality DVD: | |
5345 </para> | |
5346 | |
5347 <para> | |
5348 <screen> | |
5349 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\ | |
5350 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
|
5351 vqmin=1:lmin=1:dc=10:vstrict=0 |
21521 | 5352 </screen> |
5353 </para> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5354 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5355 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5356 |
21521 | 5357 <!-- ********** --> |
5358 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5359 <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
|
5360 <title>Encoding Audio</title> |
21521 | 5361 |
5362 <para> | |
5363 VCD and SVCD support MPEG-1 layer II audio, using one of | |
5364 <systemitem class="library">toolame</systemitem>, | |
5365 <systemitem class="library">twolame</systemitem>, | |
5366 or <systemitem class="library">libavcodec</systemitem>'s MP2 encoder. | |
5367 The libavcodec MP2 is far from being as good as the other two libraries, | |
5368 however it should always be available to use. | |
5369 VCD only supports constant bitrate audio (CBR) whereas SVCD supports | |
5370 variable bitrate (VBR), too. | |
5371 Be careful when using VBR because some bad standalone players might not | |
5372 support it too well. | |
5373 </para> | |
5374 | |
5375 <para> | |
5376 For DVD audio, <systemitem class="library">libavcodec</systemitem>'s | |
24036 | 5377 AC-3 codec is used. |
21521 | 5378 </para> |
5379 | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5380 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5381 <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
|
5382 <title>toolame</title> |
21521 | 5383 |
5384 <para> | |
5385 For VCD and SVCD: | |
5386 <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
|
5387 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5388 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5389 |
21521 | 5390 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5391 <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
|
5392 <title>twolame</title> |
21521 | 5393 |
5394 <para> | |
5395 For VCD and SVCD: | |
5396 <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
|
5397 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5398 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5399 |
21521 | 5400 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5401 <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
|
5402 <title>libavcodec</title> |
21521 | 5403 |
5404 <para> | |
5405 For DVD with 2 channel sound: | |
5406 <screen>-oac lavc -lavcopts acodec=ac3:abitrate=192</screen> | |
5407 </para> | |
5408 | |
5409 <para> | |
5410 For DVD with 5.1 channel sound: | |
5411 <screen>-channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384</screen> | |
5412 </para> | |
5413 | |
5414 <para> | |
5415 For VCD and SVCD: | |
5416 <screen>-oac lavc -lavcopts acodec=mp2:abitrate=224</screen> | |
5417 </para> | |
5418 </sect3> | |
5419 </sect2> | |
5420 | |
5421 <!-- ********** --> | |
5422 | |
5423 <sect2 id="menc-feat-vcd-dvd-all"> | |
5424 <title>Putting it all Together</title> | |
5425 | |
5426 <para> | |
5427 This section shows some complete commands for creating VCD/SVCD/DVD | |
5428 compliant videos. | |
5429 </para> | |
5430 | |
5431 | |
5432 <sect3 id="menc-feat-vcd-dvd-all-pal-dvd"> | |
5433 <title>PAL DVD</title> | |
5434 | |
5435 <para> | |
5436 <screen> | |
5437 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \ | |
5438 -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 \ | |
5439 -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
|
5440 keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 \ |
21521 | 5441 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> |
5442 </screen> | |
5443 </para> | |
5444 </sect3> | |
5445 | |
5446 | |
5447 <sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd"> | |
5448 <title>NTSC DVD</title> | |
5449 | |
5450 <para> | |
5451 <screen> | |
5452 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \ | |
5453 -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 \ | |
5454 -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
|
5455 keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 \ |
21521 | 5456 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> |
5457 </screen> | |
5458 </para> | |
5459 </sect3> | |
5460 | |
5461 | |
5462 <sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy"> | |
24036 | 5463 <title>PAL AVI Containing AC-3 Audio to DVD</title> |
5464 | |
5465 <para> | |
5466 If the source already has AC-3 audio, use -oac copy instead of re-encoding it. | |
21521 | 5467 <screen> |
5468 mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \ | |
5469 -vf scale=720:576,harddup -ofps 25 \ | |
5470 -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
|
5471 keyint=15:vstrict=0:aspect=16/9 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> |
21521 | 5472 </screen> |
5473 </para> | |
5474 </sect3> | |
5475 | |
5476 | |
5477 <sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy"> | |
24036 | 5478 <title>NTSC AVI Containing AC-3 Audio to DVD</title> |
5479 | |
5480 <para> | |
5481 If the source already has AC-3 audio, and is NTSC @ 24000/1001 fps: | |
21521 | 5482 <screen> |
5483 mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \ | |
5484 -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
|
5485 vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:aspect=16/9 -ofps 24000/1001 \ |
21521 | 5486 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> |
5487 </screen> | |
5488 </para> | |
5489 </sect3> | |
5490 | |
5491 | |
5492 <sect3 id="menc-feat-vcd-dvd-all-pal-svcd"> | |
5493 <title>PAL SVCD</title> | |
5494 | |
5495 <para> | |
5496 <screen> | |
5497 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \ | |
5498 scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ | |
5499 vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\ | |
5500 vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \ | |
5501 -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
|
5502 </screen> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5503 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5504 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5505 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5506 |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5507 <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
|
5508 <title>NTSC SVCD</title> |
21521 | 5509 |
5510 <para> | |
5511 <screen> | |
5512 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \ | |
5513 scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ | |
5514 vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\ | |
5515 vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \ | |
5516 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> | |
5517 </screen> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5518 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5519 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5520 |
21521 | 5521 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5522 <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
|
5523 <title>PAL VCD</title> |
21521 | 5524 |
5525 <para> | |
5526 <screen> | |
5527 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \ | |
5528 scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ | |
5529 vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\ | |
5530 vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \ | |
5531 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> | |
5532 </screen> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5533 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5534 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5535 |
21521 | 5536 |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5537 <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
|
5538 <title>NTSC VCD</title> |
21521 | 5539 |
5540 <para> | |
5541 <screen> | |
5542 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \ | |
5543 scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ | |
5544 vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\ | |
5545 vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 \ | |
5546 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> | |
5547 </screen> | |
16080
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5548 </para> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5549 </sect3> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5550 </sect2> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5551 </sect1> |
baae7cdb0726
re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff
changeset
|
5552 </chapter> |