annotate DOCS/xml/en/mencoder.xml @ 15329:4c039fa37dbf

Removes all English's short forms.
author gpoirier
date Mon, 02 May 2005 18:34:18 +0000
parents f351dd913bc6
children 87121d373127
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
3 <chapter id="mencoder">
11540
d480f7e36b74 <application> attack
wight
parents: 11271
diff changeset
4 <title>Encoding with <application>MEncoder</application></title>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
5
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
6 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
7 For the complete list of available <application>MEncoder</application> options
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
8 and examples, please see the man page. For a series of hands-on examples and
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
9 detailed guides on using several encoding parameters, read the
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
10 <ulink url="../../tech/encoding-tips.txt">encoding-tips</ulink> that were
15029
b0dd473ed38a correct spelling for mailing list names
diego
parents: 15010
diff changeset
11 collected from several mailing list threads on MPlayer-users. Search the
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
12 <ulink url="http://mplayerhq.hu/pipermail/mplayer-users/">archives</ulink>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
13 for a wealth of discussions about all aspects of and problems related to
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
14 encoding with <application>MEncoder</application>.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
15 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
16
12400
903ac68f2bc8 divx --> lavc, spelling, more sensible section name
diego
parents: 12399
diff changeset
17 <sect1 id="menc-feat-mpeg4">
14421
4a70b65cd2ae consistent "two pass" spelling
diego
parents: 14131
diff changeset
18 <title>Encoding two pass MPEG-4 (&quot;DivX&quot;)</title>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
19
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
20 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
21 The name comes from the fact that this method encodes the file <emphasis>twice</emphasis>.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
22 The first encoding (dubbed pass) creates some temporary files
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
23 (<filename>*.log</filename>) with a size of few megabytes, do not delete
14421
4a70b65cd2ae consistent "two pass" spelling
diego
parents: 14131
diff changeset
24 them yet (you can delete the AVI). In the second pass, the two pass output
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
25 file is created, using the bitrate data from the temporary files. The
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
26 resulting file will have much better image quality. If this is the first
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
29 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
33 <para>
14421
4a70b65cd2ae consistent "two pass" spelling
diego
parents: 14131
diff changeset
34 Two pass encode of a DVD to an MPEG-4 (&quot;DivX&quot;) 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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
36 <screen>
11710
d37d4bc38f26 <replaceable> tags by Qba <jim85@wp.pl>
wight
parents: 11680
diff changeset
37 mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o <replaceable>movie.avi</replaceable>
d37d4bc38f26 <replaceable> tags by Qba <jim85@wp.pl>
wight
parents: 11680
diff changeset
38 mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o <replaceable>movie.avi</replaceable>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
39 </screen>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
42
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
45 <para>
14421
4a70b65cd2ae consistent "two pass" spelling
diego
parents: 14131
diff changeset
46 Two pass encode of a DVD to an MPEG-4 (&quot;DivX&quot;) 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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
51 </screen>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
52 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
53 </example>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
54 </sect1>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
55
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
56 <sect1 id="menc-feat-mpeg">
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
57 <title>Encoding to MPEG format</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
58 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
59 <application>MEncoder</application> can create MPEG (MPEG-PS) format output
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
62 <emphasis>mpeg1video</emphasis> codec, because players - except
14024
0d9e27059495 MPEG-X spelling
diego
parents: 13523
diff changeset
63 <application>MPlayer</application> - expect MPEG-1 video, and MPEG-1 layer 2 (MP2)
10869
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
64 audio streams in MPEG files.
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
65 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
66
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
d480f7e36b74 <application> attack
wight
parents: 11271
diff changeset
69 but the more importantly because <application>MEncoder</application> currently
14024
0d9e27059495 MPEG-X spelling
diego
parents: 13523
diff changeset
70 cannot encode MPEG-1 layer 2 (MP2) audio, which all other players expect in MPEG files.
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
71 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
72
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
73 <para>
12578
3f543ec01d1e 's should be outside of <application> tags.
diego
parents: 12484
diff changeset
74 To change <application>MEncoder</application>'s output file format,
11540
d480f7e36b74 <application> attack
wight
parents: 11271
diff changeset
75 use the <option>-of mpeg</option> option.
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
76 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
77
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
78 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
79 Example:
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
80 <screen>
11710
d37d4bc38f26 <replaceable> tags by Qba <jim85@wp.pl>
wight
parents: 11680
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
82 </screen>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
83 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
84 </sect1>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
85
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
86
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
87 <sect1 id="menc-feat-rescale">
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
88 <title>Rescaling movies</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
89
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
90 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
91 Often the need to resize movie images' size emerges. Its reasons can be
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
95 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
96
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
97 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
98 The scaling process is handled by the <literal>scale</literal> video filter:
9677
142c42fa0986 sync with HTML
nicolas
parents: 9675
diff changeset
99 <option>-vf scale=<replaceable>width</replaceable>:<replaceable>height</replaceable></option>.
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
100 Its quality can be set with the <option>-sws</option> option.
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
101 If it is not specified, <application>MEncoder</application> will use 2: bicubic.
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
102 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
103
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
104 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
105 Usage:
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
108 </screen>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
109 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
110 </sect1>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
111
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
112
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
113 <sect1 id="menc-feat-streamcopy">
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
114 <title>Stream copying</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
115
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
116 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
117 <application>MEncoder</application> can handle input streams in two ways:
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
118 <emphasis role="bold">encode</emphasis> or <emphasis role="bold">copy</emphasis>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
119 them. This section is about <emphasis role="bold">copying</emphasis>.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
120 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
121
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
122 <itemizedlist>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
123 <listitem><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
124 <emphasis role="bold">Video stream</emphasis> (option <option>-ovc copy</option>):
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
125 nice stuff can be done :) Like, putting (not converting!) FLI or VIVO or
14024
0d9e27059495 MPEG-X spelling
diego
parents: 13523
diff changeset
126 MPEG-1 video into an AVI file! Of course only
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
127 <application>MPlayer</application> can play such files :) And it probably
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
128 has no real life value at all. Rationally: video stream copying can be
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
129 useful for example when only the audio stream has to be encoded (like,
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
130 uncompressed PCM to MP3).
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
131 </para></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
132 <listitem><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
diego
parents: 10184
diff changeset
135 WAV) and mux it into the output stream. Use the
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
136 <option>-audiofile <replaceable>filename</replaceable></option> option
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
137 for this.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
138 </para></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
139 </itemizedlist>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
140 </sect1>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
141
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
142
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
146
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
6ed241d3db16 lavc audio codecs are now supported.
diego
parents: 11732
diff changeset
150 You can encode to the following codecs (more or less up to date):
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
151
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
152 <informaltable frame="all">
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
153 <tgroup cols="2">
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
154 <thead>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
155 <row><entry>Codec name</entry><entry>Description</entry></row>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
156 </thead>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
157 <tbody>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
158 <row><entry>mjpeg</entry><entry>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
159 Motion JPEG
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
160 </entry></row>
10869
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
161 <row><entry>ljpeg</entry><entry>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
162 Lossless JPEG
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
163 </entry></row>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
164 <row><entry>h263</entry><entry>
13111
fad3639920d5 H.263 spelling
diego
parents: 13022
diff changeset
165 H.263
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
166 </entry></row>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
167 <row><entry>h263p</entry><entry>
13111
fad3639920d5 H.263 spelling
diego
parents: 13022
diff changeset
168 H.263+
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
169 </entry></row>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
170 <row><entry>mpeg4</entry><entry>
14024
0d9e27059495 MPEG-X spelling
diego
parents: 13523
diff changeset
171 ISO standard MPEG-4 (DivX 5, XVID compatible)
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
172 </entry></row>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
173 <row><entry>msmpeg4</entry><entry>
14024
0d9e27059495 MPEG-X spelling
diego
parents: 13523
diff changeset
174 pre-standard MPEG-4 variant by MS, v3 (AKA DivX3)
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
175 </entry></row>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
176 <row><entry>msmpeg4v2</entry><entry>
14024
0d9e27059495 MPEG-X spelling
diego
parents: 13523
diff changeset
177 pre-standard MPEG-4 by MS, v2 (used in old asf files)
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
178 </entry></row>
10869
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
179 <row><entry>wmv1</entry><entry>
13222
diego
parents: 13111
diff changeset
180 Windows Media Video, version 1 (AKA WMV7)
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
181 </entry></row>
10869
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
182 <row><entry>wmv2</entry><entry>
13222
diego
parents: 13111
diff changeset
183 Windows Media Video, version 2 (AKA WMV8)
10869
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
184 </entry></row>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
185 <row><entry>rv10</entry><entry>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
186 an old RealVideo codec
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
187 </entry></row>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
188 <row><entry>mpeg1video</entry><entry>
14024
0d9e27059495 MPEG-X spelling
diego
parents: 13523
diff changeset
189 MPEG-1 video
10869
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
190 </entry></row>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
191 <row><entry>mpeg2video</entry><entry>
14024
0d9e27059495 MPEG-X spelling
diego
parents: 13523
diff changeset
192 MPEG-2 video
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
193 </entry></row>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
194 <row><entry>huffyuv</entry><entry>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
195 lossless compression
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
196 </entry></row>
10869
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
197 <row><entry>asv1</entry><entry>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
198 ASUS Video v1
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
199 </entry></row>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
200 <row><entry>asv2</entry><entry>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
201 ASUS Video v2
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
202 </entry></row>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
203 <row><entry>ffv1</entry><entry>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
204 FFmpeg's lossless video codec
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
205 </entry></row>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
206 </tbody>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
207 </tgroup>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
208 </informaltable>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
209
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
210 The first column contains the codec names that should be passed after the
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
211 <literal>vcodec</literal> config, like: <option>-lavcopts vcodec=msmpeg4</option>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
212 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
213
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
214 <informalexample>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
215 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
218 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
219 </informalexample>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
220 </sect1>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
221
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
222
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
225
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
226 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
229 (Motion JPEG), MPNG (Motion PNG) or MTGA (Motion TGA) files.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
230 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
231
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
232 <orderedlist>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
233 <title>Explanation of the process:</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
234 <listitem><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
235 <application>MEncoder</application> <emphasis>decodes</emphasis> the input image(s) with
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
236 <systemitem class="library">libjpeg</systemitem> (when decoding PNGs, it
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
237 will use <systemitem class="library">libpng</systemitem>).
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
238 </para></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
239 <listitem><para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
242 </para></listitem>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
243 </orderedlist>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
244
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
245 <formalpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
246 <title>Examples</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
249
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
250 <informalexample>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
251 <para>
14024
0d9e27059495 MPEG-X spelling
diego
parents: 13523
diff changeset
252 Creating an MPEG-4 file from all the JPEG files in the current directory:
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
256 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
257 </informalexample>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
258
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
259 <informalexample>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
260 <para>
14024
0d9e27059495 MPEG-X spelling
diego
parents: 13523
diff changeset
261 Creating an MPEG-4 file from some JPEG files in the current directory:
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
265 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
266 </informalexample>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
267
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
268 <informalexample>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
269 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
275 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
276 </informalexample>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
277
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
278 <informalexample>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
284 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
285 </informalexample>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
286
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
287 <note><para>
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
288 Width must be integer multiple of 4, it is a limitation of the RAW RGB AVI format.
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
289 </para></note>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
290
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
291 <informalexample>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
292 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
297 --></screen>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
298 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
299 </informalexample>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
300
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
301 <informalexample>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
302 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
307 --></screen>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
308 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
309 </informalexample>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
310
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
311 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
312 </formalpara>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
313 </sect1>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
314
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
315
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
316 <sect1 id="menc-feat-extractsub">
12615
84e078fd64b4 uniform VOBsub spelling
diego
parents: 12599
diff changeset
317 <title>Extracting DVD subtitles to VOBsub file</title>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
318
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
319 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
320 <application>MEncoder</application> is capable of extracting subtitles from
12615
84e078fd64b4 uniform VOBsub spelling
diego
parents: 12599
diff changeset
321 a DVD into VOBsub formatted files. They consist of a pair of files ending in
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
322 <filename>.idx</filename> and <filename>.sub</filename> and are usually
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
323 packaged in a single <filename>.rar</filename> archive.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
324 <application>MPlayer</application> can play these with the
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
325 <option>-vobsub</option> and <option>-vobsubid</option> options.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
326 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
327
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
328 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
329 You specify the basename (i.e without the <filename>.idx</filename> or
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
330 <filename>.sub</filename> extension) of the output files with
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
331 <option>-vobsubout</option> and the index for this subtitle in the
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
332 resulting files with <option>-vobsuboutindex</option>.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
333 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
334
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
335 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
336 If the input is not from a DVD you should use <option>-ifo</option> to
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
337 indicate the <filename>.ifo</filename> file needed to construct the
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
338 resulting <filename>.idx</filename> file.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
339 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
340
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
341 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
342 If the input is not from a DVD and you do not have the
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
343 <filename>.ifo</filename> file you will need to use the
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
344 <option>-vobsubid</option> option to let it know what language id to put in
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
345 the <filename>.idx</filename> file.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
346 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
347
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
348 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
349 Each run will append the running subtitle if the <filename>.idx</filename>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
350 and <filename>.sub</filename> files already exist. So you should remove any
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
351 before starting.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
352 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
353
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
354 <example>
14421
4a70b65cd2ae consistent "two pass" spelling
diego
parents: 14131
diff changeset
355 <title>Copying two subtitles from a DVD while doing two pass encoding</title>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
356 <screen>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
357 rm subtitles.idx subtitles.sub
12776
1154a70ade70 3-pass encoding is evil.
diego
parents: 12758
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
360 --></screen>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
361 </example>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
362
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
363 <example>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
364 <title>Copying a french subtitle from an MPEG file</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
365 <screen>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
366 rm subtitles.idx subtitles.sub
11710
d37d4bc38f26 <replaceable> tags by Qba <jim85@wp.pl>
wight
parents: 11680
diff changeset
367 mencoder <replaceable>movie.mpg</replaceable> -ifo <replaceable>movie.ifo</replaceable> -vobsubout subtitles -vobsuboutindex 0 -vobsuboutid fr -sid 1<!--
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
368 --></screen>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
369 </example>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
370
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
371 </sect1>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
372
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
373 <sect1 id="aspect">
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
374 <title>Preserving aspect ratio</title>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
375 <para>
14024
0d9e27059495 MPEG-X spelling
diego
parents: 13523
diff changeset
376 DVDs and SVCDs (i.e. MPEG-1/2) files contain an aspect ratio value, which
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
377 describes how the player should scale the video stream, so humans will not
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
378 have egg heads (ex.: 480x480 + 4:3 = 640x480). However when encoding to AVI
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
382 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
383
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
384 <para>There is</para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
385
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
386 <para>
14024
0d9e27059495 MPEG-X spelling
diego
parents: 13523
diff changeset
387 MPEG-4 has an unique feature: the video stream can contain its needed aspect
0d9e27059495 MPEG-X spelling
diego
parents: 13523
diff changeset
388 ratio. Yes, just like MPEG-1/2 (DVD, SVCD) and H.263 files. Regretfully, there are
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
389 <emphasis role="bold">no</emphasis> video players outside which support this
14024
0d9e27059495 MPEG-X spelling
diego
parents: 13523
diff changeset
390 attribute of MPEG-4, except <application>MPlayer</application>.
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
391 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
392
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
396 <systemitem>mpeg4</systemitem> codec. Keep in mind: although
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
397 <application>MPlayer</application> will correctly play the created file,
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
398 other players will use the wrong aspect ratio.
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
399 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
400
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
401 <para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
404 <systemitem>crop</systemitem> filters.
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
405 </para>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
406
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
407 <para>
10869
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
408 Usage
11710
d37d4bc38f26 <replaceable> tags by Qba <jim85@wp.pl>
wight
parents: 11680
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
410 </para>
10869
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
411 </sect1>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
412
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
413 <sect1 id="custommatrices"><title>Custom inter/intra matrices</title>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
414
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
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
diego
parents: 12776
diff changeset
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
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
420 <systemitem>mpeg1video</systemitem> and <systemitem>mpeg2video</systemitem>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
421 are reported as working.
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
422 </para>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
423
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
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
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
426 <ulink url="http://www.kvcd.net/">KVCD</ulink> specifications.
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
427 </para>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
428
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
429 <para>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
430 The <emphasis role="bold">KVCD &quot;Notch&quot; Quantization Matrix:</emphasis>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
431 </para>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
432
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
433 <para>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
434 Intra:
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
435 <screen>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
436 8 9 12 22 26 27 29 34
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
437 9 10 14 26 27 29 34 37
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
438 12 14 18 27 29 34 37 38
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
439 22 26 27 31 36 37 38 40
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
440 26 27 29 36 39 38 40 48
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
441 27 29 34 37 38 40 48 58
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
442 29 34 37 38 40 48 58 69
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
443 34 37 38 40 48 58 69 79
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
444 </screen>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
445
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
446 Inter:
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
447 <screen>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
448 16 18 20 22 24 26 28 30
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
449 18 20 22 24 26 28 30 32
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
450 20 22 24 26 28 30 32 34
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
451 22 24 26 30 32 32 34 36
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
452 24 26 28 32 34 34 36 38
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
453 26 28 30 32 34 36 38 40
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
454 28 30 32 34 36 38 42 42
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
455 30 32 34 36 38 40 42 44
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
456 </screen>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
457 </para>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
458
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
459 <para>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
460 Usage:
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
461 <screen>
11710
d37d4bc38f26 <replaceable> tags by Qba <jim85@wp.pl>
wight
parents: 11680
diff changeset
462 $ mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=...
10869
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
463 </screen>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
464 </para>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
465
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
466 <para>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
467 <screen>
11710
d37d4bc38f26 <replaceable> tags by Qba <jim85@wp.pl>
wight
parents: 11680
diff changeset
468 $ mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts
10869
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
469 vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
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,
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
471 29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
472 :inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
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,
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
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
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
475 </screen>
364d43cee33e sync with HTML
diego
parents: 10429
diff changeset
476 </para>
9675
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
477 </sect1>
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
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
0d9e27059495 MPEG-X spelling
diego
parents: 13523
diff changeset
480 <title>Making a high quality MPEG-4 (&quot;DivX&quot;) 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
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
483 One frequently asked question is "How do I make the highest quality rip for
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
484 a given size?". Another question is "How do I make the highest quality DVD
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
489 The latter question is perhaps at least somewhat wrongly posed. After all, if
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
490 you do not care about file size, why not simply copy the entire MPEG-2 video
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
491 stream from the the DVD? Sure, your AVI will end up being 5GB, give
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
0d9e27059495 MPEG-X spelling
diego
parents: 13523
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
505 understand these details or else you are likely to end up disappointed
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
506 with your results. Below we will investigate some of these issues, and
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
513 If this seems to be too much for you, you should probably use one of the
15034
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
514 many fine frontends that are listed in the
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
515 <ulink url="http://mplayerhq.hu/homepage/design7/projects.html#mencoder_frontends">MEncoder section</ulink>
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
516 of our related projects page.
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
517 That way, you should be able to achieve high quality rips without too much
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
518 thinking, because most of those tools are designed to take clever decisions
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
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
4a70b65cd2ae consistent "two pass" spelling
diego
parents: 14131
diff changeset
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
4a70b65cd2ae consistent "two pass" spelling
diego
parents: 14131
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
553 is forced to use a higher quantizer, then you are almost certainly ruining
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
554 the quality of your video.
15034
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
555 In order to avoid that, you should probably downscale your video, according
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
556 to the method described later on in this guide.
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
576 CPU has as many cycles as there is time, but there is only so many bits
13523
diego
parents: 13222
diff changeset
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
4a70b65cd2ae consistent "two pass" spelling
diego
parents: 14131
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
590 If you use <option>vqscale=2</option>, then you are wasting bits. If you
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4a70b65cd2ae consistent "two pass" spelling
diego
parents: 14131
diff changeset
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
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
595 role="bold">higher quality</emphasis> for the
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
600 Since you are now convinced that two pass is the way to go, the real
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
608 If size does not matter, a good starting point for a very high quality
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
609 rip is about 2000Kbit plus or minus 200Kbit.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
610 For fast action or high detail source video, or if you just have a very
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
611 critical eye, you might decide on 2400 or 2600.
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
616 <para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
617 If you aim at a certain size, you will have to somehow calculate the bitrate.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
618 But before that, you need to know how much space you should reserve for the
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
619 audio track(s), so you should <link linkend="menc-feat-dvd-mpeg4-audio">rip
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
620 those</link> first.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
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
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
628 </para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
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
2075e798f6f2 Typo noticed by Rich
gpoirier
parents: 15114
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
425dd164a133 Some fixes
wight
parents: 15157
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
756 Recall from the previous section that the final picture size you
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
757 encode should be a multiple of 16 (in both width and height).
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
758 This can be achieved by cropping, scaling, or a combination of both.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
759 </para>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
760
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
761 <para>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
762 When cropping, there are a few guidelines that must be followed to
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
763 avoid damaging your movie.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
764 The normal YUV format, 4:2:0, stores chroma (color) information
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
765 subsampled, i.e. chroma is only sampled half as often in each
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
766 direction as luma (intensity) information.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
767 Observe this diagram, where L indicates luma sampling points and C
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
768 chroma.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
769 </para>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
770
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
771 <informaltable>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
772 <?dbhtml table-width="40%" ?>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
773 <?dbfo table-width="40%" ?>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
774 <tgroup cols="8" align="center">
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
775 <colspec colnum="1" colname="col1"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
776 <colspec colnum="2" colname="col2"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
777 <colspec colnum="3" colname="col3"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
778 <colspec colnum="4" colname="col4"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
779 <colspec colnum="5" colname="col5"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
780 <colspec colnum="6" colname="col6"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
781 <colspec colnum="7" colname="col7"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
782 <colspec colnum="8" colname="col8"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
783 <spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
784 <spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
785 <spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
786 <spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
787 <tbody>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
788 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
789 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
790 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
791 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
792 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
793 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
794 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
795 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
796 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
797 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
798 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
799 <entry spanname="spa1-2">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
800 <entry spanname="spa3-4">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
801 <entry spanname="spa5-6">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
802 <entry spanname="spa7-8">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
803 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
804 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
805 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
806 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
807 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
808 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
809 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
810 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
811 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
812 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
813 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
814 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
815 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
816 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
817 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
818 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
819 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
820 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
821 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
822 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
823 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
824 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
825 <entry spanname="spa1-2">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
826 <entry spanname="spa3-4">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
827 <entry spanname="spa5-6">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
828 <entry spanname="spa7-8">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
829 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
830 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
831 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
832 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
833 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
834 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
835 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
836 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
837 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
838 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
839 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
840 </tbody>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
841 </tgroup>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
842 </informaltable>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
843
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
844 <para>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
845 As you can see, rows and columns of the image naturally come in pairs.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
846 Thus your crop offsets and dimensions <emphasis>must</emphasis> be
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
847 even numbers.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
848 If they are not, the chroma will no longer line up correctly with the
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
849 luma.
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
850 In theory, it is possible to crop with odd offsets, but it requires
15221
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
851 resampling the chroma which is potentially a lossy operation and not
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
852 supported by the crop filter.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
853 </para>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
854
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
855 <para>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
856 Further, interlaced video is sampled as follows:
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
857 </para>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
858
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
859 <informaltable>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
860 <?dbhtml table-width="80%" ?>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
861 <?dbfo table-width="80%" ?>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
862 <tgroup cols="16" align="center">
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
863 <colspec colnum="1" colname="col1"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
864 <colspec colnum="2" colname="col2"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
865 <colspec colnum="3" colname="col3"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
866 <colspec colnum="4" colname="col4"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
867 <colspec colnum="5" colname="col5"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
868 <colspec colnum="6" colname="col6"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
869 <colspec colnum="7" colname="col7"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
870 <colspec colnum="8" colname="col8"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
871 <colspec colnum="9" colname="col9"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
872 <colspec colnum="10" colname="col10"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
873 <colspec colnum="11" colname="col11"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
874 <colspec colnum="12" colname="col12"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
875 <colspec colnum="13" colname="col13"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
876 <colspec colnum="14" colname="col14"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
877 <colspec colnum="15" colname="col15"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
878 <colspec colnum="16" colname="col16"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
879 <spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
880 <spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
881 <spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
882 <spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
883 <spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
884 <spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
885 <spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
886 <spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
887 <tbody>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
888 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
889 <entry namest="col1" nameend="col8">Top field</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
890 <entry namest="col9" nameend="col16">Bottom field</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
891 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
892 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
893 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
894 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
895 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
896 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
897 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
898 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
899 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
900 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
901 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
902 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
903 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
904 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
905 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
906 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
907 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
908 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
909 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
910 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
911 <entry spanname="spa1-2">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
912 <entry spanname="spa3-4">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
913 <entry spanname="spa5-6">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
914 <entry spanname="spa7-8">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
915 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
916 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
917 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
918 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
919 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
920 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
921 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
922 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
923 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
924 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
925 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
926 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
927 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
928 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
929 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
930 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
931 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
932 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
933 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
934 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
935 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
936 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
937 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
938 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
939 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
940 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
941 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
942 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
943 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
944 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
945 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
946 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
947 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
948 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
949 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
950 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
951 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
952 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
953 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
954 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
955 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
956 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
957 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
958 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
959 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
960 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
961 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
962 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
963 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
964 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
965 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
966 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
967 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
968 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
969 <entry spanname="spa9-10">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
970 <entry spanname="spa11-12">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
971 <entry spanname="spa13-14">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
972 <entry spanname="spa15-16">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
973 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
974 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
975 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
976 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
977 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
978 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
979 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
980 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
981 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
982 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
983 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
984 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
985 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
986 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
987 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
988 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
989 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
990 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
991 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
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
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1011 <entry spanname="spa1-2">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1012 <entry spanname="spa3-4">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1013 <entry spanname="spa5-6">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1014 <entry spanname="spa7-8">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1015 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1016 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1017 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1018 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1019 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1020 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1021 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1022 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1023 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1024 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1025 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1026 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1027 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1028 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1029 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1030 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1031 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1032 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1033 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1034 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1035 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1036 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1037 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1038 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1039 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1040 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1041 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1042 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1043 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1044 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1045 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1046 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1047 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1048 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1049 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1050 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1051 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1052 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1053 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1054 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1055 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1056 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1057 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1058 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1059 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1060 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1061 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1062 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1063 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1064 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1065 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1066 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1067 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1068 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1069 <entry spanname="spa9-10">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1070 <entry spanname="spa11-12">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1071 <entry spanname="spa13-14">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1072 <entry spanname="spa15-16">C</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1073 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1074 <row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1075 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1076 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1077 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1078 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1079 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1080 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1081 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1082 <entry></entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1083 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1084 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1085 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1086 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1087 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1088 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1089 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1090 <entry>L</entry>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1091 </row>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1092 </tbody>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1093 </tgroup>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1094 </informaltable>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1095
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1096 <para>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1097 As you can see, the pattern does not repeat until after 4 lines.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1098 So for interlaced video, your y-offset and height for cropping must
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1099 be multiples of 4.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1100 </para>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1101
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1113 Run <application>MPlayer</application> with
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1114 <option>-vf cropdetect</option> and it will print out the crop
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1115 settings to remove the borders.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1116 You should let the movie run long enough that the whole picture
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1117 area is used, in order to get accurate crop values.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1118 </para>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1119
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1120 <para>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1121 Then, test the values you get with <application>MPlayer</application>,
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1122 using the command line which was printed by
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1123 <option>cropdetect</option>, and adjust the rectangle as needed.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1124 The <option>rectangle</option> filter can help by allowing you to
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1125 interactively position the crop rectangle over your movie.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1126 Remember to follow the above divisibility guidelines so that you
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1127 do not misalign the chroma planes.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1128 </para>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1129
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1130 <para>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1131 In certain cases, scaling may be undesirable.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1132 Scaling in the vertical direction is difficult with interlaced
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1133 video, and if you wish to preserve the interlacing, you should
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1134 usually refrain from scaling.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1135 If you will not be scaling but you still want to use multiple-of-16
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1136 dimensions, you will have to overcrop.
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1137 Do not undercrop, since black borders are very bad for encoding!
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1138 </para>
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1139
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1140 <para>
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1141 Because MPEG-4 uses 16x16 macroblocks, you will want to make sure that each
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
3c4a863020c8 Rich's tips regarding cropping and scaling
gpoirier
parents: 15216
diff changeset
1145 multiple of 16.
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1150 rule, never use odd values for any parameter when you are cropping and
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1151 scaling video.) If you are not comfortable throwing a few extra pixels
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1154 You can actually let the <option>cropdetect</option> filter do all of the
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1155 above for you, as it has an optional <option>round</option> parameter that
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1166 After all is said and done, you will probably end up with video whose pixels
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1171 that will do this for you. Absolutely do not scale this video up in order to
13523
diego
parents: 13222
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1175 Unfortunately, not all players enforce this auto-scaling information,
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1176 therefore you may still want to rescale.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1177 </para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1178
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1179 <para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1182 <itemizedlist>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1183 <title>where:</title>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1184 <listitem><para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1185 Wc and Hc are the width and height of the cropped video,
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1186 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1187 <listitem><para>
15216
wight
parents: 15210
diff changeset
1188 PRdvd is the pixel ratio of the DVD which is equal to 1.25=(720/576) for PAL
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1189 DVDs and 1.5=(720/480) for NTSC DVDs,
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1190 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1191 </itemizedlist>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1192 </para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1193
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1194 <para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1195 Then, you can compute the X and Y resolution, according to a certain
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1199 </para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1200
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1201 <para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1202 Okay, but what is the CQ?
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1203 The CQ represents the number of bits per pixel and per frame of the encode.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1204 Roughly speaking, the greater the CQ, the less the likelihood to see
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1205 encoding artifacts.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1206 However, if you have a target size for your movie (1 or 2 CDs for instance),
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1207 there is a limited total number of bits that you can spend; therefore it is
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1212 The CQ depends both on the bitrate and the movie resolution.
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1213 In order to raise the CQ, typically you would downscale the movie given that the
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1214 bitrate is computed in function of the target size and the length of the
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1215 movie, which are constant.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1216 A CQ below 0.18 usually ends up in a very blocky picture, because there
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1217 are not enough bits to code the information of each macroblock (MPEG4, like
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1218 many other codecs, groups pixels by blocks of several pixels to compress the
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1219 image; if there are not enough bits, the edges of those blocks are
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1220 visible).
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1221 It is therefore wise to take a CQ ranging from 0.20 to 0.22 for a 1 CD rip,
15210
425dd164a133 Some fixes
wight
parents: 15157
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1227 the encoded content, a CQ of 0.18 may look just fine for a Bergman, contrary
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1228 to a movie such as The Matrix, which contains many high-motion scenes.
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1229 On the other hand, it is worthless to raise CQ higher than 0.30 as you would
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1239 Audio is a much simpler problem to solve: if you care about quality, just
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1240 leave it as is.
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1241 Even AC3 5.1 streams are at most 448Kbit/s, and they are worth every bit.
15034
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
1242 You might be tempted to transcode the audio to high quality Vorbis, but
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1243 just because you do not have an A/V receiver for AC3 pass-through today
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1246 You can keep the AC3 stream either by copying it directly into the video
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1247 stream <link linkend="menc-feat-mpeg4">during the encoding</link>.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1248 You can also extract the AC3 stream in order to mux it into containers such
15153
0f3be1ff01fb Nits, better formating and missed suggestions
gpoirier
parents: 15148
diff changeset
1249 as NUT or Matroska.
15139
f9490925a69d Add missing <replaceable> tags.
gpoirier
parents: 15131
diff changeset
1250 <screen>mplayer <replaceable>source_file.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>sound.ac3</replaceable></screen>
15153
0f3be1ff01fb Nits, better formating and missed suggestions
gpoirier
parents: 15148
diff changeset
1251 will dump into the file <replaceable>sound.ac3</replaceable> the
0f3be1ff01fb Nits, better formating and missed suggestions
gpoirier
parents: 15148
diff changeset
1252 audio track number 129 from the file
0f3be1ff01fb Nits, better formating and missed suggestions
gpoirier
parents: 15148
diff changeset
1253 <replaceable>source_file.vob</replaceable> (NB: DVD VOB files
0f3be1ff01fb Nits, better formating and missed suggestions
gpoirier
parents: 15148
diff changeset
1254 usually use a different audio numbering,
15034
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
1255 which means that the VOB audio track 129 is the 2nd audio track of the file).
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1256 </para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1257
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1258 <para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1259 But sometimes you truly have no choice but to further compress the
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1260 sound so that more bits can be spent on the video.
15034
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
1261 Most people choose to compress audio with either MP3 or Vorbis audio
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1262 codecs.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1263 While the latter is a very space-efficient codec, MP3 is better supported
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1267 <para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1268 First of all, you will have to convert the DVD sound into a WAV file that the
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1269 audio codec can use as input.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1270 For example:
15139
f9490925a69d Add missing <replaceable> tags.
gpoirier
parents: 15131
diff changeset
1271 <screen>mplayer <replaceable>source_file.vob</replaceable> -ao pcm:file=<replaceable>destination_sound.wav</replaceable> -vc dummy -aid 1 -vo null</screen>
15153
0f3be1ff01fb Nits, better formating and missed suggestions
gpoirier
parents: 15148
diff changeset
1272 will dump the second audio track from the file
0f3be1ff01fb Nits, better formating and missed suggestions
gpoirier
parents: 15148
diff changeset
1273 <replaceable>source_file.vob</replaceable> into the file
0f3be1ff01fb Nits, better formating and missed suggestions
gpoirier
parents: 15148
diff changeset
1274 <replaceable>destination_sound.wav</replaceable>.
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1275 You may want to normalize the sound before encoding, as DVD audio tracks
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1276 are commonly recorded at low volumes.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
1281 You will compress in either Vorbis or MP3.
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1282 For example:
15139
f9490925a69d Add missing <replaceable> tags.
gpoirier
parents: 15131
diff changeset
1283 <screen>oggenc -q1 <replaceable>destination_sound.wav</replaceable></screen>
15153
0f3be1ff01fb Nits, better formating and missed suggestions
gpoirier
parents: 15148
diff changeset
1284 will encode <replaceable>destination_sound.wav</replaceable> with
0f3be1ff01fb Nits, better formating and missed suggestions
gpoirier
parents: 15148
diff changeset
1285 the encoding quality 1, which is roughly equivalent to 80Kb/s, and
0f3be1ff01fb Nits, better formating and missed suggestions
gpoirier
parents: 15148
diff changeset
1286 is the minimum quality at which you should encode if you care about
0f3be1ff01fb Nits, better formating and missed suggestions
gpoirier
parents: 15148
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1293 Do not worry, this document will show you how you can do that with third
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1294 party programs.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
1308 24000/1001 fps, and repeating every fourth frame.
11780
8e7098f960f8 some little clarifications and additions
diego
parents: 11747
diff changeset
1309 </para>
8e7098f960f8 some little clarifications and additions
diego
parents: 11747
diff changeset
1310
8e7098f960f8 some little clarifications and additions
diego
parents: 11747
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1316 but unless you are an alien, you probably will not notice the difference.
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1339 It is highly recommended that you read the section on
14734
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
1340 <link linkend="menc-feat-telecine">How to deal with telecine and interlacing in NTSC DVDs</link>
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1388
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1389 <para>
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1390 Ideally, you would probably want to be able to just tell the encoder to switch
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1391 into "high quality" mode and move on.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1392 That would probably be nice, but unfortunately hard to implement as different
15034
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
1393 encoding options yield different quality results depending on the source material.
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1398 The good news is that some options should never be left out, like
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1399 <option>mbd=2</option>, <option>trell</option>, and <option>v4mv</option>.
15034
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
1400 See below for a detailed description of common encoding options.
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1401 </para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1402
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1403
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1404 <itemizedlist>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1405 <title>Options to adjust:</title>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1406 <listitem><para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1407 <emphasis role="bold">vmax_b_frames</emphasis>: 1 or 2 is good, depending on
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1408 the movie.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1409 Note that libavcodec does not yet support closed GOP (the option
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1410 <option>cgop</option> does not currently work), so DivX5 will not be able to
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1411 decode anything encoded with B-frames.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1412 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1413
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1414 <listitem><para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1415 <emphasis role="bold">vb_strategy=1</emphasis>: helps in high-motion scenes.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1416 Requires vmax_b_frames >= 2.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1417 On some videos, vmax_b_frames may hurt quality, but vmax_b_frames=2 along
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1418 with vb_strategy=1 helps.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1419 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1420
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1421 <listitem><para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1422 <emphasis role="bold">dia</emphasis>: motion search range. Bigger is better
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1423 and slower.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1424 Negative values are a completely different scale.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1425 Good values are -1 for a fast encode, or 2-4 for slower.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1426 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1427
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1428 <listitem><para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1429 <emphasis role="bold">predia</emphasis>: motion search pre-pass.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1430 Not as important as dia. Good values are 1 (default) to 4. Requires preme=2
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1431 to really be useful.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1432 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1433
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1434 <listitem><para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1435 <emphasis role="bold">cmp, subcmp, precmp</emphasis>: Comparison function for
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1436 motion estimation.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1437 Experiment with values of 0 (default), 2 (hadamard), 3 (dct), and 6 (rate
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1438 distortion).
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1439 0 is fastest, and sufficient for precmp.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1440 For cmp and subcmp, 2 is good for anime, and 3 is good for live action.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1441 6 may or may not be slightly better, but is slow.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1442 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1443
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1444 <listitem><para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1445 <emphasis role="bold">last_pred</emphasis>: Number of motion predictors to
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1446 take from the previous frame.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1447 1-3 or so help at little speed cost.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1448 Higher values are slow for no extra gain.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1449 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1450
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1451 <listitem><para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1452 <emphasis role="bold">cbp, mv0</emphasis>: Controls the selection of macroblocks.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1453 Small speed cost for small quality gain.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1454 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1455
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1456 <listitem><para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1457 <emphasis role="bold">qprd</emphasis>: adaptive quantization based on the
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1458 macroblock's complexity.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1459 May help or hurt depending on the video and other options.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1460 This can cause artifacts unless you set vqmax to some reasonably small value
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1461 (6 is good, maybe as low as 4); vqmin=1 should also help.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1462 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1463
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1464 <listitem><para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1465 <emphasis role="bold">qns</emphasis>: very slow, especially when combined
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
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
2c9d334d244a grammar fix by the Wanderer
diego
parents: 15034
diff changeset
1468 artifacts instead of making the encoded video strictly match the source.
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1469 Do not use this unless you have already tweaked everything else as far as it
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1470 will go and the results still are not good enough.
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1471 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1472
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1473 <listitem><para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1474 <emphasis role="bold">vqcomp</emphasis>: Tweak ratecontrol.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1475 What values are good depends on the movie.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1476 You can safely leave this alone if you want.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1477 Reducing vqcomp puts more bits on low-complexity scenes, increasing it puts
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1478 them on high-complexity scenes (default: 0.5, range: 0-1. recommended range:
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1479 0.5-0.7).
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1480 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1481
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1482 <listitem><para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1483 <emphasis role="bold">vlelim, vcelim</emphasis>: Sets the single coefficient
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1484 elimination threshold for luminance and chroma planes.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1485 These are encoded separately in all MPEG-like algorithms.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1486 The idea behind these options is to use some good heuristics to determine
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1487 when the change in a block is less than the threshold you specify, and in
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1488 such a case, to just encode the block as "no change".
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1489 This saves bits and perhaps speeds up encoding. vlelim=-4 and vcelim=9
15034
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
1490 seem to be good for live movies, but seem not to help with anime;
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1491 when encoding animation, you should probably leave them unchanged.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1492 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1493
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1494 <listitem><para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1495 <emphasis role="bold">qpel</emphasis>: Quarter pixel motion estimation.
15034
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
1496 MPEG-4 uses half pixel precision for its motion search by default,
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1497 therefore this option comes with an overhead as more information will be
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1498 stored in the encoded file.
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1499 The compression gain/loss depends on the movie, but it is usually not very
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1500 effective on anime.
15034
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
1501 qpel always incurs a significant cost in CPU decode time (+20% in
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1502 practice).
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1503 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1504
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1505 <listitem><para>
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1506 <emphasis role="bold">psnr</emphasis>: does not affect the actual encoding,
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1507 but writes a log file giving the type/size/quality of each frame, and
15034
3aa4ea67e8f9 misc fixes
diego
parents: 15031
diff changeset
1508 prints a summary of PSNR (Peak Signal to Noise Ratio) at the end.
15010
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1509 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1510
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1511 </itemizedlist>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1512
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1513 <itemizedlist>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1514 <title>Options not recommended to play with:</title>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1515 <listitem><para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1516 <emphasis role="bold">vme</emphasis>: The default is best.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1517 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1518
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1519 <listitem><para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1520 <emphasis role="bold">lumi_mask, dark_mask</emphasis>: Psychovisual adaptive
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1521 quantization.
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1524 subjective.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1525 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1526
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1527 <listitem><para>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1528 <emphasis role="bold">scplx_mask</emphasis>: Tries to prevent blocky
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1529 artifacts, but postprocessing is better.
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1530 </para></listitem>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1531 </itemizedlist>
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
1532
aec21cf429cb Improved encoding guide:
gpoirier
parents: 14958
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1542 so it is NTSC. The example below will still apply to PAL, except you will
14958
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1551 with telecine and interlacing in NTSC DVDs</link> and discover that it is
14958
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1581 retain the center. We have shrunk the height by 10 pixels, but we do not
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
1582 want to increase the y-offset by 5-pixels since that is an odd number and
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
a4f2691c0109 consistent pass two and pass one spelling
diego
parents: 14421
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
0f3be1ff01fb Nits, better formating and missed suggestions
gpoirier
parents: 15148
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
c9a7876a9046 Nits suggested by The Wanderer
gpoirier
parents: 15153
diff changeset
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
c9a7876a9046 Nits suggested by The Wanderer
gpoirier
parents: 15153
diff changeset
1767 error detection code (EDC) and modern A/V Codecs like "Advanced Audio
c9a7876a9046 Nits suggested by The Wanderer
gpoirier
parents: 15153
diff changeset
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
c9a7876a9046 Nits suggested by The Wanderer
gpoirier
parents: 15153
diff changeset
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
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1809 <sect1 id="menc-feat-x264">
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1810 <title>Encoding with the <systemitem class="library">x264</systemitem> codec</title>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1811 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1812 <systemitem class="library">x264</systemitem> is a free library for
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1813 encoding H264/AVC video streams.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1814 Before starting to encode, you need to <link linkend="codec-x264-encode">
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1815 set up <application>MEncoder</application> to support it</link>.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1816 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1817
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1818 <sect2 id="menc-feat-x264-intro">
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1819 <title>What options should I use to get the best results?</title>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1820
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1821 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1822 Please begin by reviewing the
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1823 <systemitem class="library">x264</systemitem> section of
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1824 <application>MPlayer</application>'s man page.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1825 This section is intended to be a supplement to the man page.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1826 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1827
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1828 <orderedlist>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1829 <title>There are mainly three types of considerations when choosing encoding
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1830 options:</title>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1831 <listitem><para>Trading off encoding time vs. quality</para></listitem>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1832 <listitem><para>Frame type decision options</para></listitem>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1833 <listitem><para>Ratecontrol and quantization decision options</para></listitem>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1834 </orderedlist>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1835
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1836 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1837 This guide is mostly concerned with the first class of options.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1838 The other two types often have more to do with personal
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1839 preferences and individual requirements.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1840 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1841
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1842 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1843 Before continuing, please note that this guide uses only one
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1844 quality metric: global PSNR.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1845 For a brief explanation of what PSNR is, see
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1846 <ulink url="http://en.wikipedia.org/wiki/PSNR">the Wikipedia article on PSNR</ulink>.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1847 Global PSNR is the last PSNR number reported when you include
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1848 the <option>psnr</option> option in <option>x264encopts</option>.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1849 Any time you will read a claim about PSNR, one of the assumptions
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1850 behind the claim is that equal bitrates are used.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1851 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1852
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1853 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1854 Nearly all of this guide's comments assume you are using
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1855 two pass.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1856 When comparing options, there are two major reasons for using
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1857 two pass encoding.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1858 First, using two pass often gains around 1dB PSNR, which is a
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1859 very big difference.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1860 Secondly, testing options by doing direct quality comparisons
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1861 with 1-pass encodes is a dubious proposition because bitrate
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1862 often varies significantly with each encode.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1863 It is not always easy to tell whether quality changes are due
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1864 mainly to changed options, or if they mostly reflect
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1865 differences in the achieved bitrate.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1866 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1867
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1868 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1869 Of the options which allow you to trade off speed for quality,
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1870 <option>subq</option> and <option>frameref</option> are usually
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1871 by far the most important.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1872 If you are interested in tweaking either speed or quality, these
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1873 are the first options you should consider.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1874 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1875
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1876 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1877 On the speed dimension, the <option>frameref</option> and
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1878 <option>subq</option> options interact with each other fairly
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1879 strongly.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1880 Experience shows that, with one reference frame,
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1881 <option>subq=5</option> takes about 35% more time than
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1882 <option>subq=1</option>.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1883 With 6 reference frames, the penalty grows to over 60%.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1884 <option>subq</option>'s effect on PSNR seems fairly constant
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1885 regardless of the number of reference frames.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1886 Typically, <option>subq=5</option> gains 0.2-0.5 dB
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1887 global PSNR over <option>subq=1</option>.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1888 This is usually enough to be visible.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1889 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1890
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1891 </sect2>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1892
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1893 <sect2 id="menc-feat-x264-encoding-options">
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1894 <title>Encoding options of x264</title>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1895
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1896 <itemizedlist>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1897 <listitem><para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1898 <emphasis role="bold">frameref</emphasis>:
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1899 <option>frameref</option> is set to 1 by default, but this
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1900 should not be taken to imply that it is reasonable to set it
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1901 to 1.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1902 Merely raising <option>frameref</option> to 2 gains around
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1903 0.15dB PSNR with a 5-10% speed penalty; this seems like a
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1904 good tradeoff.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1905 <option>frameref=3</option> gains around 0.25dB PSNR over
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1906 <option>frameref=1</option>, which should be a visible
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1907 difference.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1908 <option>frameref=3</option> is around 15% slower than
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1909 <option>frameref=1</option>.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1910 Unfortunately, diminishing returns set in rapidly.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1911 <option>frameref=6</option> can be expected to gain only
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1912 0.05-0.1 dB over <option>frameref=3</option> at an additional
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1913 15% speed penalty.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1914 Above <option>frameref=6</option>, the quality gains are
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1915 usually very small (although you should keep in mind throughout
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1916 this whole discussion that it can vary quite a lot depending on
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1917 your source).
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1918 In a fairly typical case, <option>frameref=12</option>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1919 will improve global PSNR by a tiny 0.02dB over
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1920 <option>frameref=6</option>, at a speed cost of 15%-20%.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1921 At such high <option>frameref</option> values, the only really
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1922 good thing that can be said is that increasing even further will
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1923 almost certainly never <emphasis role="bold">harm</emphasis>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1924 PSNR, but the additional quality benefits are barely even
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1925 measurable, let alone perceptible.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1926 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1927 <note><title>Note:</title>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1928 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1929 Raising <option>frameref</option> to unnecessarily high values
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1930 <emphasis role="bold">can</emphasis> and
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1931 <emphasis role="bold">usually does</emphasis>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1932 hurt coding efficiency if you turn CABAC off.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1933 With CABAC on (the default behavior), the possibility of setting
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1934 <option>frameref</option> "too high" currently seems too remote
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1935 to even worry about, and in the future, optimizations may remove
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1936 the possibility altogether).
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1937 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1938 </note>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1939 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1940 If you care about speed, a reasonable compromise is to use low
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1941 <option>subq</option> and <option>frameref</option> values on
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1942 the first pass, and then raise them on the second pass.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1943 Typically, this has a negligible negative effect on the final
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1944 quality: you will probably lose well under 0.1dB PSNR, which
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1945 should be much too small of a difference to see.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1946 However, different values of <option>frameref</option> can
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1947 occasionally affect frametype decision.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1948 Most likely, these are rare outlying cases, but if you want to
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1949 be pretty sure, consider whether your video has either
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1950 fullscreen repetitive flashing patterns or very large temporary
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1951 occlusions which might force an I-frame.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1952 Adjust the first-pass <option>frameref</option> so it is large
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1953 enough to contain the duration of the flashing cycle (or occlusion).
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1954 For example, if the scene flashes back and forth between two images
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1955 over a duration of three frames, set the first pass
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1956 <option>frameref</option> to 3 or higher.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1957 This issue is probably extremely rare in live action video material,
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1958 but it does sometimes come up in video game captures.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1959 </para></listitem>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1960
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1961 <listitem><para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1962 <emphasis role="bold">bframes</emphasis>:
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1963 The usefulness of B-frames is questionable in most other codecs
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1964 you may be used to.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1965 In H.264, this has changed: there are new techniques and block
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1966 types that are possible in B-frames.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1967 Usually, even a naive B-frame choice algorithm can have a
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1968 significant PSNR benefit.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1969 It is also interesting to note that if you turn off the adaptive
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1970 B-frame decision (<option>nob_adapt</option>), encoding with
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1971 <option>bframes</option> usually speeds up encoding speed somewhat.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1972 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1973 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1974 With adaptive B-frame decision turned off
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1975 (<option>x264encopts</option>'s <option>nob_adapt</option>),
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1976 the optimal value for this setting will usually range from
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1977 <option>bframes=1</option> to <option>bframes=3</option>.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1978 With adaptive B-frame decision on (the default behavior), it is
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1979 probably safe to use higher values; the encoder will try to
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1980 reduce the use of B-frames in scenes where they would hurt
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1981 compression.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1982 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1983 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1984 If you are going to use <option>bframes</option> at all, consider
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1985 setting the maximum number of B-frames to 2 or higher in order to
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1986 take advantage of weighted prediction.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1987 </para></listitem>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1988
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1989 <listitem><para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1990 <emphasis role="bold">b_adapt</emphasis>:
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1991 Note: this is on by default.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1992 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1993 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1994 With this option enabled, the encoder will use some simple
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1995 heuristics to reduce the number of B-frames used in scenes that
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1996 might not benefit from them as much.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1997 You can use <option>b_bias</option> to tweak how B-frame-happy
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1998 the encoder is.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
1999 The speed penalty of adaptive B-frames is currently rather modest,
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2000 but so is the potential quality gain.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2001 It usually does not hurt, however.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2002 Note that this only affects speed and frametype decision on the
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2003 first pass.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2004 <option>b_adapt</option> and <option>b_bias</option> have no
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2005 effect on subsequent passes.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2006 </para></listitem>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2007
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2008 <listitem><para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2009 <emphasis role="bold">b_pyramid</emphasis>:
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2010 You might as well enable this option if you are using >2 B-frames;
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2011 as the man page says, you get a little quality improvement with no
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2012 speed cost.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2013 Note that these videos cannot be read by libavcodec-based decoders
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2014 older than about March 5, 2005.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2015 </para></listitem>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2016
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2017 <listitem><para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2018 <emphasis role="bold">weight_b</emphasis>:
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2019 In typical cases, there is not much gain with this option.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2020 However, in crossfades or fade-to-black scenes, weighted
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2021 prediction gives rather large bitrate savings.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2022 In MPEG-4 ASP, a fade-to-black is usually best coded as a series
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2023 of expensive I-frames; using weighted prediction in B-frames
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2024 makes it possible to turn at least some of these into much more
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2025 reasonably-sized B-frames.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2026 Encoding time cost seems to be minimal, if there is any.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2027 Also, contrary to what some people seem to guess, the decoder
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2028 CPU requirements are not much affected by weighted prediction,
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2029 all else being equal.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2030 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2031 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2032 Unfortunately, the current adaptive B-frame decision algorithm
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2033 has a strong tendency to avoid B-frames during fades.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2034 Until this changes, it may be a good idea to add
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2035 <option>nob_adapt</option> to your x264encopts, if you expect
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2036 fades to have a significant effect in your particular video
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2037 clip.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2038 </para></listitem>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2039
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2040 <listitem><para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2041 <emphasis role="bold">deblockalpha, deblockbeta</emphasis>:
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2042 This topic is going to be a bit controversial.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2043 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2044 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2045 H.264 defines a simple deblocking procedure on I-blocks that uses
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2046 pre-set strengths and thresholds depending on the QP of the block
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2047 in question.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2048 By default, high QP blocks are filtered heavily, and low QP blocks
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2049 are not deblocked at all.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2050 The pre-set strengths defined by the standard are well-chosen and
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2051 the odds are very good that they are PSNR-optimal for whatever
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2052 video you are trying to encode.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2053 The <option>deblockalpha</option> and <option>deblockbeta</option>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2054 parameters allow you to specify offsets to the preset deblocking
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2055 thresholds.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2056 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2057 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2058 Many people seem to think it is a good idea to lower the deblocking
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2059 filter strength by large amounts (say, -3).
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2060 This is however almost never a good idea, and in most cases,
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2061 people who are doing this do not understand very well how
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2062 deblocking works by default.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2063 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2064 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2065 The first and most important thing to know about the in-loop
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2066 deblocking filter is that the default thresholds are almost always
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2067 PSNR-optimal.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2068 In the rare cases that they are not optimal, the ideal offset is
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2069 plus or minus 1.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2070 Adjusting deblocking parameters by a larger amount is almost
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2071 guaranteed to hurt PSNR.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2072 Strengthening the filter will smear more details; weakening the
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2073 filter will increase the appearance of blockiness.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2074 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2075 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2076 It is definitely a bad idea to lower the deblocking thresholds if
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2077 your source is mainly low in spacial complexity (i.e., not a lot
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2078 of detail or noise).
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2079 The in-loop filter does a rather excellent job of concealing
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2080 the artifacts that occur.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2081 If the source is high in spacial complexity, however, artifacts
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2082 are less noticeable.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2083 This is because the ringing tends to look like detail or noise.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2084 Human visual perception easily notices when detail is removed,
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2085 but it does not so easily notice when the noise is wrongly
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2086 represented.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2087 When it comes to subjective quality, noise and detail are somewhat
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2088 interchangeable.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2089 By lowering the deblocking filter strength, you are most likely
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2090 increasing error by adding ringing artifacts, but the eye does
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2091 not notice because it confuses the artifacts with detail.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2092 </para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2093
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2094 <para>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2095 This <emphasis role="bold">still</emphasis> does not justify
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2096 lowering the deblocking filter strength, however.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2097 You can generally get better quality noise from postprocessing.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2098 If your H.264 encodes look too blurry or smeared, try playing with
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2099 <option>-vf noise</option> when you play your encoded movie.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2100 <option>-vf noise=8a:4a</option> should conceal most mild
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2101 artifacting.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2102 It will almost certainly look better than the results you
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2103 would have gotten just by fiddling with the deblocking filter.
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2104 </para></listitem>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2105 </itemizedlist>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2106 </sect2>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
2107 </sect1>
f351dd913bc6 x264's encoding and install guide
gpoirier
parents: 15271
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2112 <sect2 id="menc-feat-telecine-intro">
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2124 <formalpara>
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2127 Many documents, including the guide linked above, refer to the fields
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2128 per second value of NTSC video as 59.94 and the corresponding frames
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2129 per second values as 29.97 (for telecined and interlaced) and 23.976
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2130 (for progressive). For simplicity, some documents even round these
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2131 numbers to 60, 30, and 24.
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2132 </para></formalpara>
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2133
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2134 <para>
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2135 Strictly speaking, all those numbers are approximations. Black and
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2136 white NTSC video was exactly 60 fields per second, but 60000/1001
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2137 was later chosen to accomodate color data while remaining compatible
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2138 with contemporary black and white televisions. Digital NTSC video
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2139 (such as on a DVD) is also 60000/1001 fields per second. From this,
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2140 interlaced and telecined video are derived to be 30000/1001 frames
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2145 Older versions of the <application>MEncoder</application> documentation
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2146 and many archived mailing list posts refer to 59.94, 29.97, and 23.976.
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2147 All <application>MEncoder</application> documentation has been updated
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2148 to use the fractional values, and you should use them too.
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2149 </para>
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2150
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2151 <para>
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2152 <option>-ofps 23.976</option> is incorrect.
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2153 <option>-ofps 24000/1001</option> should be used instead.
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2154 </para>
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2155
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2156 <formalpara>
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2157 <title>How telecine is used.</title>
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2158 <para>
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2159 All video intended to be displayed on an NTSC
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2160 television set must be 60000/1001 fields per second. Made-for-TV movies
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2161 and shows are often filmed directly at 60000/1001 fields per second, but
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2162 the majority of cinema is filmed at 24 or 24000/1001 frames per
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2163 second. When cinematic movie DVDs are mastered, the video is then
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2164 converted for television using a process called telecine.
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2165 </para></formalpara>
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2166
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2167 <para>
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2168 On a DVD, the video is never actually stored as 60000/1001 fields per
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2169 second. For video that was originally 60000/1001, each pair of fields is
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2181 was originally 24000/1001 frames per second, it becomes 60000/1001 fields per
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2182 second. When it is stored on the DVD, pairs of fields are combined to form
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2190 even-numbered lines) represents a moment in time 1/(60000/1001)
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2234 &quot;30000/1001 fps NTSC content.&quot;
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2258 Sometimes progressive video on DVDs is referred to as
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2259 &quot;soft-telecine&quot; because it is intended to
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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 &quot;blink&quot;: 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
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
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
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2288 Use the <keycap>.</keycap> key to step forward one frame at a time.
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2289 </para></listitem>
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
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
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2294 may have been telecined using some non-standard method;
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2295 <application>MEncoder</application> cannot losslessly convert
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
2296 non-standard telecine to progressive. If you do not see any
14734
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
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
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2303 Sometimes telecined video on DVDs is referred to as
14958
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2304 &quot;hard-telecine&quot;. Since hard-telecine is already 60000/1001 fields
14734
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2312 Interlaced video was originally filmed at 60000/1001 fields per second,
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2313 and stored on the DVD as 30000/1001 frames per second. The interlacing effect
14734
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2314 (often called &quot;combing&quot;) is a result of combining pairs of
14958
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2315 fields into frames. Each field is supposed to be 1/(60000/1001) seconds apart,
14734
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
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
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2325 When you view an interlaced video closely by frame-stepping with the
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
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 &quot;mixed progressive and telecine&quot; video was originally
14958
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2339 (often repeatedly) switch back and forth between &quot;30000/1001 fps NTSC&quot;
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2340 and &quot;24000/1001 fps progressive NTSC&quot;. Watch the bottom of
12578
3f543ec01d1e 's should be outside of <application> tags.
diego
parents: 12484
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2345 You should check the &quot;30000/1001 fps NTSC&quot; 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 &quot;mixed progressive and interlaced&quot; content, progressive
11913
60a38618e6e4 duplicate words and spaces removed
nicolas
parents: 11905
diff changeset
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 &quot;mixed progressive and telecine&quot;,
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2379 <option>-ofps 24000/1001</option>. Otherwise, <application>MEncoder</application>
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2386
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2387 <para>
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2388 It is often the case, however, that a video that looks progressive
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2389 actually has very short parts of telecine mixed in. Unless you are
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2390 sure, it is safest to treat the video as
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2391 <link linkend="menc-feat-telecine-encode-mixedpt">mixed progressive and telecine</link>.
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2392 The performance loss is small
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2393 <link linkend="menc-feat-telecine-footnotes">[3]</link>.
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2402 <application>MPlayer</application> contains several filters to
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2403 accomplish this; the best filter, <option>pullup</option>, is described
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2404 in the <link linkend="menc-feat-telecine-encode-mixedpt">mixed
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
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 &quot;guess&quot; 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
60a38618e6e4 duplicate words and spaces removed
nicolas
parents: 11905
diff changeset
2438 and disadvantages. Consult <option>mplayer -pphelp</option> to see
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
2439 what is available (grep for &quot;deint&quot;), 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
60a38618e6e4 duplicate words and spaces removed
nicolas
parents: 11905
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2475 If you plan on downscaling dramatically, you can extract and encode
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
2478 original, the loss will not matter much. The result will be a
14958
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2494 inverse-telecined. There are three ways to accomplish this,
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2495 described below. Note that you should
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2496 <emphasis role="bold">always</emphasis> inverse-telecine before any
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
2497 rescaling; unless you really know what you are doing,
14734
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2498 inverse-telecine before cropping, too
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2499 <link linkend="menc-feat-telecine-footnotes">[1]</link>.
14958
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2500 <option>-ofps 24000/1001</option> is needed here because the output video
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2506 <option>-vf pullup</option> is designed to inverse-telecine
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2507 telecined material while leaving progressive data alone. In order to
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2508 work properly, <option>pullup</option> <emphasis role="bold">must</emphasis>
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2509 be followed by the <option>softskip</option> filter or
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2510 else <application>MEncoder</application> will crash.
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2511 <option>pullup</option> is, however, the cleanest and most
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2512 accurate method available for encoding both telecine and
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2513 &quot;mixed progressive and telecine&quot;.
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2514
14958
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
2515 <screen>mencoder dvd://1 -nosound -vf pullup,softskip -ovc lavc -ofps 24000/1001</screen>
14734
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2516 </para>
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2517
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2518
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2519 </listitem>
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2520 <listitem><para>
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
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
60a38618e6e4 duplicate words and spaces removed
nicolas
parents: 11905
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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 &amp; progressive TVs) which gives ugly flickering and
15329
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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 &quot;jump back in time&quot; 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
85546d215f6e precise framerate values everywhere
diego
parents: 14828
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
2590 show it on a TV, you should favor a progressive approach. If it is
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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 (&quot;brightness&quot;) and chroma (&quot;color&quot;)
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
60a38618e6e4 duplicate words and spaces removed
nicolas
parents: 11905
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
2659 Just because I recommend <option>mbd=2</option> here does not mean it
4c039fa37dbf Removes all English's short forms.
gpoirier
parents: 15326
diff changeset
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
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2673 <listitem><formalpara>
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2674 <title>About the performance of pullup:</title>
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2675 <para>
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2676 It is safe to use <option>pullup</option> (along with <option>softskip
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2677 </option>) on progressive video, and is usually a good idea unless
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2678 the source has been definitively verified to be entirely progressive.
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2679 The performace loss is small for most cases. On a bare-minimum encode,
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2680 <option>pullup</option> causes <application>MEncoder</application> to
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
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
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2683 decrease of using <option>pullup</option> down to 2%.
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2684 </para>
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2685 </formalpara>
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
2686 </listitem>
0b91f9428c4d Update the MEncoder telecine documentation.
diego
parents: 14422
diff changeset
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
62c5a17038ba XML version of MPlayer's doc
nicolas
parents:
diff changeset
2694 </chapter>