Mercurial > mplayer.hg
annotate DOCS/xml/en/mencoder.xml @ 15355:ec1ad0dfbe00
Sync with 1.953: expose x264 options 'me' and 'me_range'.
author | gpoirier |
---|---|
date | Thu, 05 May 2005 19:36:03 +0000 |
parents | 4c039fa37dbf |
children | 87121d373127 |
rev | line source |
---|---|
9675 | 1 <?xml version="1.0" encoding="iso-8859-1"?> |
10913
49b1a67e7381
Add revision keyword to english xml files, to ease translation synchronization
lumag
parents:
10869
diff
changeset
|
2 <!-- $Revision$ --> |
9675 | 3 <chapter id="mencoder"> |
11540 | 4 <title>Encoding with <application>MEncoder</application></title> |
9675 | 5 |
6 <para> | |
7 For the complete list of available <application>MEncoder</application> options | |
8 and examples, please see the man page. For a series of hands-on examples and | |
9 detailed guides on using several encoding parameters, read the | |
10 <ulink url="../../tech/encoding-tips.txt">encoding-tips</ulink> that were | |
15029 | 11 collected from several mailing list threads on MPlayer-users. Search the |
9675 | 12 <ulink url="http://mplayerhq.hu/pipermail/mplayer-users/">archives</ulink> |
13 for a wealth of discussions about all aspects of and problems related to | |
14 encoding with <application>MEncoder</application>. | |
15 </para> | |
16 | |
12400
903ac68f2bc8
divx --> lavc, spelling, more sensible section name
diego
parents:
12399
diff
changeset
|
17 <sect1 id="menc-feat-mpeg4"> |
14421 | 18 <title>Encoding two pass MPEG-4 ("DivX")</title> |
9675 | 19 |
20 <para> | |
21 The name comes from the fact that this method encodes the file <emphasis>twice</emphasis>. | |
22 The first encoding (dubbed pass) creates some temporary files | |
23 (<filename>*.log</filename>) with a size of few megabytes, do not delete | |
14421 | 24 them yet (you can delete the AVI). In the second pass, the two pass output |
9675 | 25 file is created, using the bitrate data from the temporary files. The |
26 resulting file will have much better image quality. If this is the first | |
27 time you heard about this, you should consult some guides available on the | |
12484
58056bc98dd9
Remove 3-pass encoding guide (can break A/V sync), rescaling is not
diego
parents:
12400
diff
changeset
|
28 net. |
9675 | 29 </para> |
30 | |
12484
58056bc98dd9
Remove 3-pass encoding guide (can break A/V sync), rescaling is not
diego
parents:
12400
diff
changeset
|
31 <example> |
58056bc98dd9
Remove 3-pass encoding guide (can break A/V sync), rescaling is not
diego
parents:
12400
diff
changeset
|
32 <title>copy audio track</title> |
9675 | 33 <para> |
14421 | 34 Two pass encode of a DVD to an MPEG-4 ("DivX") AVI while copying |
12484
58056bc98dd9
Remove 3-pass encoding guide (can break A/V sync), rescaling is not
diego
parents:
12400
diff
changeset
|
35 the audio track. |
9675 | 36 <screen> |
11710 | 37 mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o <replaceable>movie.avi</replaceable> |
38 mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o <replaceable>movie.avi</replaceable> | |
9675 | 39 </screen> |
40 </para> | |
12484
58056bc98dd9
Remove 3-pass encoding guide (can break A/V sync), rescaling is not
diego
parents:
12400
diff
changeset
|
41 </example> |
9675 | 42 |
43 <example> | |
12484
58056bc98dd9
Remove 3-pass encoding guide (can break A/V sync), rescaling is not
diego
parents:
12400
diff
changeset
|
44 <title>encode audio track</title> |
9675 | 45 <para> |
14421 | 46 Two pass encode of a DVD to an MPEG-4 ("DivX") AVI while encoding |
12484
58056bc98dd9
Remove 3-pass encoding guide (can break A/V sync), rescaling is not
diego
parents:
12400
diff
changeset
|
47 the audio track to MP3. |
9675 | 48 <screen> |
12484
58056bc98dd9
Remove 3-pass encoding guide (can break A/V sync), rescaling is not
diego
parents:
12400
diff
changeset
|
49 mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac mp3lame -lameopts vbr=3 -o <replaceable>movie.avi</replaceable> |
58056bc98dd9
Remove 3-pass encoding guide (can break A/V sync), rescaling is not
diego
parents:
12400
diff
changeset
|
50 mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac mp3lame -lameopts vbr=3 -o <replaceable>movie.avi</replaceable> |
9675 | 51 </screen> |
52 </para> | |
53 </example> | |
54 </sect1> | |
55 | |
56 <sect1 id="menc-feat-mpeg"> | |
57 <title>Encoding to MPEG format</title> | |
58 <para> | |
59 <application>MEncoder</application> can create MPEG (MPEG-PS) format output | |
15329 | 60 files. It is probably useful only with |
11822
359eaf957bf1
Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents:
11820
diff
changeset
|
61 <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>'s |
10869 | 62 <emphasis>mpeg1video</emphasis> codec, because players - except |
14024 | 63 <application>MPlayer</application> - expect MPEG-1 video, and MPEG-1 layer 2 (MP2) |
10869 | 64 audio streams in MPEG files. |
9675 | 65 </para> |
66 | |
67 <para> | |
11680
f2f7c22847b3
added capital letter at the beginning of the sentence
paszczi
parents:
11540
diff
changeset
|
68 This feature is not very useful right now, aside that it probably has many bugs, |
11540 | 69 but the more importantly because <application>MEncoder</application> currently |
14024 | 70 cannot encode MPEG-1 layer 2 (MP2) audio, which all other players expect in MPEG files. |
9675 | 71 </para> |
72 | |
73 <para> | |
12578 | 74 To change <application>MEncoder</application>'s output file format, |
11540 | 75 use the <option>-of mpeg</option> option. |
9675 | 76 </para> |
77 | |
78 <para> | |
79 Example: | |
80 <screen> | |
11710 | 81 mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video -oac copy <replaceable>other_options</replaceable> <replaceable>media.avi</replaceable> -o <replaceable>output.mpg</replaceable> |
9675 | 82 </screen> |
83 </para> | |
84 </sect1> | |
85 | |
86 | |
87 <sect1 id="menc-feat-rescale"> | |
88 <title>Rescaling movies</title> | |
89 | |
90 <para> | |
91 Often the need to resize movie images' size emerges. Its reasons can be | |
92 many: decreasing file size, network bandwidth,etc. Most people even do | |
12484
58056bc98dd9
Remove 3-pass encoding guide (can break A/V sync), rescaling is not
diego
parents:
12400
diff
changeset
|
93 rescaling when converting DVDs or SVCDs to DivX AVI. If you wish to rescale, |
58056bc98dd9
Remove 3-pass encoding guide (can break A/V sync), rescaling is not
diego
parents:
12400
diff
changeset
|
94 read the <link linkend="aspect">Preserving aspect ratio</link> section. |
9675 | 95 </para> |
96 | |
97 <para> | |
98 The scaling process is handled by the <literal>scale</literal> video filter: | |
9677 | 99 <option>-vf scale=<replaceable>width</replaceable>:<replaceable>height</replaceable></option>. |
9675 | 100 Its quality can be set with the <option>-sws</option> option. |
15329 | 101 If it is not specified, <application>MEncoder</application> will use 2: bicubic. |
9675 | 102 </para> |
103 | |
104 <para> | |
105 Usage: | |
106 <screen> | |
12484
58056bc98dd9
Remove 3-pass encoding guide (can break A/V sync), rescaling is not
diego
parents:
12400
diff
changeset
|
107 mencoder <replaceable>input.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4 -vf scale=640:480 -o <replaceable>output.avi</replaceable> |
9675 | 108 </screen> |
109 </para> | |
110 </sect1> | |
111 | |
112 | |
113 <sect1 id="menc-feat-streamcopy"> | |
114 <title>Stream copying</title> | |
115 | |
116 <para> | |
117 <application>MEncoder</application> can handle input streams in two ways: | |
118 <emphasis role="bold">encode</emphasis> or <emphasis role="bold">copy</emphasis> | |
119 them. This section is about <emphasis role="bold">copying</emphasis>. | |
120 </para> | |
121 | |
122 <itemizedlist> | |
123 <listitem><para> | |
124 <emphasis role="bold">Video stream</emphasis> (option <option>-ovc copy</option>): | |
125 nice stuff can be done :) Like, putting (not converting!) FLI or VIVO or | |
14024 | 126 MPEG-1 video into an AVI file! Of course only |
9675 | 127 <application>MPlayer</application> can play such files :) And it probably |
128 has no real life value at all. Rationally: video stream copying can be | |
129 useful for example when only the audio stream has to be encoded (like, | |
130 uncompressed PCM to MP3). | |
131 </para></listitem> | |
132 <listitem><para> | |
133 <emphasis role="bold">Audio stream</emphasis> (option <option>-oac copy</option>): | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
134 straightforward. It is possible to take an external audio file (MP3, |
10429 | 135 WAV) and mux it into the output stream. Use the |
9675 | 136 <option>-audiofile <replaceable>filename</replaceable></option> option |
137 for this. | |
138 </para></listitem> | |
139 </itemizedlist> | |
140 </sect1> | |
141 | |
142 | |
143 <sect1 id="menc-feat-enc-libavcodec"> | |
11822
359eaf957bf1
Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents:
11820
diff
changeset
|
144 <title>Encoding with the <systemitem class="library">libavcodec</systemitem> |
359eaf957bf1
Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents:
11820
diff
changeset
|
145 codec family</title> |
9675 | 146 |
147 <para> | |
11822
359eaf957bf1
Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents:
11820
diff
changeset
|
148 <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link> |
359eaf957bf1
Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents:
11820
diff
changeset
|
149 provides simple encoding to a lot of interesting video and audio formats. |
11747 | 150 You can encode to the following codecs (more or less up to date): |
9675 | 151 |
152 <informaltable frame="all"> | |
153 <tgroup cols="2"> | |
154 <thead> | |
155 <row><entry>Codec name</entry><entry>Description</entry></row> | |
156 </thead> | |
157 <tbody> | |
158 <row><entry>mjpeg</entry><entry> | |
159 Motion JPEG | |
160 </entry></row> | |
10869 | 161 <row><entry>ljpeg</entry><entry> |
162 Lossless JPEG | |
163 </entry></row> | |
9675 | 164 <row><entry>h263</entry><entry> |
13111 | 165 H.263 |
9675 | 166 </entry></row> |
167 <row><entry>h263p</entry><entry> | |
13111 | 168 H.263+ |
9675 | 169 </entry></row> |
170 <row><entry>mpeg4</entry><entry> | |
14024 | 171 ISO standard MPEG-4 (DivX 5, XVID compatible) |
9675 | 172 </entry></row> |
173 <row><entry>msmpeg4</entry><entry> | |
14024 | 174 pre-standard MPEG-4 variant by MS, v3 (AKA DivX3) |
9675 | 175 </entry></row> |
176 <row><entry>msmpeg4v2</entry><entry> | |
14024 | 177 pre-standard MPEG-4 by MS, v2 (used in old asf files) |
9675 | 178 </entry></row> |
10869 | 179 <row><entry>wmv1</entry><entry> |
13222 | 180 Windows Media Video, version 1 (AKA WMV7) |
9675 | 181 </entry></row> |
10869 | 182 <row><entry>wmv2</entry><entry> |
13222 | 183 Windows Media Video, version 2 (AKA WMV8) |
10869 | 184 </entry></row> |
9675 | 185 <row><entry>rv10</entry><entry> |
186 an old RealVideo codec | |
187 </entry></row> | |
188 <row><entry>mpeg1video</entry><entry> | |
14024 | 189 MPEG-1 video |
10869 | 190 </entry></row> |
191 <row><entry>mpeg2video</entry><entry> | |
14024 | 192 MPEG-2 video |
9675 | 193 </entry></row> |
194 <row><entry>huffyuv</entry><entry> | |
195 lossless compression | |
196 </entry></row> | |
10869 | 197 <row><entry>asv1</entry><entry> |
198 ASUS Video v1 | |
199 </entry></row> | |
200 <row><entry>asv2</entry><entry> | |
201 ASUS Video v2 | |
202 </entry></row> | |
203 <row><entry>ffv1</entry><entry> | |
204 FFmpeg's lossless video codec | |
205 </entry></row> | |
9675 | 206 </tbody> |
207 </tgroup> | |
208 </informaltable> | |
209 | |
210 The first column contains the codec names that should be passed after the | |
211 <literal>vcodec</literal> config, like: <option>-lavcopts vcodec=msmpeg4</option> | |
212 </para> | |
213 | |
214 <informalexample> | |
215 <para> | |
216 An example, with MJPEG compression: | |
10184
b6c63ab184a4
Changed a few remaining -dvd and -vcd options to dvd:// and vcd://.
diego
parents:
10065
diff
changeset
|
217 <screen>mencoder dvd://2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy</screen> |
9675 | 218 </para> |
219 </informalexample> | |
220 </sect1> | |
221 | |
222 | |
223 <sect1 id="menc-feat-enc-images"> | |
12399
9403b245fcda
Obsolet -mf syntax replaced by mf://, based on a patch sent by Compn, bug
diego
parents:
11913
diff
changeset
|
224 <title>Encoding from multiple input image files (JPEG, PNG, TGA, SGI)</title> |
9675 | 225 |
226 <para> | |
227 <application>MEncoder</application> is capable of creating movies from one | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
228 or more JPEG, PNG or TGA files. With simple framecopy it can create MJPEG |
9675 | 229 (Motion JPEG), MPNG (Motion PNG) or MTGA (Motion TGA) files. |
230 </para> | |
231 | |
232 <orderedlist> | |
233 <title>Explanation of the process:</title> | |
234 <listitem><para> | |
235 <application>MEncoder</application> <emphasis>decodes</emphasis> the input image(s) with | |
236 <systemitem class="library">libjpeg</systemitem> (when decoding PNGs, it | |
237 will use <systemitem class="library">libpng</systemitem>). | |
238 </para></listitem> | |
239 <listitem><para> | |
240 <application>MEncoder</application> then feeds the decoded image to the | |
12399
9403b245fcda
Obsolet -mf syntax replaced by mf://, based on a patch sent by Compn, bug
diego
parents:
11913
diff
changeset
|
241 chosen video compressor (DivX4, XviD, FFmpeg msmpeg4, etc.). |
9675 | 242 </para></listitem> |
243 </orderedlist> | |
244 | |
245 <formalpara> | |
246 <title>Examples</title> | |
247 <para> | |
12399
9403b245fcda
Obsolet -mf syntax replaced by mf://, based on a patch sent by Compn, bug
diego
parents:
11913
diff
changeset
|
248 The explanation of the <option>-mf</option> option is in the man page. |
9675 | 249 |
250 <informalexample> | |
251 <para> | |
14024 | 252 Creating an MPEG-4 file from all the JPEG files in the current directory: |
9675 | 253 <screen> |
14093
3bf74bf969ff
Unify all image encoding examples and fix a typo (*.jpg vs *.png) noticed
diego
parents:
14024
diff
changeset
|
254 mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc -lavcopts vcodec=mpeg4 -oac copy -o <replaceable>output.avi</replaceable> |
12399
9403b245fcda
Obsolet -mf syntax replaced by mf://, based on a patch sent by Compn, bug
diego
parents:
11913
diff
changeset
|
255 </screen> |
9675 | 256 </para> |
257 </informalexample> | |
258 | |
259 <informalexample> | |
260 <para> | |
14024 | 261 Creating an MPEG-4 file from some JPEG files in the current directory: |
9675 | 262 <screen> |
14093
3bf74bf969ff
Unify all image encoding examples and fix a typo (*.jpg vs *.png) noticed
diego
parents:
14024
diff
changeset
|
263 mencoder mf://<replaceable>frame001.jpg,frame002.jpg</replaceable> -mf w=800:h=600:fps=25:type=jpg -ovc lavc -lavcopts vcodec=mpeg4 -oac copy -o <replaceable>output.avi</replaceable> |
12399
9403b245fcda
Obsolet -mf syntax replaced by mf://, based on a patch sent by Compn, bug
diego
parents:
11913
diff
changeset
|
264 </screen> |
9675 | 265 </para> |
266 </informalexample> | |
267 | |
268 <informalexample> | |
269 <para> | |
270 Creating a Motion JPEG (MJPEG) file from all the JPEG files in the current | |
12399
9403b245fcda
Obsolet -mf syntax replaced by mf://, based on a patch sent by Compn, bug
diego
parents:
11913
diff
changeset
|
271 directory: |
9675 | 272 <screen> |
14093
3bf74bf969ff
Unify all image encoding examples and fix a typo (*.jpg vs *.png) noticed
diego
parents:
14024
diff
changeset
|
273 mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc copy -oac copy -o <replaceable>output.avi</replaceable> |
12399
9403b245fcda
Obsolet -mf syntax replaced by mf://, based on a patch sent by Compn, bug
diego
parents:
11913
diff
changeset
|
274 </screen> |
9675 | 275 </para> |
276 </informalexample> | |
277 | |
278 <informalexample> | |
279 <para> | |
12399
9403b245fcda
Obsolet -mf syntax replaced by mf://, based on a patch sent by Compn, bug
diego
parents:
11913
diff
changeset
|
280 Creating an uncompressed file from all the PNG files in the current directory: |
9675 | 281 <screen> |
12399
9403b245fcda
Obsolet -mf syntax replaced by mf://, based on a patch sent by Compn, bug
diego
parents:
11913
diff
changeset
|
282 mencoder mf:// -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o <replaceable>output.avi</replaceable> |
9403b245fcda
Obsolet -mf syntax replaced by mf://, based on a patch sent by Compn, bug
diego
parents:
11913
diff
changeset
|
283 </screen> |
9675 | 284 </para> |
285 </informalexample> | |
286 | |
287 <note><para> | |
15329 | 288 Width must be integer multiple of 4, it is a limitation of the RAW RGB AVI format. |
9675 | 289 </para></note> |
290 | |
291 <informalexample> | |
292 <para> | |
293 Creating a Motion PNG (MPNG) file from all the PNG files in the current | |
12399
9403b245fcda
Obsolet -mf syntax replaced by mf://, based on a patch sent by Compn, bug
diego
parents:
11913
diff
changeset
|
294 directory: |
9675 | 295 <screen> |
14093
3bf74bf969ff
Unify all image encoding examples and fix a typo (*.jpg vs *.png) noticed
diego
parents:
14024
diff
changeset
|
296 mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o <replaceable>output.avi</replaceable> <!-- |
9675 | 297 --></screen> |
298 </para> | |
299 </informalexample> | |
300 | |
301 <informalexample> | |
302 <para> | |
303 Creating a Motion TGA (MTGA) file from all the TGA files in the current | |
12399
9403b245fcda
Obsolet -mf syntax replaced by mf://, based on a patch sent by Compn, bug
diego
parents:
11913
diff
changeset
|
304 directory: |
9675 | 305 <screen> |
12399
9403b245fcda
Obsolet -mf syntax replaced by mf://, based on a patch sent by Compn, bug
diego
parents:
11913
diff
changeset
|
306 mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o <replaceable>output.avi</replaceable><!-- |
9675 | 307 --></screen> |
308 </para> | |
309 </informalexample> | |
310 | |
311 </para> | |
312 </formalpara> | |
313 </sect1> | |
314 | |
315 | |
316 <sect1 id="menc-feat-extractsub"> | |
12615 | 317 <title>Extracting DVD subtitles to VOBsub file</title> |
9675 | 318 |
319 <para> | |
320 <application>MEncoder</application> is capable of extracting subtitles from | |
12615 | 321 a DVD into VOBsub formatted files. They consist of a pair of files ending in |
9675 | 322 <filename>.idx</filename> and <filename>.sub</filename> and are usually |
323 packaged in a single <filename>.rar</filename> archive. | |
324 <application>MPlayer</application> can play these with the | |
325 <option>-vobsub</option> and <option>-vobsubid</option> options. | |
326 </para> | |
327 | |
328 <para> | |
329 You specify the basename (i.e without the <filename>.idx</filename> or | |
330 <filename>.sub</filename> extension) of the output files with | |
331 <option>-vobsubout</option> and the index for this subtitle in the | |
332 resulting files with <option>-vobsuboutindex</option>. | |
333 </para> | |
334 | |
335 <para> | |
336 If the input is not from a DVD you should use <option>-ifo</option> to | |
337 indicate the <filename>.ifo</filename> file needed to construct the | |
338 resulting <filename>.idx</filename> file. | |
339 </para> | |
340 | |
341 <para> | |
342 If the input is not from a DVD and you do not have the | |
343 <filename>.ifo</filename> file you will need to use the | |
344 <option>-vobsubid</option> option to let it know what language id to put in | |
345 the <filename>.idx</filename> file. | |
346 </para> | |
347 | |
348 <para> | |
349 Each run will append the running subtitle if the <filename>.idx</filename> | |
350 and <filename>.sub</filename> files already exist. So you should remove any | |
351 before starting. | |
352 </para> | |
353 | |
354 <example> | |
14421 | 355 <title>Copying two subtitles from a DVD while doing two pass encoding</title> |
9675 | 356 <screen> |
357 rm subtitles.idx subtitles.sub | |
12776 | 358 mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -vobsubout subtitles -vobsuboutindex 0 -sid 2 |
12400
903ac68f2bc8
divx --> lavc, spelling, more sensible section name
diego
parents:
12399
diff
changeset
|
359 mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -vobsubout subtitles -vobsuboutindex 1 -sid 5<!-- |
9675 | 360 --></screen> |
361 </example> | |
362 | |
363 <example> | |
364 <title>Copying a french subtitle from an MPEG file</title> | |
365 <screen> | |
366 rm subtitles.idx subtitles.sub | |
11710 | 367 mencoder <replaceable>movie.mpg</replaceable> -ifo <replaceable>movie.ifo</replaceable> -vobsubout subtitles -vobsuboutindex 0 -vobsuboutid fr -sid 1<!-- |
9675 | 368 --></screen> |
369 </example> | |
370 | |
371 </sect1> | |
372 | |
373 <sect1 id="aspect"> | |
374 <title>Preserving aspect ratio</title> | |
375 <para> | |
14024 | 376 DVDs and SVCDs (i.e. MPEG-1/2) files contain an aspect ratio value, which |
15329 | 377 describes how the player should scale the video stream, so humans will not |
9675 | 378 have egg heads (ex.: 480x480 + 4:3 = 640x480). However when encoding to AVI |
15329 | 379 (DivX) files, you have be aware that AVI headers do not store this value. |
10065
422876da049e
Error in the aspect ratio calculation, plus typos and rewordings.
diego
parents:
9677
diff
changeset
|
380 Rescaling the movie is disgusting and time consuming, there has to be a better |
422876da049e
Error in the aspect ratio calculation, plus typos and rewordings.
diego
parents:
9677
diff
changeset
|
381 way! |
9675 | 382 </para> |
383 | |
384 <para>There is</para> | |
385 | |
386 <para> | |
14024 | 387 MPEG-4 has an unique feature: the video stream can contain its needed aspect |
388 ratio. Yes, just like MPEG-1/2 (DVD, SVCD) and H.263 files. Regretfully, there are | |
9675 | 389 <emphasis role="bold">no</emphasis> video players outside which support this |
14024 | 390 attribute of MPEG-4, except <application>MPlayer</application>. |
9675 | 391 </para> |
392 | |
393 <para> | |
11822
359eaf957bf1
Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents:
11820
diff
changeset
|
394 This feature can be used only with |
359eaf957bf1
Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents:
11820
diff
changeset
|
395 <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>'s |
10869 | 396 <systemitem>mpeg4</systemitem> codec. Keep in mind: although |
397 <application>MPlayer</application> will correctly play the created file, | |
398 other players will use the wrong aspect ratio. | |
9675 | 399 </para> |
400 | |
401 <para> | |
402 You seriously should crop the black bands over and below the movie image. | |
10065
422876da049e
Error in the aspect ratio calculation, plus typos and rewordings.
diego
parents:
9677
diff
changeset
|
403 See the man page for the usage of the <systemitem>cropdetect</systemitem> and |
9675 | 404 <systemitem>crop</systemitem> filters. |
405 </para> | |
406 | |
407 <para> | |
10869 | 408 Usage |
11710 | 409 <screen>mencoder <replaceable>sample-svcd.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:autoaspect -vf crop=714:548:0:14 -oac copy -o <replaceable>output.avi</replaceable></screen> |
9675 | 410 </para> |
10869 | 411 </sect1> |
412 | |
413 <sect1 id="custommatrices"><title>Custom inter/intra matrices</title> | |
414 | |
415 <para> | |
11822
359eaf957bf1
Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents:
11820
diff
changeset
|
416 With this feature of |
359eaf957bf1
Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents:
11820
diff
changeset
|
417 <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link> |
13022 | 418 you are able to set custom inter (I-frames/keyframes) and intra |
11822
359eaf957bf1
Add <systemitem class="library"> tags to libavcodec and a few others.
diego
parents:
11820
diff
changeset
|
419 (P-frames/predicted frames) matrices. It is supported by many of the codecs: |
10869 | 420 <systemitem>mpeg1video</systemitem> and <systemitem>mpeg2video</systemitem> |
421 are reported as working. | |
422 </para> | |
423 | |
424 <para> | |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
425 A typical usage of this feature is to set the matrices preferred by the |
10869 | 426 <ulink url="http://www.kvcd.net/">KVCD</ulink> specifications. |
427 </para> | |
428 | |
429 <para> | |
430 The <emphasis role="bold">KVCD "Notch" Quantization Matrix:</emphasis> | |
431 </para> | |
432 | |
433 <para> | |
434 Intra: | |
435 <screen> | |
436 8 9 12 22 26 27 29 34 | |
437 9 10 14 26 27 29 34 37 | |
438 12 14 18 27 29 34 37 38 | |
439 22 26 27 31 36 37 38 40 | |
440 26 27 29 36 39 38 40 48 | |
441 27 29 34 37 38 40 48 58 | |
442 29 34 37 38 40 48 58 69 | |
443 34 37 38 40 48 58 69 79 | |
444 </screen> | |
445 | |
446 Inter: | |
447 <screen> | |
448 16 18 20 22 24 26 28 30 | |
449 18 20 22 24 26 28 30 32 | |
450 20 22 24 26 28 30 32 34 | |
451 22 24 26 30 32 32 34 36 | |
452 24 26 28 32 34 34 36 38 | |
453 26 28 30 32 34 36 38 40 | |
454 28 30 32 34 36 38 42 42 | |
455 30 32 34 36 38 40 42 44 | |
456 </screen> | |
457 </para> | |
458 | |
459 <para> | |
460 Usage: | |
461 <screen> | |
11710 | 462 $ mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=... |
10869 | 463 </screen> |
464 </para> | |
465 | |
466 <para> | |
467 <screen> | |
11710 | 468 $ mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts |
10869 | 469 vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37, |
470 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, | |
471 29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79 | |
472 :inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26, | |
473 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, | |
474 36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg | |
475 </screen> | |
476 </para> | |
9675 | 477 </sect1> |
478 | |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
479 <sect1 id="menc-feat-dvd-mpeg4"> |
14024 | 480 <title>Making a high quality MPEG-4 ("DivX") rip of a DVD movie</title> |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
481 |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
482 <para> |
15034 | 483 One frequently asked question is "How do I make the highest quality rip for |
15010 | 484 a given size?". Another question is "How do I make the highest quality DVD |
15329 | 485 rip possible? I do not care about file size, I just want the best quality." |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
486 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
487 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
488 <para> |
15010 | 489 The latter question is perhaps at least somewhat wrongly posed. After all, if |
15329 | 490 you do not care about file size, why not simply copy the entire MPEG-2 video |
15010 | 491 stream from the the DVD? Sure, your AVI will end up being 5GB, give |
15329 | 492 or take, but if you want the best quality and do not care about size, |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
493 this is certainly your best option. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
494 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
495 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
496 <para> |
14024 | 497 In fact, the reason you want to transcode a DVD into MPEG-4 is |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
498 specifically because you <emphasis role="bold">do</emphasis> care about |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
499 file size. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
500 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
501 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
502 <para> |
15329 | 503 It is difficult to offer a cookbook recipe on how to create a very high |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
504 quality DVD rip. There are several factors to consider, and you should |
15329 | 505 understand these details or else you are likely to end up disappointed |
506 with your results. Below we will investigate some of these issues, and | |
507 then have a look at an example. We assume you are using | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
508 <systemitem class="library">libavcodec</systemitem> to encode the video, |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
509 although the theory applies to other codecs as well. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
510 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
511 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
512 <para> |
15010 | 513 If this seems to be too much for you, you should probably use one of the |
15034 | 514 many fine frontends that are listed in the |
515 <ulink url="http://mplayerhq.hu/homepage/design7/projects.html#mencoder_frontends">MEncoder section</ulink> | |
516 of our related projects page. | |
15010 | 517 That way, you should be able to achieve high quality rips without too much |
518 thinking, because most of those tools are designed to take clever decisions | |
519 for you. | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
520 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
521 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
522 <sect2 id="menc-feat-dvd-mpeg4-2pass"> |
14421 | 523 <title>Constant Quantizer vs. two pass</title> |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
524 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
525 <para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
526 There are three approaches to encoding the video: constant bitrate |
14421 | 527 (CBR), constant quantizer, and two pass (ABR, or average bitrate). |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
528 </para> |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
529 |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
530 <para> |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
531 In each of these modes, <systemitem class="library">libavcodec</systemitem> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
532 breaks the video frame into 16x16 pixel macroblocks and then applies a |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
533 quantizer to each macroblock. The lower the quantizer, the better the |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
534 quality and higher the bitrate. The method |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
535 <systemitem class="library">libavcodec</systemitem> uses to determine |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
536 which quantizer to use for a given macroblock varies and is highly |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
537 tunable. (This is an extreme over-simplification of the actual |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
538 process, but the basic concept is useful to understand.) |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
539 </para> |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
540 |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
541 <para> |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
542 When you specify a constant bitrate, <systemitem |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
543 class="library">libavcodec</systemitem> will encode the video, discarding |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
544 detail as much as necessary and as little as possible in order to remain |
15329 | 545 lower than the given bitrate. If you truly do not care about file size, |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
546 you could as well use CBR and specify a bitrate of infinity. (In |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
547 practice, this means a value high enough so that it poses no limit, like |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
548 10000Kbit.) With no real restriction on bitrate, the result is that |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
549 <systemitem class="library">libavcodec</systemitem> will use the lowest |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
550 possible quantizer for each macroblock (as specified by |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
551 <option>vqmin</option>, which is 2 by default). As soon as you specify a |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
552 low enough bitrate that <systemitem class="library">libavcodec</systemitem> |
15329 | 553 is forced to use a higher quantizer, then you are almost certainly ruining |
15010 | 554 the quality of your video. |
15034 | 555 In order to avoid that, you should probably downscale your video, according |
556 to the method described later on in this guide. | |
15010 | 557 In general, you should avoid CBR altogether if you care about quality. |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
558 </para> |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
559 |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
560 <para> |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
561 With constant quantizer, <systemitem |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
562 class="library">libavcodec</systemitem> uses the same quantizer, as |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
563 specified by the <option>vqscale</option> option, on every macroblock. If |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
564 you want the highest quality rip possible, again ignoring bitrate, you can |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
565 use <option>vqscale=2</option>. This will yield the same bitrate and PSNR |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
566 (peak signal-to-noise ratio) as CBR with |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
567 <option>vbitrate</option>=infinity and the default <option>vqmin</option> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
568 of 2. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
569 </para> |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
570 |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
571 <para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
572 The problem with constant quantizing is that it uses the given quantizer |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
573 whether the macroblock needs it or not. That is, it might be possible |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
574 to use a higher quantizer on a macroblock without sacrificing visual |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
575 quality. Why waste the bits on an unnecessarily low quantizer? Your |
15329 | 576 CPU has as many cycles as there is time, but there is only so many bits |
13523 | 577 on your hard disk. |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
578 </para> |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
579 |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
580 <para> |
14421 | 581 With a two pass encode, the first pass will rip the movie as though it |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
582 were CBR, but it will keep a log of properties for each frame. This |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
583 data is then used during the second pass in order to make intelligent |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
584 decisions about which quantizers to use. During fast action or low |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
585 detail scenes, higher quantizers will likely be used, and during |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
586 slow moving or high detail scenes, lower quantizers will be used. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
587 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
588 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
589 <para> |
15329 | 590 If you use <option>vqscale=2</option>, then you are wasting bits. If you |
591 use <option>vqscale=3</option>, then you are not getting the highest | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
592 quality rip. Suppose you rip a DVD at <option>vqscale=3</option>, and |
14421 | 593 the result is 1800Kbit. If you do a two pass encode with |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
594 <option>vbitrate=1800</option>, the resulting video will have <emphasis |
14734 | 595 role="bold">higher quality</emphasis> for the |
596 <emphasis role="bold">same bitrate</emphasis>. | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
597 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
598 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
599 <para> |
15329 | 600 Since you are now convinced that two pass is the way to go, the real |
601 question now is what bitrate to use? The answer is that there is no | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
602 single answer. Ideally you want to choose a bitrate that yields the |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
603 best balance between quality and file size. This is going to vary |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
604 depending on the source video. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
605 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
606 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
607 <para> |
15329 | 608 If size does not matter, a good starting point for a very high quality |
15010 | 609 rip is about 2000Kbit plus or minus 200Kbit. |
610 For fast action or high detail source video, or if you just have a very | |
611 critical eye, you might decide on 2400 or 2600. | |
15329 | 612 For some DVDs, you might not notice a difference at 1400Kbit. It is a |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
613 good idea to experiment with scenes at different bitrates to get a feel. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
614 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
615 |
15010 | 616 <para> |
617 If you aim at a certain size, you will have to somehow calculate the bitrate. | |
618 But before that, you need to know how much space you should reserve for the | |
619 audio track(s), so you should <link linkend="menc-feat-dvd-mpeg4-audio">rip | |
620 those</link> first. | |
621 You can compute the bitrate with the following equation: | |
15131
3f01fef97002
Fix HTML generation, <equation> is more elaborate in most DTDs.
diego
parents:
15129
diff
changeset
|
622 <systemitem>bitrate = (target_size_in_Mbytes - sound_size_in_Mbytes) * |
3f01fef97002
Fix HTML generation, <equation> is more elaborate in most DTDs.
diego
parents:
15129
diff
changeset
|
623 1024 * 1024 / length_in_secs * 8 / 1000</systemitem> |
15034 | 624 For instance, to squeeze a two-hour movie onto a 702MB CD, with 60MB |
15113
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
625 of audio track, the video bitrate will have to be: |
15131
3f01fef97002
Fix HTML generation, <equation> is more elaborate in most DTDs.
diego
parents:
15129
diff
changeset
|
626 <systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000 |
3f01fef97002
Fix HTML generation, <equation> is more elaborate in most DTDs.
diego
parents:
15129
diff
changeset
|
627 = 740kbps</systemitem> |
15010 | 628 </para> |
629 | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
630 </sect2> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
631 |
15113
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
632 |
15114
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
633 <sect2 id="menc-feat-dvd-mpeg4-constraints"> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
634 <title>Constraints for efficient encoding</title> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
635 |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
636 <para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
637 Due to the nature of MPEG-type compression, there are various |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
638 constraints you should follow for maximal quality. |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
639 MPEG splits the video up into 16x16 squares called macroblocks, |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
640 each composed of 4 8x8 blocks of luma (intensity) information and two |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
641 half-resolution 8x8 chroma (color) blocks (one for red-cyan axis and |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
642 the other for the blue-yellow axis). |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
643 Even if your movie width and height are not multiples of 16, the |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
644 encoder will use enough 16x16 macroblocks to cover the whole picture |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
645 area, and the extra space will go to waste. |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
646 So in the interests of maximizing quality at a fixed filesize, it is |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
647 a bad idea to use dimensions that are not multiples of 16. |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
648 </para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
649 |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
650 <para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
651 Most DVDs also have some degree of black borders at the edges. Leaving |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
652 these in place can hurt quality in several ways. |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
653 </para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
654 |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
655 <orderedlist> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
656 <listitem> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
657 <para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
658 MPEG-type compression is also highly dependent on frequency domain |
15129 | 659 transformations, in particular the Discrete Cosine Transform (DCT), |
15114
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
660 which is similar to the Fourier transform. This sort of encoding is |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
661 efficient for representing patterns and smooth transitions, but it |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
662 has a hard time with sharp edges. In order to encode them it must |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
663 use many more bits, or else an artifact known as ringing will |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
664 appear. |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
665 </para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
666 |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
667 <para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
668 The frequency transform (DCT) takes place separately on each |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
669 macroblock (actually each block), so this problem only applies when |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
670 the sharp edge is inside a block. If your black borders begin |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
671 exactly at multiple-of-16 pixel boundaries, this is not a problem. |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
672 However, the black borders on DVDs rarely come nicely aligned, so |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
673 in practice you will always need to crop to avoid this penalty. |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
674 </para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
675 </listitem> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
676 </orderedlist> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
677 |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
678 <para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
679 In addition to frequency domain transforms, MPEG-type compression uses |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
680 motion vectors to represent the change from one frame to the next. |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
681 Motion vectors naturally work much less efficiently for new content |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
682 coming in from the edges of the picture, because it is not present in |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
683 the previous frame. As long as the picture extends all the way to the |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
684 edge of the encoded region, motion vectors have no problem with |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
685 content moving out the edges of the picture. However, in the presence |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
686 of black borders, there can be trouble: |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
687 </para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
688 |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
689 <orderedlist continuation="continues"> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
690 <listitem> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
691 <para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
692 For each macroblock, MPEG-type compression stores a vector |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
693 identifying which part of the previous frame should be copied into |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
694 this macroblock as a base for predicting the next frame. Only the |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
695 remaining differences need to be encoded. If a macroblock spans the |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
696 edge of the picture and contains part of the black border, then |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
697 motion vectors from other parts of the picture will overwrite the |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
698 black border. This means that lots of bits must be spent either |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
699 re-blackening the border that was overwritten, or (more likely) a |
15329 | 700 motion vector will not be used at all and all the changes in this |
15114
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
701 macroblock will have to be coded explicitly. Either way, encoding |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
702 efficiency is greatly reduced. |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
703 </para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
704 |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
705 <para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
706 Again, this problem only applies if black borders do not line up on |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
707 multiple-of-16 boundaries. |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
708 </para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
709 </listitem> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
710 |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
711 <listitem> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
712 <para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
713 Finally, suppose we have a macroblock in the interior of the |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
714 picture, and an object is moving into this block from near the edge |
15329 | 715 of the image. MPEG-type coding cannot say "copy the part that is |
15114
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
716 inside the picture but not the black border." So the black border |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
717 will get copied inside too, and lots of bits will have to be spent |
15329 | 718 encoding the part of the picture that is supposed to be there. |
15114
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
719 </para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
720 |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
721 <para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
722 If the picture runs all the way to the edge of the encoded area, |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
723 MPEG has special optimizations to repeatedly copy the pixels at the |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
724 edge of the picture when a motion vector comes from outside the |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
725 encoded area. This feature becomes useless when the movie has black |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
726 borders. Unlike problems 1 and 2, aligning the borders at multiples |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
727 of 16 does not help here. |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
728 </para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
729 </listitem> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
730 |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
731 <listitem> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
732 <para> |
15210 | 733 Despite the borders being entirely black and never changing, there |
15114
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
734 is at least a minimal amount of overhead involved in having more |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
735 macroblocks. |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
736 </para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
737 </listitem> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
738 </orderedlist> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
739 |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
740 <para> |
15329 | 741 For all of these reasons, it is recommended to fully crop black |
15114
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
742 borders. Further, if there is an area of noise/distortion at the edge |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
743 of the picture, cropping this will improve encoding efficiency as |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
744 well. Videophile purists who want to preserve the original as close as |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
745 possible may object to this cropping, but unless you plan to encode at |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
746 constant quantizer, the quality you gain from cropping will |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
747 considerably exceed the amount of information lost at the edges. |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
748 </para> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
749 </sect2> |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
750 |
3d462baeb78e
New section "Constraints for efficient encoding",
gpoirier
parents:
15113
diff
changeset
|
751 |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
752 <sect2 id="menc-feat-dvd-mpeg4-crop"> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
753 <title>Cropping and Scaling</title> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
754 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
755 <para> |
15221 | 756 Recall from the previous section that the final picture size you |
757 encode should be a multiple of 16 (in both width and height). | |
758 This can be achieved by cropping, scaling, or a combination of both. | |
759 </para> | |
760 | |
761 <para> | |
762 When cropping, there are a few guidelines that must be followed to | |
763 avoid damaging your movie. | |
764 The normal YUV format, 4:2:0, stores chroma (color) information | |
765 subsampled, i.e. chroma is only sampled half as often in each | |
766 direction as luma (intensity) information. | |
767 Observe this diagram, where L indicates luma sampling points and C | |
768 chroma. | |
769 </para> | |
770 | |
771 <informaltable> | |
772 <?dbhtml table-width="40%" ?> | |
773 <?dbfo table-width="40%" ?> | |
774 <tgroup cols="8" align="center"> | |
775 <colspec colnum="1" colname="col1"/> | |
776 <colspec colnum="2" colname="col2"/> | |
777 <colspec colnum="3" colname="col3"/> | |
778 <colspec colnum="4" colname="col4"/> | |
779 <colspec colnum="5" colname="col5"/> | |
780 <colspec colnum="6" colname="col6"/> | |
781 <colspec colnum="7" colname="col7"/> | |
782 <colspec colnum="8" colname="col8"/> | |
783 <spanspec spanname="spa1-2" namest="col1" nameend="col2"/> | |
784 <spanspec spanname="spa3-4" namest="col3" nameend="col4"/> | |
785 <spanspec spanname="spa5-6" namest="col5" nameend="col6"/> | |
786 <spanspec spanname="spa7-8" namest="col7" nameend="col8"/> | |
787 <tbody> | |
788 <row> | |
789 <entry>L</entry> | |
790 <entry>L</entry> | |
791 <entry>L</entry> | |
792 <entry>L</entry> | |
793 <entry>L</entry> | |
794 <entry>L</entry> | |
795 <entry>L</entry> | |
796 <entry>L</entry> | |
797 </row> | |
798 <row> | |
799 <entry spanname="spa1-2">C</entry> | |
800 <entry spanname="spa3-4">C</entry> | |
801 <entry spanname="spa5-6">C</entry> | |
802 <entry spanname="spa7-8">C</entry> | |
803 </row> | |
804 <row> | |
805 <entry>L</entry> | |
806 <entry>L</entry> | |
807 <entry>L</entry> | |
808 <entry>L</entry> | |
809 <entry>L</entry> | |
810 <entry>L</entry> | |
811 <entry>L</entry> | |
812 <entry>L</entry> | |
813 </row> | |
814 <row> | |
815 <entry>L</entry> | |
816 <entry>L</entry> | |
817 <entry>L</entry> | |
818 <entry>L</entry> | |
819 <entry>L</entry> | |
820 <entry>L</entry> | |
821 <entry>L</entry> | |
822 <entry>L</entry> | |
823 </row> | |
824 <row> | |
825 <entry spanname="spa1-2">C</entry> | |
826 <entry spanname="spa3-4">C</entry> | |
827 <entry spanname="spa5-6">C</entry> | |
828 <entry spanname="spa7-8">C</entry> | |
829 </row> | |
830 <row> | |
831 <entry>L</entry> | |
832 <entry>L</entry> | |
833 <entry>L</entry> | |
834 <entry>L</entry> | |
835 <entry>L</entry> | |
836 <entry>L</entry> | |
837 <entry>L</entry> | |
838 <entry>L</entry> | |
839 </row> | |
840 </tbody> | |
841 </tgroup> | |
842 </informaltable> | |
843 | |
844 <para> | |
845 As you can see, rows and columns of the image naturally come in pairs. | |
846 Thus your crop offsets and dimensions <emphasis>must</emphasis> be | |
847 even numbers. | |
848 If they are not, the chroma will no longer line up correctly with the | |
849 luma. | |
15329 | 850 In theory, it is possible to crop with odd offsets, but it requires |
15221 | 851 resampling the chroma which is potentially a lossy operation and not |
852 supported by the crop filter. | |
853 </para> | |
854 | |
855 <para> | |
856 Further, interlaced video is sampled as follows: | |
857 </para> | |
858 | |
859 <informaltable> | |
860 <?dbhtml table-width="80%" ?> | |
861 <?dbfo table-width="80%" ?> | |
862 <tgroup cols="16" align="center"> | |
863 <colspec colnum="1" colname="col1"/> | |
864 <colspec colnum="2" colname="col2"/> | |
865 <colspec colnum="3" colname="col3"/> | |
866 <colspec colnum="4" colname="col4"/> | |
867 <colspec colnum="5" colname="col5"/> | |
868 <colspec colnum="6" colname="col6"/> | |
869 <colspec colnum="7" colname="col7"/> | |
870 <colspec colnum="8" colname="col8"/> | |
871 <colspec colnum="9" colname="col9"/> | |
872 <colspec colnum="10" colname="col10"/> | |
873 <colspec colnum="11" colname="col11"/> | |
874 <colspec colnum="12" colname="col12"/> | |
875 <colspec colnum="13" colname="col13"/> | |
876 <colspec colnum="14" colname="col14"/> | |
877 <colspec colnum="15" colname="col15"/> | |
878 <colspec colnum="16" colname="col16"/> | |
879 <spanspec spanname="spa1-2" namest="col1" nameend="col2"/> | |
880 <spanspec spanname="spa3-4" namest="col3" nameend="col4"/> | |
881 <spanspec spanname="spa5-6" namest="col5" nameend="col6"/> | |
882 <spanspec spanname="spa7-8" namest="col7" nameend="col8"/> | |
883 <spanspec spanname="spa9-10" namest="col9" nameend="col10"/> | |
884 <spanspec spanname="spa11-12" namest="col11" nameend="col12"/> | |
885 <spanspec spanname="spa13-14" namest="col13" nameend="col14"/> | |
886 <spanspec spanname="spa15-16" namest="col15" nameend="col16"/> | |
887 <tbody> | |
888 <row> | |
889 <entry namest="col1" nameend="col8">Top field</entry> | |
890 <entry namest="col9" nameend="col16">Bottom field</entry> | |
891 </row> | |
892 <row> | |
893 <entry>L</entry> | |
894 <entry>L</entry> | |
895 <entry>L</entry> | |
896 <entry>L</entry> | |
897 <entry>L</entry> | |
898 <entry>L</entry> | |
899 <entry>L</entry> | |
900 <entry>L</entry> | |
901 <entry></entry> | |
902 <entry></entry> | |
903 <entry></entry> | |
904 <entry></entry> | |
905 <entry></entry> | |
906 <entry></entry> | |
907 <entry></entry> | |
908 <entry></entry> | |
909 </row> | |
910 <row> | |
911 <entry spanname="spa1-2">C</entry> | |
912 <entry spanname="spa3-4">C</entry> | |
913 <entry spanname="spa5-6">C</entry> | |
914 <entry spanname="spa7-8">C</entry> | |
915 <entry></entry> | |
916 <entry></entry> | |
917 <entry></entry> | |
918 <entry></entry> | |
919 <entry></entry> | |
920 <entry></entry> | |
921 <entry></entry> | |
922 <entry></entry> | |
923 </row> | |
924 <row> | |
925 <entry></entry> | |
926 <entry></entry> | |
927 <entry></entry> | |
928 <entry></entry> | |
929 <entry></entry> | |
930 <entry></entry> | |
931 <entry></entry> | |
932 <entry></entry> | |
933 <entry>L</entry> | |
934 <entry>L</entry> | |
935 <entry>L</entry> | |
936 <entry>L</entry> | |
937 <entry>L</entry> | |
938 <entry>L</entry> | |
939 <entry>L</entry> | |
940 <entry>L</entry> | |
941 </row> | |
942 <row> | |
943 <entry>L</entry> | |
944 <entry>L</entry> | |
945 <entry>L</entry> | |
946 <entry>L</entry> | |
947 <entry>L</entry> | |
948 <entry>L</entry> | |
949 <entry>L</entry> | |
950 <entry>L</entry> | |
951 <entry></entry> | |
952 <entry></entry> | |
953 <entry></entry> | |
954 <entry></entry> | |
955 <entry></entry> | |
956 <entry></entry> | |
957 <entry></entry> | |
958 <entry></entry> | |
959 </row> | |
960 <row> | |
961 <entry></entry> | |
962 <entry></entry> | |
963 <entry></entry> | |
964 <entry></entry> | |
965 <entry></entry> | |
966 <entry></entry> | |
967 <entry></entry> | |
968 <entry></entry> | |
969 <entry spanname="spa9-10">C</entry> | |
970 <entry spanname="spa11-12">C</entry> | |
971 <entry spanname="spa13-14">C</entry> | |
972 <entry spanname="spa15-16">C</entry> | |
973 </row> | |
974 <row> | |
975 <entry></entry> | |
976 <entry></entry> | |
977 <entry></entry> | |
978 <entry></entry> | |
979 <entry></entry> | |
980 <entry></entry> | |
981 <entry></entry> | |
982 <entry></entry> | |
983 <entry>L</entry> | |
984 <entry>L</entry> | |
985 <entry>L</entry> | |
986 <entry>L</entry> | |
987 <entry>L</entry> | |
988 <entry>L</entry> | |
989 <entry>L</entry> | |
990 <entry>L</entry> | |
991 </row> | |
992 <row> | |
15271
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
993 <entry>L</entry> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
994 <entry>L</entry> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
995 <entry>L</entry> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
996 <entry>L</entry> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
997 <entry>L</entry> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
998 <entry>L</entry> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
999 <entry>L</entry> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
1000 <entry>L</entry> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
1001 <entry></entry> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
1002 <entry></entry> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
1003 <entry></entry> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
1004 <entry></entry> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
1005 <entry></entry> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
1006 <entry></entry> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
1007 <entry></entry> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
1008 <entry></entry> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
1009 </row> |
15504d659558
Fix the pattern that wasn't repeated every 4 lines.
gpoirier
parents:
15221
diff
changeset
|
1010 <row> |
15221 | 1011 <entry spanname="spa1-2">C</entry> |
1012 <entry spanname="spa3-4">C</entry> | |
1013 <entry spanname="spa5-6">C</entry> | |
1014 <entry spanname="spa7-8">C</entry> | |
1015 <entry></entry> | |
1016 <entry></entry> | |
1017 <entry></entry> | |
1018 <entry></entry> | |
1019 <entry></entry> | |
1020 <entry></entry> | |
1021 <entry></entry> | |
1022 <entry></entry> | |
1023 </row> | |
1024 <row> | |
1025 <entry></entry> | |
1026 <entry></entry> | |
1027 <entry></entry> | |
1028 <entry></entry> | |
1029 <entry></entry> | |
1030 <entry></entry> | |
1031 <entry></entry> | |
1032 <entry></entry> | |
1033 <entry>L</entry> | |
1034 <entry>L</entry> | |
1035 <entry>L</entry> | |
1036 <entry>L</entry> | |
1037 <entry>L</entry> | |
1038 <entry>L</entry> | |
1039 <entry>L</entry> | |
1040 <entry>L</entry> | |
1041 </row> | |
1042 <row> | |
1043 <entry>L</entry> | |
1044 <entry>L</entry> | |
1045 <entry>L</entry> | |
1046 <entry>L</entry> | |
1047 <entry>L</entry> | |
1048 <entry>L</entry> | |
1049 <entry>L</entry> | |
1050 <entry>L</entry> | |
1051 <entry></entry> | |
1052 <entry></entry> | |
1053 <entry></entry> | |
1054 <entry></entry> | |
1055 <entry></entry> | |
1056 <entry></entry> | |
1057 <entry></entry> | |
1058 <entry></entry> | |
1059 </row> | |
1060 <row> | |
1061 <entry></entry> | |
1062 <entry></entry> | |
1063 <entry></entry> | |
1064 <entry></entry> | |
1065 <entry></entry> | |
1066 <entry></entry> | |
1067 <entry></entry> | |
1068 <entry></entry> | |
1069 <entry spanname="spa9-10">C</entry> | |
1070 <entry spanname="spa11-12">C</entry> | |
1071 <entry spanname="spa13-14">C</entry> | |
1072 <entry spanname="spa15-16">C</entry> | |
1073 </row> | |
1074 <row> | |
1075 <entry></entry> | |
1076 <entry></entry> | |
1077 <entry></entry> | |
1078 <entry></entry> | |
1079 <entry></entry> | |
1080 <entry></entry> | |
1081 <entry></entry> | |
1082 <entry></entry> | |
1083 <entry>L</entry> | |
1084 <entry>L</entry> | |
1085 <entry>L</entry> | |
1086 <entry>L</entry> | |
1087 <entry>L</entry> | |
1088 <entry>L</entry> | |
1089 <entry>L</entry> | |
1090 <entry>L</entry> | |
1091 </row> | |
1092 </tbody> | |
1093 </tgroup> | |
1094 </informaltable> | |
1095 | |
1096 <para> | |
1097 As you can see, the pattern does not repeat until after 4 lines. | |
1098 So for interlaced video, your y-offset and height for cropping must | |
1099 be multiples of 4. | |
1100 </para> | |
1101 | |
1102 <para> | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1103 Native DVD resolution is 720x480 for NTSC, and 720x576 for PAL, but |
15329 | 1104 there is an aspect flag that specifies whether it is full-screen (4:3) or |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1105 wide-screen (16:9). Many (if not most) widescreen DVDs are not strictly |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1106 16:9, and will be either 1.85:1 or 2.35:1 (cinescope). This means that |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1107 there will be black bands in the video that will need to be cropped out. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1108 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1109 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1110 <para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1111 <application>MPlayer</application> provides a crop detection filter that |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1112 will determine the crop rectangle (<option>-vf cropdetect</option>). |
15221 | 1113 Run <application>MPlayer</application> with |
1114 <option>-vf cropdetect</option> and it will print out the crop | |
1115 settings to remove the borders. | |
1116 You should let the movie run long enough that the whole picture | |
1117 area is used, in order to get accurate crop values. | |
1118 </para> | |
1119 | |
1120 <para> | |
1121 Then, test the values you get with <application>MPlayer</application>, | |
1122 using the command line which was printed by | |
1123 <option>cropdetect</option>, and adjust the rectangle as needed. | |
1124 The <option>rectangle</option> filter can help by allowing you to | |
1125 interactively position the crop rectangle over your movie. | |
1126 Remember to follow the above divisibility guidelines so that you | |
1127 do not misalign the chroma planes. | |
1128 </para> | |
1129 | |
1130 <para> | |
1131 In certain cases, scaling may be undesirable. | |
1132 Scaling in the vertical direction is difficult with interlaced | |
1133 video, and if you wish to preserve the interlacing, you should | |
1134 usually refrain from scaling. | |
1135 If you will not be scaling but you still want to use multiple-of-16 | |
1136 dimensions, you will have to overcrop. | |
1137 Do not undercrop, since black borders are very bad for encoding! | |
1138 </para> | |
1139 | |
1140 <para> | |
15329 | 1141 Because MPEG-4 uses 16x16 macroblocks, you will want to make sure that each |
1142 dimension of the video you are encoding is a multiple of 16 or else you | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1143 will be degrading quality, especially at lower bitrates. You can do this |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1144 by rounding the width and height of the crop rectangle down to the nearest |
15221 | 1145 multiple of 16. |
15329 | 1146 As stated earlier, when cropping, you will want to increase the Y offset by |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1147 half the difference of the old and the new height so that the resulting |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1148 video is taken from the center of the frame. And because of the way DVD |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1149 video is sampled, make sure the offset is an even number. (In fact, as a |
15329 | 1150 rule, never use odd values for any parameter when you are cropping and |
1151 scaling video.) If you are not comfortable throwing a few extra pixels | |
1152 away, you might prefer instead to scale the video instead. We will look | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1153 at this in our example below. |
15010 | 1154 You can actually let the <option>cropdetect</option> filter do all of the |
1155 above for you, as it has an optional <option>round</option> parameter that | |
1156 is equal to 16 by default. | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1157 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1158 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1159 <para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1160 Also, be careful about "half black" pixels at the edges. Make sure you |
15329 | 1161 crop these out too, or else you will be wasting bits there that |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1162 are better spent elsewhere. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1163 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1164 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1165 <para> |
15329 | 1166 After all is said and done, you will probably end up with video whose pixels |
1167 are not quite 1.85:1 or 2.35:1, but rather something close to that. You | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1168 could calculate the new aspect ratio manually, but |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1169 <application>MEncoder</application> offers an option for <systemitem |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1170 class="library">libavcodec</systemitem> called <option>autoaspect</option> |
15010 | 1171 that will do this for you. Absolutely do not scale this video up in order to |
13523 | 1172 square the pixels unless you like to waste your hard disk space. Scaling |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1173 should be done on playback, and the player will use the aspect stored in |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1174 the AVI to determine the correct resolution. |
15010 | 1175 Unfortunately, not all players enforce this auto-scaling information, |
1176 therefore you may still want to rescale. | |
1177 </para> | |
1178 | |
1179 <para> | |
1180 First, you should compute the encoded aspect ratio: | |
15131
3f01fef97002
Fix HTML generation, <equation> is more elaborate in most DTDs.
diego
parents:
15129
diff
changeset
|
1181 <systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem> |
15010 | 1182 <itemizedlist> |
1183 <title>where:</title> | |
1184 <listitem><para> | |
1185 Wc and Hc are the width and height of the cropped video, | |
1186 </para></listitem> | |
1187 <listitem><para> | |
15216 | 1188 PRdvd is the pixel ratio of the DVD which is equal to 1.25=(720/576) for PAL |
15010 | 1189 DVDs and 1.5=(720/480) for NTSC DVDs, |
1190 </para></listitem> | |
1191 </itemizedlist> | |
1192 </para> | |
1193 | |
1194 <para> | |
1195 Then, you can compute the X and Y resolution, according to a certain | |
1196 Compression Quality (CQ) factor: | |
15131
3f01fef97002
Fix HTML generation, <equation> is more elaborate in most DTDs.
diego
parents:
15129
diff
changeset
|
1197 <systemitem>ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16</systemitem> |
3f01fef97002
Fix HTML generation, <equation> is more elaborate in most DTDs.
diego
parents:
15129
diff
changeset
|
1198 <systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem> |
15010 | 1199 </para> |
1200 | |
1201 <para> | |
1202 Okay, but what is the CQ? | |
1203 The CQ represents the number of bits per pixel and per frame of the encode. | |
1204 Roughly speaking, the greater the CQ, the less the likelihood to see | |
1205 encoding artifacts. | |
1206 However, if you have a target size for your movie (1 or 2 CDs for instance), | |
15329 | 1207 there is a limited total number of bits that you can spend; therefore it is |
15010 | 1208 necessary to find a good tradeoff between compressibility and quality. |
15113
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
1209 </para> |
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
1210 |
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
1211 <para> |
15010 | 1212 The CQ depends both on the bitrate and the movie resolution. |
15329 | 1213 In order to raise the CQ, typically you would downscale the movie given that the |
15010 | 1214 bitrate is computed in function of the target size and the length of the |
1215 movie, which are constant. | |
1216 A CQ below 0.18 usually ends up in a very blocky picture, because there | |
15329 | 1217 are not enough bits to code the information of each macroblock (MPEG4, like |
15010 | 1218 many other codecs, groups pixels by blocks of several pixels to compress the |
15329 | 1219 image; if there are not enough bits, the edges of those blocks are |
15010 | 1220 visible). |
15329 | 1221 It is therefore wise to take a CQ ranging from 0.20 to 0.22 for a 1 CD rip, |
15210 | 1222 and 0.26-0.28 for 2 CDs. |
15113
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
1223 </para> |
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
1224 |
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
1225 <para> |
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
1226 Please take note that the CQ is just an indicative figure, as depending on |
15010 | 1227 the encoded content, a CQ of 0.18 may look just fine for a Bergman, contrary |
1228 to a movie such as The Matrix, which contains many high-motion scenes. | |
15329 | 1229 On the other hand, it is worthless to raise CQ higher than 0.30 as you would |
15010 | 1230 be wasting bits without any noticeable quality gain. |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1231 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1232 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1233 </sect2> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1234 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1235 <sect2 id="menc-feat-dvd-mpeg4-audio"> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1236 <title>Audio</title> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1237 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1238 <para> |
15010 | 1239 Audio is a much simpler problem to solve: if you care about quality, just |
1240 leave it as is. | |
15329 | 1241 Even AC3 5.1 streams are at most 448Kbit/s, and they are worth every bit. |
15034 | 1242 You might be tempted to transcode the audio to high quality Vorbis, but |
15329 | 1243 just because you do not have an A/V receiver for AC3 pass-through today |
1244 does not mean you will not have one tomorrow. Future-proof your DVD rips by | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1245 preserving the AC3 stream. |
15010 | 1246 You can keep the AC3 stream either by copying it directly into the video |
1247 stream <link linkend="menc-feat-mpeg4">during the encoding</link>. | |
1248 You can also extract the AC3 stream in order to mux it into containers such | |
15153 | 1249 as NUT or Matroska. |
15139 | 1250 <screen>mplayer <replaceable>source_file.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>sound.ac3</replaceable></screen> |
15153 | 1251 will dump into the file <replaceable>sound.ac3</replaceable> the |
1252 audio track number 129 from the file | |
1253 <replaceable>source_file.vob</replaceable> (NB: DVD VOB files | |
1254 usually use a different audio numbering, | |
15034 | 1255 which means that the VOB audio track 129 is the 2nd audio track of the file). |
15010 | 1256 </para> |
1257 | |
1258 <para> | |
1259 But sometimes you truly have no choice but to further compress the | |
1260 sound so that more bits can be spent on the video. | |
15034 | 1261 Most people choose to compress audio with either MP3 or Vorbis audio |
15010 | 1262 codecs. |
1263 While the latter is a very space-efficient codec, MP3 is better supported | |
1264 by hardware players, although this trend is changing. | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1265 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1266 |
15010 | 1267 <para> |
1268 First of all, you will have to convert the DVD sound into a WAV file that the | |
1269 audio codec can use as input. | |
1270 For example: | |
15139 | 1271 <screen>mplayer <replaceable>source_file.vob</replaceable> -ao pcm:file=<replaceable>destination_sound.wav</replaceable> -vc dummy -aid 1 -vo null</screen> |
15153 | 1272 will dump the second audio track from the file |
1273 <replaceable>source_file.vob</replaceable> into the file | |
1274 <replaceable>destination_sound.wav</replaceable>. | |
15010 | 1275 You may want to normalize the sound before encoding, as DVD audio tracks |
1276 are commonly recorded at low volumes. | |
1277 You can use the tool <application>normalize</application> for instance, | |
15031
d377a597dc28
Fixes better wording. Suggestions by The Wanderer and Josh Varner.
gpoirier
parents:
15029
diff
changeset
|
1278 which is available in most distributions. |
15329 | 1279 If you are using Windows, a tool such as <application>BeSweet</application> |
15031
d377a597dc28
Fixes better wording. Suggestions by The Wanderer and Josh Varner.
gpoirier
parents:
15029
diff
changeset
|
1280 can do the same job. |
15034 | 1281 You will compress in either Vorbis or MP3. |
15010 | 1282 For example: |
15139 | 1283 <screen>oggenc -q1 <replaceable>destination_sound.wav</replaceable></screen> |
15153 | 1284 will encode <replaceable>destination_sound.wav</replaceable> with |
1285 the encoding quality 1, which is roughly equivalent to 80Kb/s, and | |
1286 is the minimum quality at which you should encode if you care about | |
1287 quality. | |
15113
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
1288 Please note that MEncoder currently cannot mux Vorbis audio tracks |
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
1289 into the output file because it only supports AVI and MPEG |
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
1290 containers as an output, each of which may lead to audio/video |
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
1291 playback synchronization problems with some players when the AVI file |
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
1292 contain VBR audio streams such as Vorbis. |
15329 | 1293 Do not worry, this document will show you how you can do that with third |
15010 | 1294 party programs. |
1295 </para> | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1296 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1297 </sect2> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1298 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1299 <sect2 id="menc-feat-dvd-mpeg4-interlacing"> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1300 <title>Interlacing and Telecine</title> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1301 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1302 <para> |
14958 | 1303 Almost all movies are shot at 24 fps. Because NTSC is 30000/1001 fps, some |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1304 processing must be done to this 24 fps video to make it run at the correct |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1305 NTSC framerate. The process is called 3:2 pulldown, commonly referred to |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1306 as telecine (because pulldown is often applied during the telecine |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1307 process), and, naively described, it works by slowing the film down to |
14958 | 1308 24000/1001 fps, and repeating every fourth frame. |
11780 | 1309 </para> |
1310 | |
1311 <para> | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1312 No special processing, however, is done to the video for PAL DVDs, which |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1313 run at 25 fps. (Technically, PAL can be telecined, called 2:2 pulldown, |
15329 | 1314 but this does not become an issue in practice.) The 24 fps film is simply |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1315 played back at 25 fps. The result is that the movie runs slightly faster, |
15329 | 1316 but unless you are an alien, you probably will not notice the difference. |
1317 Most PAL DVDs have pitch-corrected audio, so when they are played back at | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1318 25 fps things will sound right, even though the audio track (and hence the |
15329 | 1319 whole movie) has a running time that is 4% less than NTSC DVDs. |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1320 </para> |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1321 |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1322 <para> |
15329 | 1323 Because the video in a PAL DVD has not been altered, you needn't worry |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1324 much about frame rate. The source is 25 fps, and your rip will be 25 |
15329 | 1325 fps. However, if you are ripping an NTSC DVD movie, you may need to |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1326 apply inverse telecine. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1327 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1328 |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1329 <para> |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1330 For movies shot at 24 fps, the video on the NTSC DVD is either telecined |
14958 | 1331 30000/1001, or else it is progressive 24000/1001 fps and intended to be telecined |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1332 on-the-fly by a DVD player. On the other hand, TV series are usually |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1333 only interlaced, not telecined. This is not a hard rule: some TV series |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1334 are interlaced (such as Buffy the Vampire Slayer) whereas some are a |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1335 mixture of progressive and interlaced (such as Angel, or 24). |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1336 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1337 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1338 <para> |
15329 | 1339 It is highly recommended that you read the section on |
14734 | 1340 <link linkend="menc-feat-telecine">How to deal with telecine and interlacing in NTSC DVDs</link> |
1341 to learn how to handle the different possibilities. | |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1342 </para> |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1343 |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1344 <para> |
15329 | 1345 However, if you are mostly just ripping movies, likely you are either |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1346 dealing with 24 fps progressive or telecined video, in which case you can |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1347 use the <option>pullup</option> filter <option>-vf |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1348 pullup,softskip</option>. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1349 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1350 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1351 </sect2> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1352 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1353 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1354 <sect2 id="menc-feat-dvd-mpeg4-filtering"> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1355 <title>Filtering</title> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1356 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1357 <para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1358 In general, you want to do as little filtering as possible to the movie |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1359 in order to remain close to the original DVD source. Cropping is often |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1360 necessary (as described above), but do not scale the video. Although |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1361 scaling down is sometimes preferred to using higher quantizers, we want |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1362 to avoid both these things: remember that we decided from the start to |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1363 trade bits for quality. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1364 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1365 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1366 <para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1367 Also, do not adjust gamma, contrast, brightness, etc. What looks good |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1368 on your display may not look good on others. These adjustments should |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1369 be done on playback only. |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1370 </para> |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1371 |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1372 <para> |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1373 One thing you might want to do, however, is pass the video through a |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1374 very light denoise filter, such as <option>-vf hqdn3d=2:1:2</option>. |
15329 | 1375 Again, it is a matter of putting those bits to better use: why waste them |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1376 encoding noise when you can just add that noise back in during playback? |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1377 Increasing the parameters for <option>hqdn3d</option> will further |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1378 improve compressibility, but if you increase the values too much, you |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1379 risk degrading the image visibily. The suggested values above |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1380 (<option>2:1:2</option>) are quite conservative; you should feel free to |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1381 experiment with higher values and observe the results for yourself. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1382 </para> |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1383 |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1384 </sect2> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1385 |
15113
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
1386 <sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options"> |
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
1387 <title>Encoding options of libavcodec</title> |
15010 | 1388 |
1389 <para> | |
15329 | 1390 Ideally, you would probably want to be able to just tell the encoder to switch |
15010 | 1391 into "high quality" mode and move on. |
1392 That would probably be nice, but unfortunately hard to implement as different | |
15034 | 1393 encoding options yield different quality results depending on the source material. |
15329 | 1394 That is because compression depends on the visual properties of the video |
15031
d377a597dc28
Fixes better wording. Suggestions by The Wanderer and Josh Varner.
gpoirier
parents:
15029
diff
changeset
|
1395 in question. |
d377a597dc28
Fixes better wording. Suggestions by The Wanderer and Josh Varner.
gpoirier
parents:
15029
diff
changeset
|
1396 For example, anime and live action have very different properties and |
d377a597dc28
Fixes better wording. Suggestions by The Wanderer and Josh Varner.
gpoirier
parents:
15029
diff
changeset
|
1397 thus require different options to obtain optimum encoding. |
15010 | 1398 The good news is that some options should never be left out, like |
1399 <option>mbd=2</option>, <option>trell</option>, and <option>v4mv</option>. | |
15034 | 1400 See below for a detailed description of common encoding options. |
15010 | 1401 </para> |
1402 | |
1403 | |
1404 <itemizedlist> | |
1405 <title>Options to adjust:</title> | |
1406 <listitem><para> | |
1407 <emphasis role="bold">vmax_b_frames</emphasis>: 1 or 2 is good, depending on | |
1408 the movie. | |
1409 Note that libavcodec does not yet support closed GOP (the option | |
15329 | 1410 <option>cgop</option> does not currently work), so DivX5 will not be able to |
15010 | 1411 decode anything encoded with B-frames. |
1412 </para></listitem> | |
1413 | |
1414 <listitem><para> | |
1415 <emphasis role="bold">vb_strategy=1</emphasis>: helps in high-motion scenes. | |
1416 Requires vmax_b_frames >= 2. | |
1417 On some videos, vmax_b_frames may hurt quality, but vmax_b_frames=2 along | |
1418 with vb_strategy=1 helps. | |
1419 </para></listitem> | |
1420 | |
1421 <listitem><para> | |
1422 <emphasis role="bold">dia</emphasis>: motion search range. Bigger is better | |
1423 and slower. | |
1424 Negative values are a completely different scale. | |
1425 Good values are -1 for a fast encode, or 2-4 for slower. | |
1426 </para></listitem> | |
1427 | |
1428 <listitem><para> | |
1429 <emphasis role="bold">predia</emphasis>: motion search pre-pass. | |
1430 Not as important as dia. Good values are 1 (default) to 4. Requires preme=2 | |
1431 to really be useful. | |
1432 </para></listitem> | |
1433 | |
1434 <listitem><para> | |
1435 <emphasis role="bold">cmp, subcmp, precmp</emphasis>: Comparison function for | |
1436 motion estimation. | |
1437 Experiment with values of 0 (default), 2 (hadamard), 3 (dct), and 6 (rate | |
1438 distortion). | |
1439 0 is fastest, and sufficient for precmp. | |
1440 For cmp and subcmp, 2 is good for anime, and 3 is good for live action. | |
1441 6 may or may not be slightly better, but is slow. | |
1442 </para></listitem> | |
1443 | |
1444 <listitem><para> | |
1445 <emphasis role="bold">last_pred</emphasis>: Number of motion predictors to | |
1446 take from the previous frame. | |
1447 1-3 or so help at little speed cost. | |
1448 Higher values are slow for no extra gain. | |
1449 </para></listitem> | |
1450 | |
1451 <listitem><para> | |
1452 <emphasis role="bold">cbp, mv0</emphasis>: Controls the selection of macroblocks. | |
1453 Small speed cost for small quality gain. | |
1454 </para></listitem> | |
1455 | |
1456 <listitem><para> | |
1457 <emphasis role="bold">qprd</emphasis>: adaptive quantization based on the | |
1458 macroblock's complexity. | |
1459 May help or hurt depending on the video and other options. | |
1460 This can cause artifacts unless you set vqmax to some reasonably small value | |
1461 (6 is good, maybe as low as 4); vqmin=1 should also help. | |
1462 </para></listitem> | |
1463 | |
1464 <listitem><para> | |
1465 <emphasis role="bold">qns</emphasis>: very slow, especially when combined | |
1466 with qprd. | |
15031
d377a597dc28
Fixes better wording. Suggestions by The Wanderer and Josh Varner.
gpoirier
parents:
15029
diff
changeset
|
1467 This option will make the encoder minimize noise due to compression |
15038 | 1468 artifacts instead of making the encoded video strictly match the source. |
15329 | 1469 Do not use this unless you have already tweaked everything else as far as it |
1470 will go and the results still are not good enough. | |
15010 | 1471 </para></listitem> |
1472 | |
1473 <listitem><para> | |
1474 <emphasis role="bold">vqcomp</emphasis>: Tweak ratecontrol. | |
1475 What values are good depends on the movie. | |
1476 You can safely leave this alone if you want. | |
1477 Reducing vqcomp puts more bits on low-complexity scenes, increasing it puts | |
1478 them on high-complexity scenes (default: 0.5, range: 0-1. recommended range: | |
1479 0.5-0.7). | |
1480 </para></listitem> | |
1481 | |
1482 <listitem><para> | |
1483 <emphasis role="bold">vlelim, vcelim</emphasis>: Sets the single coefficient | |
1484 elimination threshold for luminance and chroma planes. | |
1485 These are encoded separately in all MPEG-like algorithms. | |
1486 The idea behind these options is to use some good heuristics to determine | |
1487 when the change in a block is less than the threshold you specify, and in | |
1488 such a case, to just encode the block as "no change". | |
1489 This saves bits and perhaps speeds up encoding. vlelim=-4 and vcelim=9 | |
15034 | 1490 seem to be good for live movies, but seem not to help with anime; |
15010 | 1491 when encoding animation, you should probably leave them unchanged. |
1492 </para></listitem> | |
1493 | |
1494 <listitem><para> | |
1495 <emphasis role="bold">qpel</emphasis>: Quarter pixel motion estimation. | |
15034 | 1496 MPEG-4 uses half pixel precision for its motion search by default, |
15010 | 1497 therefore this option comes with an overhead as more information will be |
1498 stored in the encoded file. | |
15329 | 1499 The compression gain/loss depends on the movie, but it is usually not very |
15010 | 1500 effective on anime. |
15034 | 1501 qpel always incurs a significant cost in CPU decode time (+20% in |
15010 | 1502 practice). |
1503 </para></listitem> | |
1504 | |
1505 <listitem><para> | |
15329 | 1506 <emphasis role="bold">psnr</emphasis>: does not affect the actual encoding, |
15010 | 1507 but writes a log file giving the type/size/quality of each frame, and |
15034 | 1508 prints a summary of PSNR (Peak Signal to Noise Ratio) at the end. |
15010 | 1509 </para></listitem> |
1510 | |
1511 </itemizedlist> | |
1512 | |
1513 <itemizedlist> | |
1514 <title>Options not recommended to play with:</title> | |
1515 <listitem><para> | |
1516 <emphasis role="bold">vme</emphasis>: The default is best. | |
1517 </para></listitem> | |
1518 | |
1519 <listitem><para> | |
1520 <emphasis role="bold">lumi_mask, dark_mask</emphasis>: Psychovisual adaptive | |
1521 quantization. | |
15329 | 1522 You do not want to play with those options if you care about quality. |
15031
d377a597dc28
Fixes better wording. Suggestions by The Wanderer and Josh Varner.
gpoirier
parents:
15029
diff
changeset
|
1523 Reasonable values may be effective in your case, but be warned this is very |
15010 | 1524 subjective. |
1525 </para></listitem> | |
1526 | |
1527 <listitem><para> | |
1528 <emphasis role="bold">scplx_mask</emphasis>: Tries to prevent blocky | |
1529 artifacts, but postprocessing is better. | |
1530 </para></listitem> | |
1531 </itemizedlist> | |
1532 | |
1533 </sect2> | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1534 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1535 <sect2 id="menc-feat-dvd-mpeg4-example"> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1536 <title>Example</title> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1537 |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1538 <para> |
15329 | 1539 So, you have just bought your shiny new copy of Harry Potter and the Chamber |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1540 of Secrets (widescreen edition, of course), and you want to rip this DVD |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1541 so that you can add it to your Home Theatre PC. This is a region 1 DVD, |
15329 | 1542 so it is NTSC. The example below will still apply to PAL, except you will |
14958 | 1543 omit <option>-ofps 24000/1001</option> (because the output framerate is the |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1544 same as the input framerate), and of course the crop dimensions will be |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1545 different. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1546 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1547 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1548 <para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1549 After running <option>mplayer dvd://1</option>, we follow the process |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1550 detailed in the section <link linkend="menc-feat-telecine">How to deal |
15329 | 1551 with telecine and interlacing in NTSC DVDs</link> and discover that it is |
14958 | 1552 24000/1001 fps progressive video, which means that we needn't use an inverse |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1553 telecine filter, such as <option>pullup</option> or |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1554 <option>filmdint</option>. |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1555 </para> |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1556 |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1557 <para> |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1558 Next, we want to determine the appropriate crop rectangle, so we use the |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1559 cropdetect filter: |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1560 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1561 <screen>mplayer dvd://1 -vf cropdetect</screen> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1562 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1563 Make sure you seek to a fully filled frame (such as a bright scene), and |
15329 | 1564 you will see in <application>MPlayer</application>'s console output: |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1565 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1566 <screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen> |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1567 |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1568 We then play the movie back with this filter to test its correctness: |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1569 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1570 <screen>mplayer dvd://1 -vf crop=720:362:0:58</screen> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1571 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1572 And we see that it looks perfectly fine. Next, we ensure the width and |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1573 height are a multiple of 16. The width is fine, however the height is |
15329 | 1574 not. Since we did not fail 7th grade math, we know that the nearest |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1575 multiple of 16 lower than 362 is 352. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1576 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1577 |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1578 <para> |
15329 | 1579 We could just use <option>crop=720:352:0:58</option>, but it would be nice |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1580 to take a little off the top and a little off the bottom so that we |
15329 | 1581 retain the center. We have shrunk the height by 10 pixels, but we do not |
1582 want to increase the y-offset by 5-pixels since that is an odd number and | |
1583 will adversely affect quality. Instead, we will increase the y-offset by | |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1584 4 pixels: |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1585 |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1586 <screen>mplayer dvd://1 -vf crop=720:352:0:62</screen> |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1587 |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1588 Another reason to shave pixels from both the top and the bottom is that we |
15329 | 1589 ensure we have eliminated any half-black pixels if they exist. Note that if |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1590 your video is telecined, make sure the <option>pullup</option> filter (or |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1591 whichever inverse telecine filter you decide to use) appears in the filter |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1592 chain before you crop. If it is interlaced, deinterlace before cropping. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1593 (If you choose to preserve the interlaced video, then make sure your |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1594 vertical crop offset is a multiple of 4.) |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1595 </para> |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1596 |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1597 <para> |
15329 | 1598 If you are really concerned about losing those 10 pixels, you might |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1599 prefer instead to scale the dimensions down to the nearest multiple of 16. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1600 The filter chain would look like: |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1601 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1602 <screen>-vf crop=720:362:0:58,scale=720:352</screen> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1603 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1604 Scaling the video down like this will mean that some small amount of |
15329 | 1605 detail is lost, though it probably will not be perceptible. Scaling up will |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1606 result in lower quality (unless you increase the bitrate). Cropping |
15329 | 1607 discards those pixels altogether. It is a tradeoff that you will want to |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1608 consider for each circumstance. For example, if the DVD video was made |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1609 for television, you might want to avoid vertical scaling, since the line |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1610 sampling corresponds to the way the content was originally recorded. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1611 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1612 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1613 <para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1614 On inspection, we see that our movie has a fair bit of action and high |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1615 amounts of detail, so we pick 2400Kbit for our bitrate. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1616 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1617 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1618 <para> |
15329 | 1619 We are now ready to do the two pass encode. Pass one: |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1620 |
14958 | 1621 <screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \ |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1622 -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=1 \ |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1623 -o Harry_Potter_2.avi</screen> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1624 |
14422 | 1625 And pass two is the same, except that we specify <option>vpass=2</option>: |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1626 |
14958 | 1627 <screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \ |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1628 -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=2 \ |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1629 -o Harry_Potter_2.avi</screen> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1630 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1631 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1632 <para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1633 The options <option>v4mv:mbd=2:trell</option> will greatly increase the |
15329 | 1634 quality at the expense of encoding time. There is little reason to leave |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1635 these options out when the primary goal is quality. The options |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1636 <option>cmp=3:subcmp=3:mbcmp=3</option> select a comparison function that |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1637 yields higher quality than the defaults. You might try experimenting with |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1638 this parameter (refer to the man page for the possible values) as |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1639 different functions can have a large impact on quality depending on the |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1640 source material. For example, if you find |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1641 <systemitem class="library">libavcodec</systemitem> produces too much |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1642 blocky artifacting, you could try selecting the experimental NSSE as |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1643 comparison function via <option>*cmp=10</option>. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1644 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1645 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1646 <para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1647 For this movie, the resulting AVI will be 138 minutes long and nearly |
15329 | 1648 3GB. And because you said that file size does not matter, this is a |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1649 perfectly acceptable size. However, if you had wanted it smaller, you |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1650 could try a lower bitrate. Increasing bitrates have diminishing |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1651 returns, so while we might clearly see an improvement from 1800Kbit to |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1652 2000Kbit, it might not be so noticeable above 2000Kbit. Feel |
15329 | 1653 free to experiment until you are happy. |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1654 </para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1655 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1656 <para> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1657 Because we passed the source video through a denoise filter, you may want |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1658 to add some of it back during playback. This, along with the |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1659 <option>spp</option> post-processing filter, drastically improves the |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1660 perception of quality and helps eliminate blocky artifacts in the video. |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1661 With <application>MPlayer</application>'s <option>autoq</option> option, |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1662 you can vary the amount of post-processing done by the spp filter |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1663 depending on available CPU. Also, at this point, you may want to apply |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1664 gamma and/or color correction to best suit your display. For example: |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1665 |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1666 <screen>mplayer Harry_Potter_2.avi -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3</screen> |
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
1667 |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1668 </para> |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1669 </sect2> |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1670 |
15148
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1671 <sect2 id="menc-feat-dvd-mpeg4-muxing"> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1672 <title>Muxing</title> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1673 <para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1674 Now that you have encoded your video, you will most likely want |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1675 to mux it with one or more audio tracks into a movie container, such |
15153 | 1676 as AVI, MPEG, Matroska or NUT. |
15148
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1677 <application>MEncoder</application> is currently only able to output |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1678 audio and video into MPEG and AVI container formats. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1679 for example: |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1680 <screen>mencoder -oac copy -ovc copy -o <replaceable>output_movie.avi</replaceable> -audiofile <replaceable>input_audio.mp2</replaceable> <replaceable>input_video.avi</replaceable></screen> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1681 This would merge the video file <replaceable>input_video.avi</replaceable> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1682 and the audio file <replaceable>input_audio.mp2</replaceable> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1683 into the AVI file <replaceable>output_movie.avi</replaceable>. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1684 This command works with MPEG-1 layer I, II and III (more commonly known |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1685 as MP3) audio, WAV and a few other audio formats too. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1686 </para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1687 |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1688 <para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1689 MEncoder features experimental support for |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1690 <systemitem class="library">libavformat</systemitem>, which is a |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1691 library from the FFmpeg project that supports muxing and demuxing |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1692 a variety of containers. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1693 For example: |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1694 <screen>mencoder -oac copy -ovc copy -o <replaceable>output_movie.asf</replaceable> -audiofile <replaceable>input_audio.mp2</replaceable> <replaceable>input_video.avi</replaceable> -of lavf -lavfopts format=asf</screen> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1695 This will do the same thing as the previous example, except that |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1696 the output container will be ASF. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1697 Please note that this support is highly experimental (but getting |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1698 better every day), and will only work if you compiled |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1699 <application>MPlayer</application> with the support for |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1700 <systemitem class="library">libavformat</systemitem> enabled (which |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1701 means that a pre-packaged binary version will not work in most cases). |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1702 </para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1703 |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1704 <sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations"> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1705 <title>Limitations of the AVI container</title> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1706 <para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1707 Although it is the most widely-supported container format after MPEG-1, |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1708 AVI also has some major drawbacks. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1709 Perhaps the most obvious is the overhead. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1710 For each chunk of the AVI file, 24 bytes are wasted on headers and |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1711 index. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1712 This translates into a little over 5 MB per hour, or 1-2.5% |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1713 overhead for a 700 MB movie. This may not seem like much, but it could |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1714 mean the difference between being able to use 700 kbit/sec video or |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1715 714 kbit/sec, and every bit of quality counts. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1716 </para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1717 |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1718 <para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1719 In addition this gross inefficiency, AVI also has the following major |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1720 limitations: |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1721 </para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1722 |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1723 <orderedlist> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1724 <listitem> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1725 <para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1726 Only fixed-fps content can be stored. This is particularly limiting |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1727 if the original material you want to encode is mixed content, for |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1728 example a mix of NTSC video and film material. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1729 Actually there are hacks that can be used to store mixed-framerate |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1730 content in AVI, but they increase the (already huge) overhead |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1731 fivefold or more and so are not practical. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1732 </para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1733 </listitem> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1734 <listitem> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1735 <para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1736 Audio in AVI files must be either constant-bitrate (CBR) or |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1737 constant-framesize (i.e. all frames decode to the same number of |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1738 samples). |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1739 Unfortunately, the most efficient codec, Vorbis, does not meet |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1740 either of these requirements. |
15329 | 1741 Therefore, if you plan to store your movie in AVI, you will have to |
15148
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1742 use a less efficient codec such as MP3 or AC3. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1743 </para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1744 </listitem> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1745 </orderedlist> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1746 |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1747 <para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1748 Having said all that, <application>MEncoder</application> does not |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1749 currently support variable-fps output or Vorbis encoding. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1750 Therefore, you may not see these as limitations if |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1751 <application>MEncoder</application> is the |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1752 only tool you will be using to produce your encodes. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1753 However, it is possible to use <application>MEncoder</application> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1754 only for video encoding, and then use external tools to encode |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1755 audio and mux it into another container format. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1756 </para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1757 </sect3> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1758 |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1759 <sect3 id="menc-feat-dvd-mpeg4-muxing-matroska"> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1760 <title>Muxing into the Matroska container</title> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1761 <para> |
15157 | 1762 Matroska is a free, open standard container format, aiming |
15148
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1763 to offer a lot of advanced features, which older containers |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1764 like AVI cannot handle. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1765 For example, Matroska supports variable bitrate audio content |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1766 (VBR), variable framerates (VFR), chapters, file attachments, |
15157 | 1767 error detection code (EDC) and modern A/V Codecs like "Advanced Audio |
1768 Coding" (AAC), "Vorbis" or "MPEG-4 AVC" (H.264), next to nothing | |
15148
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1769 handled by AVI. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1770 </para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1771 |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1772 <para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1773 The tools required to create Matroska files are collectively called |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1774 <application>mkvtoolnix</application>, and are available for most |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1775 Unix platforms as well as <application>Windows</application>. |
15157 | 1776 Because Matroska is an open standard you may find other |
15148
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1777 tools that suit you better, but since mkvtoolnix is the most |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1778 common, and is supported by the Matroska team itself, we will |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1779 only cover its usage. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1780 </para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1781 |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1782 <para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1783 Probably the easiest way to get started with Matroska is to use |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1784 <application>MMG</application>, the graphical frontend shipped with |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1785 <application>mkvtoolnix</application>, and follow the |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1786 <ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">guide to mkvmerge GUI (mmg)</ulink> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1787 </para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1788 |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1789 <para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1790 You may also mux audio and video files using the command line: |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1791 <screen>mkvmerge -o <replaceable>output.mkv</replaceable> <replaceable>input_video.avi</replaceable> <replaceable>input_audio1.mp3</replaceable> <replaceable>input_audio2.ac3</replaceable></screen> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1792 This would merge the video file <replaceable>input_video.avi</replaceable> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1793 and the two audio files <replaceable>input_audio1.mp3</replaceable> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1794 and <replaceable>input_audio2.ac3</replaceable> into the Matroska |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1795 file <replaceable>output.mkv</replaceable>. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1796 Matroska, as mentioned earlier, is able to do much more than that, like |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1797 multiple audio tracks (including fine-tuning of audio/video |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1798 synchronization), chapters, subtitles, splitting, etc... |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1799 Please refer to the documentation of those applications for |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1800 more details. |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1801 </para> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1802 |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1803 </sect3> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1804 |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1805 </sect2> |
067f10ad6538
New section: "menc-feat-dvd-mpeg4-muxing" about how to mux a video
gpoirier
parents:
15139
diff
changeset
|
1806 |
11732
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1807 </sect1> |
d5784b575959
DVD ripping section added courtesy of Samuli K«£rkk«£inen with some
diego
parents:
11710
diff
changeset
|
1808 |
15326 | 1809 <sect1 id="menc-feat-x264"> |
1810 <title>Encoding with the <systemitem class="library">x264</systemitem> codec</title> | |
1811 <para> | |
1812 <systemitem class="library">x264</systemitem> is a free library for | |
1813 encoding H264/AVC video streams. | |
1814 Before starting to encode, you need to <link linkend="codec-x264-encode"> | |
1815 set up <application>MEncoder</application> to support it</link>. | |
1816 </para> | |
1817 | |
1818 <sect2 id="menc-feat-x264-intro"> | |
1819 <title>What options should I use to get the best results?</title> | |
1820 | |
1821 <para> | |
1822 Please begin by reviewing the | |
1823 <systemitem class="library">x264</systemitem> section of | |
1824 <application>MPlayer</application>'s man page. | |
1825 This section is intended to be a supplement to the man page. | |
1826 </para> | |
1827 | |
1828 <orderedlist> | |
1829 <title>There are mainly three types of considerations when choosing encoding | |
1830 options:</title> | |
1831 <listitem><para>Trading off encoding time vs. quality</para></listitem> | |
1832 <listitem><para>Frame type decision options</para></listitem> | |
1833 <listitem><para>Ratecontrol and quantization decision options</para></listitem> | |
1834 </orderedlist> | |
1835 | |
1836 <para> | |
1837 This guide is mostly concerned with the first class of options. | |
1838 The other two types often have more to do with personal | |
1839 preferences and individual requirements. | |
1840 </para> | |
1841 | |
1842 <para> | |
1843 Before continuing, please note that this guide uses only one | |
1844 quality metric: global PSNR. | |
1845 For a brief explanation of what PSNR is, see | |
1846 <ulink url="http://en.wikipedia.org/wiki/PSNR">the Wikipedia article on PSNR</ulink>. | |
1847 Global PSNR is the last PSNR number reported when you include | |
1848 the <option>psnr</option> option in <option>x264encopts</option>. | |
1849 Any time you will read a claim about PSNR, one of the assumptions | |
1850 behind the claim is that equal bitrates are used. | |
1851 </para> | |
1852 | |
1853 <para> | |
1854 Nearly all of this guide's comments assume you are using | |
1855 two pass. | |
1856 When comparing options, there are two major reasons for using | |
1857 two pass encoding. | |
1858 First, using two pass often gains around 1dB PSNR, which is a | |
1859 very big difference. | |
1860 Secondly, testing options by doing direct quality comparisons | |
1861 with 1-pass encodes is a dubious proposition because bitrate | |
1862 often varies significantly with each encode. | |
1863 It is not always easy to tell whether quality changes are due | |
1864 mainly to changed options, or if they mostly reflect | |
1865 differences in the achieved bitrate. | |
1866 </para> | |
1867 | |
1868 <para> | |
1869 Of the options which allow you to trade off speed for quality, | |
1870 <option>subq</option> and <option>frameref</option> are usually | |
1871 by far the most important. | |
1872 If you are interested in tweaking either speed or quality, these | |
1873 are the first options you should consider. | |
1874 </para> | |
1875 | |
1876 <para> | |
1877 On the speed dimension, the <option>frameref</option> and | |
1878 <option>subq</option> options interact with each other fairly | |
1879 strongly. | |
1880 Experience shows that, with one reference frame, | |
1881 <option>subq=5</option> takes about 35% more time than | |
1882 <option>subq=1</option>. | |
1883 With 6 reference frames, the penalty grows to over 60%. | |
1884 <option>subq</option>'s effect on PSNR seems fairly constant | |
1885 regardless of the number of reference frames. | |
1886 Typically, <option>subq=5</option> gains 0.2-0.5 dB | |
1887 global PSNR over <option>subq=1</option>. | |
1888 This is usually enough to be visible. | |
1889 </para> | |
1890 | |
1891 </sect2> | |
1892 | |
1893 <sect2 id="menc-feat-x264-encoding-options"> | |
1894 <title>Encoding options of x264</title> | |
1895 | |
1896 <itemizedlist> | |
1897 <listitem><para> | |
1898 <emphasis role="bold">frameref</emphasis>: | |
1899 <option>frameref</option> is set to 1 by default, but this | |
1900 should not be taken to imply that it is reasonable to set it | |
1901 to 1. | |
1902 Merely raising <option>frameref</option> to 2 gains around | |
1903 0.15dB PSNR with a 5-10% speed penalty; this seems like a | |
1904 good tradeoff. | |
1905 <option>frameref=3</option> gains around 0.25dB PSNR over | |
1906 <option>frameref=1</option>, which should be a visible | |
1907 difference. | |
1908 <option>frameref=3</option> is around 15% slower than | |
1909 <option>frameref=1</option>. | |
1910 Unfortunately, diminishing returns set in rapidly. | |
1911 <option>frameref=6</option> can be expected to gain only | |
1912 0.05-0.1 dB over <option>frameref=3</option> at an additional | |
1913 15% speed penalty. | |
1914 Above <option>frameref=6</option>, the quality gains are | |
1915 usually very small (although you should keep in mind throughout | |
1916 this whole discussion that it can vary quite a lot depending on | |
1917 your source). | |
1918 In a fairly typical case, <option>frameref=12</option> | |
1919 will improve global PSNR by a tiny 0.02dB over | |
1920 <option>frameref=6</option>, at a speed cost of 15%-20%. | |
1921 At such high <option>frameref</option> values, the only really | |
1922 good thing that can be said is that increasing even further will | |
1923 almost certainly never <emphasis role="bold">harm</emphasis> | |
1924 PSNR, but the additional quality benefits are barely even | |
1925 measurable, let alone perceptible. | |
1926 </para> | |
1927 <note><title>Note:</title> | |
1928 <para> | |
1929 Raising <option>frameref</option> to unnecessarily high values | |
1930 <emphasis role="bold">can</emphasis> and | |
1931 <emphasis role="bold">usually does</emphasis> | |
1932 hurt coding efficiency if you turn CABAC off. | |
1933 With CABAC on (the default behavior), the possibility of setting | |
1934 <option>frameref</option> "too high" currently seems too remote | |
1935 to even worry about, and in the future, optimizations may remove | |
1936 the possibility altogether). | |
1937 </para> | |
1938 </note> | |
1939 <para> | |
1940 If you care about speed, a reasonable compromise is to use low | |
1941 <option>subq</option> and <option>frameref</option> values on | |
1942 the first pass, and then raise them on the second pass. | |
1943 Typically, this has a negligible negative effect on the final | |
1944 quality: you will probably lose well under 0.1dB PSNR, which | |
1945 should be much too small of a difference to see. | |
1946 However, different values of <option>frameref</option> can | |
1947 occasionally affect frametype decision. | |
1948 Most likely, these are rare outlying cases, but if you want to | |
1949 be pretty sure, consider whether your video has either | |
1950 fullscreen repetitive flashing patterns or very large temporary | |
1951 occlusions which might force an I-frame. | |
1952 Adjust the first-pass <option>frameref</option> so it is large | |
1953 enough to contain the duration of the flashing cycle (or occlusion). | |
1954 For example, if the scene flashes back and forth between two images | |
1955 over a duration of three frames, set the first pass | |
1956 <option>frameref</option> to 3 or higher. | |
1957 This issue is probably extremely rare in live action video material, | |
1958 but it does sometimes come up in video game captures. | |
1959 </para></listitem> | |
1960 | |
1961 <listitem><para> | |
1962 <emphasis role="bold">bframes</emphasis>: | |
1963 The usefulness of B-frames is questionable in most other codecs | |
1964 you may be used to. | |
1965 In H.264, this has changed: there are new techniques and block | |
1966 types that are possible in B-frames. | |
1967 Usually, even a naive B-frame choice algorithm can have a | |
1968 significant PSNR benefit. | |
1969 It is also interesting to note that if you turn off the adaptive | |
1970 B-frame decision (<option>nob_adapt</option>), encoding with | |
1971 <option>bframes</option> usually speeds up encoding speed somewhat. | |
1972 </para> | |
1973 <para> | |
1974 With adaptive B-frame decision turned off | |
1975 (<option>x264encopts</option>'s <option>nob_adapt</option>), | |
1976 the optimal value for this setting will usually range from | |
1977 <option>bframes=1</option> to <option>bframes=3</option>. | |
1978 With adaptive B-frame decision on (the default behavior), it is | |
1979 probably safe to use higher values; the encoder will try to | |
1980 reduce the use of B-frames in scenes where they would hurt | |
1981 compression. | |
1982 </para> | |
1983 <para> | |
1984 If you are going to use <option>bframes</option> at all, consider | |
1985 setting the maximum number of B-frames to 2 or higher in order to | |
1986 take advantage of weighted prediction. | |
1987 </para></listitem> | |
1988 | |
1989 <listitem><para> | |
1990 <emphasis role="bold">b_adapt</emphasis>: | |
1991 Note: this is on by default. | |
1992 </para> | |
1993 <para> | |
1994 With this option enabled, the encoder will use some simple | |
1995 heuristics to reduce the number of B-frames used in scenes that | |
1996 might not benefit from them as much. | |
1997 You can use <option>b_bias</option> to tweak how B-frame-happy | |
1998 the encoder is. | |
1999 The speed penalty of adaptive B-frames is currently rather modest, | |
2000 but so is the potential quality gain. | |
2001 It usually does not hurt, however. | |
2002 Note that this only affects speed and frametype decision on the | |
2003 first pass. | |
2004 <option>b_adapt</option> and <option>b_bias</option> have no | |
2005 effect on subsequent passes. | |
2006 </para></listitem> | |
2007 | |
2008 <listitem><para> | |
2009 <emphasis role="bold">b_pyramid</emphasis>: | |
2010 You might as well enable this option if you are using >2 B-frames; | |
2011 as the man page says, you get a little quality improvement with no | |
2012 speed cost. | |
2013 Note that these videos cannot be read by libavcodec-based decoders | |
2014 older than about March 5, 2005. | |
2015 </para></listitem> | |
2016 | |
2017 <listitem><para> | |
2018 <emphasis role="bold">weight_b</emphasis>: | |
2019 In typical cases, there is not much gain with this option. | |
2020 However, in crossfades or fade-to-black scenes, weighted | |
2021 prediction gives rather large bitrate savings. | |
2022 In MPEG-4 ASP, a fade-to-black is usually best coded as a series | |
2023 of expensive I-frames; using weighted prediction in B-frames | |
2024 makes it possible to turn at least some of these into much more | |
2025 reasonably-sized B-frames. | |
2026 Encoding time cost seems to be minimal, if there is any. | |
2027 Also, contrary to what some people seem to guess, the decoder | |
2028 CPU requirements are not much affected by weighted prediction, | |
2029 all else being equal. | |
2030 </para> | |
2031 <para> | |
2032 Unfortunately, the current adaptive B-frame decision algorithm | |
2033 has a strong tendency to avoid B-frames during fades. | |
2034 Until this changes, it may be a good idea to add | |
2035 <option>nob_adapt</option> to your x264encopts, if you expect | |
2036 fades to have a significant effect in your particular video | |
2037 clip. | |
2038 </para></listitem> | |
2039 | |
2040 <listitem><para> | |
2041 <emphasis role="bold">deblockalpha, deblockbeta</emphasis>: | |
2042 This topic is going to be a bit controversial. | |
2043 </para> | |
2044 <para> | |
2045 H.264 defines a simple deblocking procedure on I-blocks that uses | |
2046 pre-set strengths and thresholds depending on the QP of the block | |
2047 in question. | |
2048 By default, high QP blocks are filtered heavily, and low QP blocks | |
2049 are not deblocked at all. | |
2050 The pre-set strengths defined by the standard are well-chosen and | |
2051 the odds are very good that they are PSNR-optimal for whatever | |
2052 video you are trying to encode. | |
2053 The <option>deblockalpha</option> and <option>deblockbeta</option> | |
2054 parameters allow you to specify offsets to the preset deblocking | |
2055 thresholds. | |
2056 </para> | |
2057 <para> | |
2058 Many people seem to think it is a good idea to lower the deblocking | |
2059 filter strength by large amounts (say, -3). | |
2060 This is however almost never a good idea, and in most cases, | |
2061 people who are doing this do not understand very well how | |
2062 deblocking works by default. | |
2063 </para> | |
2064 <para> | |
2065 The first and most important thing to know about the in-loop | |
2066 deblocking filter is that the default thresholds are almost always | |
2067 PSNR-optimal. | |
2068 In the rare cases that they are not optimal, the ideal offset is | |
2069 plus or minus 1. | |
2070 Adjusting deblocking parameters by a larger amount is almost | |
2071 guaranteed to hurt PSNR. | |
2072 Strengthening the filter will smear more details; weakening the | |
2073 filter will increase the appearance of blockiness. | |
2074 </para> | |
2075 <para> | |
2076 It is definitely a bad idea to lower the deblocking thresholds if | |
2077 your source is mainly low in spacial complexity (i.e., not a lot | |
2078 of detail or noise). | |
2079 The in-loop filter does a rather excellent job of concealing | |
2080 the artifacts that occur. | |
2081 If the source is high in spacial complexity, however, artifacts | |
2082 are less noticeable. | |
2083 This is because the ringing tends to look like detail or noise. | |
2084 Human visual perception easily notices when detail is removed, | |
2085 but it does not so easily notice when the noise is wrongly | |
2086 represented. | |
2087 When it comes to subjective quality, noise and detail are somewhat | |
2088 interchangeable. | |
2089 By lowering the deblocking filter strength, you are most likely | |
2090 increasing error by adding ringing artifacts, but the eye does | |
2091 not notice because it confuses the artifacts with detail. | |
2092 </para> | |
2093 | |
2094 <para> | |
2095 This <emphasis role="bold">still</emphasis> does not justify | |
2096 lowering the deblocking filter strength, however. | |
2097 You can generally get better quality noise from postprocessing. | |
2098 If your H.264 encodes look too blurry or smeared, try playing with | |
2099 <option>-vf noise</option> when you play your encoded movie. | |
2100 <option>-vf noise=8a:4a</option> should conceal most mild | |
2101 artifacting. | |
2102 It will almost certainly look better than the results you | |
2103 would have gotten just by fiddling with the deblocking filter. | |
2104 </para></listitem> | |
2105 </itemizedlist> | |
2106 </sect2> | |
2107 </sect1> | |
2108 | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2109 <sect1 id="menc-feat-telecine"> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2110 <title>How to deal with telecine and interlacing within NTSC DVDs</title> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2111 |
14958 | 2112 <sect2 id="menc-feat-telecine-intro"> |
2113 <title>Introduction</title> | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2114 <formalpara> |
14958 | 2115 <title>What is telecine?</title> |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2116 <para> |
15329 | 2117 I suggest you visit this page if you do not understand much of what |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2118 is written in this document: |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2119 <ulink url="http://www.divx.com/support/guides/guide.php?gid=10">http://www.divx.com/support/guides/guide.php?gid=10</ulink> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2120 This URL links to an understandable and reasonably comprehensive |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2121 description of what telecine is. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2122 </para></formalpara> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2123 |
14958 | 2124 <formalpara> |
2125 <title>A note about the numbers.</title> | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2126 <para> |
14958 | 2127 Many documents, including the guide linked above, refer to the fields |
2128 per second value of NTSC video as 59.94 and the corresponding frames | |
2129 per second values as 29.97 (for telecined and interlaced) and 23.976 | |
2130 (for progressive). For simplicity, some documents even round these | |
2131 numbers to 60, 30, and 24. | |
2132 </para></formalpara> | |
2133 | |
2134 <para> | |
2135 Strictly speaking, all those numbers are approximations. Black and | |
2136 white NTSC video was exactly 60 fields per second, but 60000/1001 | |
2137 was later chosen to accomodate color data while remaining compatible | |
2138 with contemporary black and white televisions. Digital NTSC video | |
2139 (such as on a DVD) is also 60000/1001 fields per second. From this, | |
2140 interlaced and telecined video are derived to be 30000/1001 frames | |
2141 per second; progressive video is 24000/1001 frames per second. | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2142 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2143 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2144 <para> |
14958 | 2145 Older versions of the <application>MEncoder</application> documentation |
2146 and many archived mailing list posts refer to 59.94, 29.97, and 23.976. | |
2147 All <application>MEncoder</application> documentation has been updated | |
2148 to use the fractional values, and you should use them too. | |
2149 </para> | |
2150 | |
2151 <para> | |
2152 <option>-ofps 23.976</option> is incorrect. | |
2153 <option>-ofps 24000/1001</option> should be used instead. | |
2154 </para> | |
2155 | |
2156 <formalpara> | |
2157 <title>How telecine is used.</title> | |
2158 <para> | |
2159 All video intended to be displayed on an NTSC | |
2160 television set must be 60000/1001 fields per second. Made-for-TV movies | |
2161 and shows are often filmed directly at 60000/1001 fields per second, but | |
2162 the majority of cinema is filmed at 24 or 24000/1001 frames per | |
2163 second. When cinematic movie DVDs are mastered, the video is then | |
2164 converted for television using a process called telecine. | |
2165 </para></formalpara> | |
2166 | |
2167 <para> | |
2168 On a DVD, the video is never actually stored as 60000/1001 fields per | |
2169 second. For video that was originally 60000/1001, each pair of fields is | |
2170 combined to form a frame, resulting in 30000/1001 frames per | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2171 second. Hardware DVD players then read a flag embedded in the video |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2172 stream to determine whether the odd- or even-numbered lines should |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2173 form the first field. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2174 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2175 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2176 <para> |
14958 | 2177 Usually, 24000/1001 frames per second content stays as it is when |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2178 encoded for a DVD, and the DVD player must perform telecining |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2179 on-the-fly. Sometimes, however, the video is telecined |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2180 <emphasis>before</emphasis> being stored on the DVD; even though it |
14958 | 2181 was originally 24000/1001 frames per second, it becomes 60000/1001 fields per |
2182 second. When it is stored on the DVD, pairs of fields are combined to form | |
2183 30000/1001 frames per second. | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2184 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2185 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2186 <para> |
14958 | 2187 When looking at individual frames formed from 60000/10001 fields per |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2188 second video, telecined or otherwise, interlacing is clearly visible |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2189 wherever there is any motion, because one field (say, the |
14958 | 2190 even-numbered lines) represents a moment in time 1/(60000/1001) |
2191 seconds later than the other. Playing interlaced video on a computer | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2192 looks ugly both because the monitor is higher resolution and because |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2193 the video is shown frame-after-frame instead of field-after-field. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2194 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2195 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2196 <itemizedlist> |
14958 | 2197 <title>Notes:</title> |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2198 <listitem><para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2199 This section only applies to NTSC DVDs, and not PAL. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2200 </para></listitem> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2201 <listitem><para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2202 The example <application>MEncoder</application> lines throughout the |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2203 document are <emphasis role="bold">not</emphasis> intended for |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2204 actual use. They are simply the bare minimum required to encode the |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2205 pertaining video category. How to make good DVD rips or fine-tune |
15113
a53b942816a5
Removes the section "menc-feat-fix-avi" as part of it was wrong and the other
gpoirier
parents:
15038
diff
changeset
|
2206 <systemitem class="library">libavcodec</systemitem> for maximal |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2207 quality is not within the scope of this document. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2208 </para></listitem> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2209 <listitem><para> |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
2210 There are a couple footnotes specific to this guide, linked like this: |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2211 <link linkend="menc-feat-telecine-footnotes">[1]</link> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2212 </para></listitem> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2213 </itemizedlist> |
14958 | 2214 </sect2> |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2215 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2216 <sect2 id="menc-feat-telecine-ident"> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2217 <title>How to tell what type of video you have</title> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2218 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2219 <sect3 id="menc-feat-telecine-ident-progressive"> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2220 <title>Progressive</title> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2221 <para> |
14958 | 2222 Progressive video was originally filmed at 24000/1001 fps, and stored |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2223 on the DVD without alteration. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2224 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2225 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2226 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2227 When you play a progressive DVD in <application>MPlayer</application>, |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2228 <application>MPlayer</application> will print the following line as |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2229 soon as the movie begins to play: |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2230 |
14958 | 2231 <screen> demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.</screen> |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2232 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2233 From this point forward, demux_mpg should never say it finds |
14958 | 2234 "30000/1001 fps NTSC content." |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2235 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2236 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2237 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2238 When you watch progressive video, you should never see any |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2239 interlacing. Beware, however, because sometimes there is a tiny bit |
15329 | 2240 of telecine mixed in where you would not expect. I have encountered TV |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2241 show DVDs that have one second of telecine at every scene change, or |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2242 at seemingly random places. I once watched a DVD that had a |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2243 progressive first half, and the second half was telecined. If you |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2244 want to be <emphasis>really</emphasis> thorough, you can scan the |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2245 entire movie: |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2246 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2247 <screen>mplayer dvd://1 -nosound -vo null -benchmark</screen> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2248 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2249 Using <option>-benchmark</option> makes |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2250 <application>MPlayer</application> play the movie as quickly as it |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2251 possibly can; still, depending on your hardware, it can take a |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2252 while. Every time demux_mpg reports a framerate change, the line |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2253 immediately above will show you the time at which the change |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2254 occurred. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2255 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2256 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2257 <para> |
14734 | 2258 Sometimes progressive video on DVDs is referred to as |
2259 "soft-telecine" because it is intended to | |
2260 be telecined by the DVD player. | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2261 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2262 </sect3> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2263 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2264 <sect3 id="menc-feat-telecine-ident-telecined"> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2265 <title>Telecined</title> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2266 <para> |
14958 | 2267 Telecined video was originally filmed at 24000/1001, but was telecined |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2268 <emphasis>before</emphasis> it was written to the DVD. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2269 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2270 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2271 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2272 <application>MPlayer</application> does not (ever) report any |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2273 framerate changes when it plays telecined video. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2274 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2275 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2276 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2277 Watching a telecined video, you will see interlacing artifacts that |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2278 seem to "blink": they repeatedly appear and disappear. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2279 You can look closely at this by |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2280 <orderedlist> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2281 <listitem> |
14734 | 2282 <screen>mplayer dvd://1</screen> |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2283 </listitem> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2284 <listitem><para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2285 Seek to a part with motion. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2286 </para></listitem> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2287 <listitem><para> |
14734 | 2288 Use the <keycap>.</keycap> key to step forward one frame at a time. |
2289 </para></listitem> | |
2290 <listitem><para> | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2291 Look at the pattern of interlaced-looking and progressive-looking |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2292 frames. If the pattern you see is PPPII,PPPII,PPPII,... then the |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2293 video is telecined. If you see some other pattern, then the video |
14734 | 2294 may have been telecined using some non-standard method; |
2295 <application>MEncoder</application> cannot losslessly convert | |
15329 | 2296 non-standard telecine to progressive. If you do not see any |
14734 | 2297 pattern at all, then it is most likely interlaced. |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2298 </para></listitem> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2299 </orderedlist> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2300 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2301 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2302 <para> |
14734 | 2303 Sometimes telecined video on DVDs is referred to as |
14958 | 2304 "hard-telecine". Since hard-telecine is already 60000/1001 fields |
14734 | 2305 per second, the DVD player plays the video without any manipulation. |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2306 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2307 </sect3> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2308 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2309 <sect3 id="menc-feat-telecine-ident-interlaced"> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2310 <title>Interlaced</title> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2311 <para> |
14958 | 2312 Interlaced video was originally filmed at 60000/1001 fields per second, |
2313 and stored on the DVD as 30000/1001 frames per second. The interlacing effect | |
14734 | 2314 (often called "combing") is a result of combining pairs of |
14958 | 2315 fields into frames. Each field is supposed to be 1/(60000/1001) seconds apart, |
14734 | 2316 and when they are displayed simultaneously the difference is apparent. |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2317 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2318 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2319 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2320 As with telecined video, <application>MPlayer</application> should |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2321 not ever report any framerate changes when playing interlaced content. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2322 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2323 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2324 <para> |
14734 | 2325 When you view an interlaced video closely by frame-stepping with the |
2326 <keycap>.</keycap> key, you will see that every single frame is interlaced. | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2327 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2328 </sect3> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2329 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2330 <sect3 id="menc-feat-telecine-ident-mixedpt"> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2331 <title>Mixed progressive and telecine</title> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2332 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2333 All of a "mixed progressive and telecine" video was originally |
14958 | 2334 24000/1001 frames per second, but some parts of it ended up being telecined. |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2335 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2336 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2337 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2338 When <application>MPlayer</application> plays this category, it will |
14958 | 2339 (often repeatedly) switch back and forth between "30000/1001 fps NTSC" |
2340 and "24000/1001 fps progressive NTSC". Watch the bottom of | |
12578 | 2341 <application>MPlayer</application>'s output to see these messages. |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2342 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2343 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2344 <para> |
14958 | 2345 You should check the "30000/1001 fps NTSC" sections to make sure |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2346 they are actually telecine, and not just interlaced. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2347 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2348 </sect3> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2349 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2350 <sect3 id="menc-feat-telecine-ident-mixedpi"> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2351 <title>Mixed progressive and interlaced</title> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2352 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2353 In "mixed progressive and interlaced" content, progressive |
11913 | 2354 and interlaced video have been spliced together. |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2355 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2356 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2357 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2358 This category looks just like "mixed progressive and telecine", |
15329 | 2359 until you examine the 30000/1001 fps sections and see that they do not have the |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2360 telecine pattern. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2361 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2362 </sect3> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2363 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2364 </sect2> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2365 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2366 <sect2 id="menc-feat-telecine-encode"> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2367 <title>How to encode each category</title> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2368 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2369 As I mentioned in the beginning, example <application>MEncoder</application> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2370 lines below are <emphasis role="bold">not</emphasis> meant to actually be used; |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2371 they only demonstrate the minimum parameters to properly encode each category. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2372 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2373 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2374 <sect3 id="menc-feat-telecine-encode-progressive"> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2375 <title>Progressive</title> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2376 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2377 Progressive video requires no special filtering to encode. The only |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2378 parameter you need to be sure to use is |
14958 | 2379 <option>-ofps 24000/1001</option>. Otherwise, <application>MEncoder</application> |
2380 will try to encode at 30000/1001 fps and will duplicate frames. | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2381 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2382 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2383 <para> |
14958 | 2384 <screen>mencoder dvd://1 -nosound -ovc lavc -ofps 24000/1001</screen> |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2385 </para> |
14734 | 2386 |
2387 <para> | |
2388 It is often the case, however, that a video that looks progressive | |
2389 actually has very short parts of telecine mixed in. Unless you are | |
2390 sure, it is safest to treat the video as | |
2391 <link linkend="menc-feat-telecine-encode-mixedpt">mixed progressive and telecine</link>. | |
2392 The performance loss is small | |
2393 <link linkend="menc-feat-telecine-footnotes">[3]</link>. | |
2394 </para> | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2395 </sect3> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2396 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2397 <sect3 id="menc-feat-telecine-encode-telecined"> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2398 <title>Telecined</title> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2399 <para> |
14958 | 2400 Telecine can be reversed to retrieve the original 24000/1001 content, |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2401 using a process called inverse-telecine. |
14734 | 2402 <application>MPlayer</application> contains several filters to |
2403 accomplish this; the best filter, <option>pullup</option>, is described | |
2404 in the <link linkend="menc-feat-telecine-encode-mixedpt">mixed | |
2405 progressive and telecine</link> section. | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2406 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2407 </sect3> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2408 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2409 <sect3 id="menc-feat-telecine-encode-interlaced"> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2410 <title>Interlaced</title> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2411 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2412 For most practical cases it is not possible to retrieve a complete |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2413 progressive video from interlaced content. The only way to do so |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2414 without losing half of the vertical resolution is to double the |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2415 framerate and try to "guess" what ought to make up the |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2416 corresponding lines for each field (this has drawbacks - see method |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2417 3). |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2418 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2419 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2420 <orderedlist> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2421 <listitem><para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2422 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2423 Encode the video in interlaced form. Normally, interlacing wreaks |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2424 havoc with the encoder's ability to compress well, but |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2425 <systemitem class="library">libavcodec</systemitem> has two |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2426 parameters specifically for dealing with storing interlaced video a |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2427 bit better: <option> ildct</option> and <option>ilme</option>. Also, |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2428 using <option>mbd=2</option> is strongly recommended |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2429 <link linkend="menc-feat-telecine-footnotes">[2] </link> because it |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2430 will encode macroblocks as non-interlaced in places where there is |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2431 no motion. Note that <option>-ofps</option> is NOT needed here. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2432 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2433 <screen>mencoder dvd://1 -nosound -ovc lavc -lavcopts ildct:ilme:mbd=2</screen> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2434 </para></listitem> |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
2435 <listitem><para> |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2436 Use a deinterlacing filter before encoding. There are several of |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2437 these filters available to choose from, each with its own advantages |
11913 | 2438 and disadvantages. Consult <option>mplayer -pphelp</option> to see |
15329 | 2439 what is available (grep for "deint"), and search the |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2440 <ulink url="http://www.mplayerhq.hu/homepage/design6/info.html#mailing_lists"> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2441 MPlayer mailing lists</ulink> to find many discussions about the |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2442 various filters. Again, the framerate is not changing, so no |
11913 | 2443 <option>-ofps</option>. Also, deinterlacing should be done after |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2444 cropping <link linkend="menc-feat-telecine-footnotes">[1]</link> and |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2445 before scaling. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2446 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2447 <screen>mencoder dvd://1 -nosound -vf pp=lb -ovc lavc</screen> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2448 </para></listitem> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2449 <listitem><para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2450 Unfortunately, this option is buggy with |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2451 <application>MEncoder</application>; it ought to work well with |
15329 | 2452 <application>MEncoder G2</application>, but that is not here yet. You |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2453 might experience crahes. Anyway, the purpose of <option> -vf |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2454 tfields</option> is to create a full frame out of each field, which |
14958 | 2455 makes the framerate 60000/1001. The advantage of this approach is that no |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2456 data is ever lost; however, since each frame comes from only one |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2457 field, the missing lines have to be interpolated somehow. There are |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2458 no very good methods of generating the missing data, and so the |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2459 result will look a bit similar to when using some deinterlacing |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2460 filters. Generating the missing lines creates other issues, as well, |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2461 simply because the amount of data doubles. So, higher encoding |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2462 bitrates are required to maintain quality, and more CPU power is |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2463 used for both encoding and decoding. tfields has several different |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2464 options for how to create the missing lines of each frame. If you |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2465 use this method, then Reference the manual, and chose whichever |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2466 option looks best for your material. Note that when using |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2467 <option>tfields</option> you |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
2468 <emphasis role="bold">have to</emphasis> specify both |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2469 <option>-fps</option> and <option>-ofps</option> to be twice the |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2470 framerate of your original source. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2471 |
14958 | 2472 <screen>mencoder dvd://1 -nosound -vf tfields=2 -ovc lavc -fps 60000/1001 -ofps 60000/1001</screen> |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2473 </para></listitem> |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
2474 <listitem><para> |
14734 | 2475 If you plan on downscaling dramatically, you can extract and encode |
15329 | 2476 only one of the two fields. Of course, you will lose half the vertical |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2477 resolution, but if you plan on downscaling to at most 1/2 of the |
15329 | 2478 original, the loss will not matter much. The result will be a |
14958 | 2479 progressive 30000/1001 frames per second file. The procedure is to use |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2480 <option>-vf field</option>, then crop |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2481 <link linkend="menc-feat-telecine-footnotes">[1]</link> and scale |
15329 | 2482 appropriately. Remember that you will have to adjust the scale to |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2483 compensate for the vertical resolution being halved. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2484 <screen>mencoder dvd://1 -nosound -vf field=0 -ovc lavc</screen> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2485 </para></listitem> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2486 </orderedlist> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2487 </sect3> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2488 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2489 <sect3 id="menc-feat-telecine-encode-mixedpt"> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2490 <title>Mixed progressive and telecine</title> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2491 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2492 In order to turn mixed progressive and telecine video into entirely |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2493 progressive video, the telecined parts have to be |
14734 | 2494 inverse-telecined. There are three ways to accomplish this, |
2495 described below. Note that you should | |
2496 <emphasis role="bold">always</emphasis> inverse-telecine before any | |
15329 | 2497 rescaling; unless you really know what you are doing, |
14734 | 2498 inverse-telecine before cropping, too |
2499 <link linkend="menc-feat-telecine-footnotes">[1]</link>. | |
14958 | 2500 <option>-ofps 24000/1001</option> is needed here because the output video |
2501 will be 24000/1001 frames per second. | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2502 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2503 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2504 <itemizedlist> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2505 <listitem><para> |
14734 | 2506 <option>-vf pullup</option> is designed to inverse-telecine |
2507 telecined material while leaving progressive data alone. In order to | |
2508 work properly, <option>pullup</option> <emphasis role="bold">must</emphasis> | |
2509 be followed by the <option>softskip</option> filter or | |
2510 else <application>MEncoder</application> will crash. | |
2511 <option>pullup</option> is, however, the cleanest and most | |
2512 accurate method available for encoding both telecine and | |
2513 "mixed progressive and telecine". | |
2514 | |
14958 | 2515 <screen>mencoder dvd://1 -nosound -vf pullup,softskip -ovc lavc -ofps 24000/1001</screen> |
14734 | 2516 </para> |
2517 | |
2518 | |
2519 </listitem> | |
2520 <listitem><para> | |
2521 An older method | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2522 is to, rather than inverse-telecine the telecined parts, telecine |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2523 the non-telecined parts and then inverse-telecine the whole |
11913 | 2524 video. Sound confusing? softpulldown is a filter that goes through |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2525 a video and makes the entire file telecined. If we follow |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2526 softpulldown with either <option>detc</option> or |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2527 <option>ivtc</option>, the final result will be entirely |
14958 | 2528 progressive. <option>-ofps 24000/1001</option> is needed. |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2529 |
14958 | 2530 <screen>mencoder dvd://1 -nosound -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001</screen> |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2531 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2532 </listitem> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2533 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2534 <listitem><para> |
15329 | 2535 I have not used <option>-vf filmdint</option> myself, but here is what |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2536 D Richard Felker III has to say: |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2537 |
15329 | 2538 <blockquote><para>It is OK, but IMO it tries to deinterlace rather |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2539 than doing inverse telecine too often (much like settop DVD |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2540 players & progressive TVs) which gives ugly flickering and |
15329 | 2541 other artifacts. If you are going to use it, you at least need to |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2542 spend some time tuning the options and watching the output first |
15329 | 2543 to make sure it is not messing up.</para></blockquote> |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2544 </para></listitem> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2545 </itemizedlist> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2546 </sect3> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2547 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2548 <sect3 id="menc-feat-telecine-encode-mixedpi"> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2549 <title>Mixed progressive and interlaced</title> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2550 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2551 There are two options for dealing with this category, each of |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2552 which is a compromise. You should decide based on the |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2553 duration/location of each type. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2554 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2555 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2556 <itemizedlist> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2557 <listitem><para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2558 Treat it as progressive. The interlaced parts will look interlaced, |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2559 and some of the interlaced fields will have to be dropped, resulting |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2560 in a bit of uneven jumpiness. You can use a postprocessing filter if |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2561 you want to, but it may slightly degrade the progressive parts. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2562 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2563 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2564 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2565 This option should definitely not be used if you want to eventually |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2566 display the video on an interlaced device (with a TV card, for |
14958 | 2567 example). If you have interlaced frames in a 24000/1001 frames per |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2568 second video, they will be telecined along with the progressive |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2569 frames. Half of the interlaced "frames" will be displayed for three |
14958 | 2570 fields' duration (3/(60000/1001) seconds), resulting in a flicking |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2571 "jump back in time" effect that looks quite bad. If you |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2572 even attempt this, you <emphasis role="bold">must</emphasis> use a |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2573 deinterlacing filter like <option>lb</option> or |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2574 <option>l5</option>. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2575 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2576 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2577 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2578 It may also be a bad idea for progressive display, too. It will drop |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2579 pairs of consecutive interlaced fields, resulting in a discontinuity |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2580 that can be more visible than with the second method, which shows |
14958 | 2581 some progressive frames twice. 30000/1001 frames per second interlaced |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2582 video is already a bit choppy because it really should be shown at |
15329 | 2583 60000/1001 fields per second, so the duplicate frames do not stand out as |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2584 much. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2585 </para> |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
2586 |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2587 <para> |
15329 | 2588 Either way, it is best to consider your content and how you intend to |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2589 display it. If your video is 90% progressive and you never intend to |
15329 | 2590 show it on a TV, you should favor a progressive approach. If it is |
2591 only half progressive, you probably want to encode it as if it is all | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2592 interlaced. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2593 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2594 </listitem> |
12758
250ce1b2ef8f
improved DVD ripping guide by Jason Tackaberry <tack@sault.org>
diego
parents:
12615
diff
changeset
|
2595 |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2596 <listitem><para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2597 Treat it as interlaced. Some frames of the progressive parts will |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2598 need to be duplicated, resulting in uneven jumpiness. Again, |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2599 deinterlacing filters may slightly degrade the progressive parts. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2600 </para></listitem> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2601 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2602 </itemizedlist> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2603 </sect3> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2604 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2605 </sect2> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2606 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2607 <sect2 id="menc-feat-telecine-footnotes"> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2608 <title>Footnotes</title> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2609 <orderedlist> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2610 <listitem><formalpara> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2611 <title>About cropping:</title> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2612 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2613 Video data on DVDs are stored in a format called YUV 4:2:0. In YUV |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2614 video, luma ("brightness") and chroma ("color") |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2615 are stored separately. Because the human eye is somewhat less |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2616 sensitive to color than it is to brightness, in a YUV 4:2:0 picture |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2617 there is only one chroma pixel for every four luma pixels. In a |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2618 progressive picture, each square of four luma pixels (two on each |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2619 side) has one common chroma pixel. You must crop progressive YUV |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2620 4:2:0 to even resolutions, and use even offsets. For example, |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2621 <option>crop=716:380:2:26</option> is OK but |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2622 <option>crop=716:380:3:26 </option> is not. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2623 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2624 </formalpara> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2625 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2626 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2627 When you are dealing with interlaced YUV 4:2:0, the situation is a |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2628 bit more complicated. Instead of every four luma pixels in the |
11913 | 2629 <emphasis>frame</emphasis> sharing a chroma pixel, every four luma |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2630 pixels in each <emphasis> field</emphasis> share a chroma |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2631 pixel. When fields are interlaced to form a frame, each scanline is |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2632 one pixel high. Now, instead of all four luma pixels being in a |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2633 square, there are two pixels side-by-side, and the other two pixels |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2634 are side-by-side two scanlines down. The two luma pixels in the |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2635 intermediate scanline are from the other field, and so share a |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2636 different chroma pixel with two luma pixels two scanlines away. All |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2637 this confusion makes it necessary to have vertical crop dimensions |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2638 and offsets be multiples of four. Horizontal can stay even. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2639 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2640 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2641 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2642 For telecined video, I recommend that cropping take place after |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2643 inverse telecining. Once the video is progressive you only need to |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2644 crop by even numbers. If you really want to gain the slight speedup |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2645 that cropping first may offer, you must crop vertically by multiples |
15329 | 2646 of four or else the inverse-telecine filter will not have proper data. |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2647 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2648 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2649 <para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2650 For interlaced (not telecined) video, you must always crop |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2651 vertically by multiples of four unless you use <option>-vf |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2652 field</option> before cropping. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2653 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2654 </listitem> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2655 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2656 <listitem><formalpara> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2657 <title>About encoding parameters and quality:</title> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2658 <para> |
15329 | 2659 Just because I recommend <option>mbd=2</option> here does not mean it |
2660 should not be used elsewhere. Along with <option>trell</option>, | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2661 <option>mbd=2</option> is one of the two |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2662 <systemitem class="library">libavcodec</systemitem> options that |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2663 increases quality the most, and you should always use at least those |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2664 two unless the drop in encoding speed is prohibitive (e.g. realtime |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2665 encoding). There are many other options to |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2666 <systemitem class="library">libavcodec</systemitem> that increase |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2667 encoding quality (and decrease encoding speed) but that is beyond |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2668 the scope of this document. |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2669 </para> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2670 </formalpara> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2671 </listitem> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2672 |
14734 | 2673 <listitem><formalpara> |
2674 <title>About the performance of pullup:</title> | |
2675 <para> | |
2676 It is safe to use <option>pullup</option> (along with <option>softskip | |
2677 </option>) on progressive video, and is usually a good idea unless | |
2678 the source has been definitively verified to be entirely progressive. | |
2679 The performace loss is small for most cases. On a bare-minimum encode, | |
2680 <option>pullup</option> causes <application>MEncoder</application> to | |
2681 be 50% slower. Adding sound processing and advanced <option>lavcopts | |
14828
37112d48fb50
grammar fix by Corey Hickey <bugfood-ml at fatooh dot org>
diego
parents:
14734
diff
changeset
|
2682 </option> overshadows that difference, bringing the performance |
14734 | 2683 decrease of using <option>pullup</option> down to 2%. |
2684 </para> | |
2685 </formalpara> | |
2686 </listitem> | |
2687 | |
11905
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2688 </orderedlist> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2689 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2690 </sect2> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2691 |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2692 </sect1> |
e1730b82a762
Telecine HOWTO by Corey Hickey <bugfood-ml@fatooh.org>, some modifications
diego
parents:
11823
diff
changeset
|
2693 |
9675 | 2694 </chapter> |