annotate DOCS/xml/en/encoding-guide.xml @ 21916:f31ffbd84d07

get rid of two spaces after a period (instead of one)
author gpoirier
date Mon, 15 Jan 2007 09:15:06 +0000
parents 17e8429c3a57
children b37528ebb26a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20535
c0687e92d463 convert DOCS/xml/en and help_mp-en.h to UTF-8
kraymer
parents: 20484
diff changeset
1 <?xml version="1.0" encoding="utf-8"?>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2 <!-- $Revision$ -->
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3 <chapter id="encoding-guide">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4 <title>Encoding with <application>MEncoder</application></title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
6 <sect1 id="menc-feat-dvd-mpeg4">
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
7 <title>Making a high quality MPEG-4 ("DivX")
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
8 rip of a DVD movie</title>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
9
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
10 <para>
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
11 One frequently asked question is "How do I make the highest quality rip
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
12 for a given size?". Another question is "How do I make the highest
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
13 quality DVD rip possible? I do not care about file size, I just want the best
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
14 quality."
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
15 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
16
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
17 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
18 The latter question is perhaps at least somewhat wrongly posed. After all, if
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
19 you do not care about file size, why not simply copy the entire MPEG-2 video
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
20 stream from the the DVD? Sure, your AVI will end up being 5GB, give
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
21 or take, but if you want the best quality and do not care about size,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
22 this is certainly your best option.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
23 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
24
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
25 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
26 In fact, the reason you want to transcode a DVD into MPEG-4 is
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
27 specifically because you <emphasis role="bold">do</emphasis> care about
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
28 file size.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
29 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
30
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
31 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
32 It is difficult to offer a cookbook recipe on how to create a very high
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
33 quality DVD rip. There are several factors to consider, and you should
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
34 understand these details or else you are likely to end up disappointed
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
35 with your results. Below we will investigate some of these issues, and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
36 then have a look at an example. We assume you are using
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
37 <systemitem class="library">libavcodec</systemitem> to encode the video,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
38 although the theory applies to other codecs as well.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
39 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
40
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
41 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
42 If this seems to be too much for you, you should probably use one of the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
43 many fine frontends that are listed in the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
44 <ulink url="http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends">MEncoder section</ulink>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
45 of our related projects page.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
46 That way, you should be able to achieve high quality rips without too much
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
47 thinking, because most of those tools are designed to take clever decisions
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
48 for you.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
49 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
50
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
51 <!-- ********** -->
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
52
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
53 <sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
54 <title>Preparing to encode: Identifying source material and framerate</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
55
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
56 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
57 Before you even think about encoding a movie, you need to take
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
58 several preliminary steps.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
59 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
60
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
61 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
62 The first and most important step before you encode should be
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
63 determining what type of content you are dealing with.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
64 If your source material comes from DVD or broadcast/cable/satellite
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
65 TV, it will be stored in one of two formats: NTSC for North
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
66 America and Japan, PAL for Europe, etc.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
67 It is important to realize, however, that this is just the formatting for
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
68 presentation on a television, and often does
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
69 <emphasis role="bold">not</emphasis> correspond to the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
70 original format of the movie.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
71 Experience shows that NTSC material is a lot more difficult to encode,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
72 because there more elements to identify in the source.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
73 In order to produce a suitable encode, you need to know the original
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
74 format.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
75 Failure to take this into account will result in various flaws in your
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
76 encode, including ugly combing (interlacing) artifacts and duplicated
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
77 or even lost frames.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
78 Besides being ugly, the artifacts also harm coding efficiency:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
79 You will get worse quality per unit bitrate.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
80 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
81
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
82
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
83 <sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
84 <title>Identifying source framerate</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
85
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
86 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
87 Here is a list of common types of source material, where you are
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
88 likely to find them, and their properties:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
89 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
90
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
91 <itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
92 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
93 <emphasis role="bold">Standard Film</emphasis>: Produced for
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
94 theatrical display at 24fps.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
95 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
96 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
97 <emphasis role="bold">PAL video</emphasis>: Recorded with a PAL
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
98 video camera at 50 fields per second.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
99 A field consists of just the odd- or even-numbered lines of a
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
100 frame.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
101 Television was designed to refresh these in alternation as a
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
102 cheap form of analog compression.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
103 The human eye supposedly compensates for this, but once you
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
104 understand interlacing you will learn to see it on TV too and
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
105 never enjoy TV again.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
106 Two fields do <emphasis role="bold">not</emphasis> make a
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
107 complete frame, because they are captured 1/50 of a second apart
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
108 in time, and thus they do not line up unless there is no motion.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
109 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
110 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
111 <emphasis role="bold">NTSC Video</emphasis>: Recorded with an
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
112 NTSC video camera at 60000/1001 fields per second, or 60 fields per
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
113 second in the pre-color era.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
114 Otherwise similar to PAL.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
115 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
116 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
117 <emphasis role="bold">Animation</emphasis>: Usually drawn at
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
118 24fps, but also comes in mixed-framerate varieties.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
119 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
120 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
121 <emphasis role="bold">Computer Graphics (CG)</emphasis>: Can be
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
122 any framerate, but some are more common than others; 24 and
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
123 30 frames per second are typical for NTSC, and 25fps is typical
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
124 for PAL.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
125 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
126 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
127 <emphasis role="bold">Old Film</emphasis>: Various lower
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
128 framerates.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
129 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
130 </itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
131 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
132
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
133
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
134 <sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
135 <title>Identifying source material</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
136
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
137 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
138 Movies consisting of frames are referred to as progressive,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
139 while those consisting of independent fields are called
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
140 either interlaced or video - though this latter term is
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
141 ambiguous.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
142 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
143
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
144 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
145 To further complicate matters, some movies will be a mix of
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
146 several of the above.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
147 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
148
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
149 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
150 The most important distinction to make between all of these
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
151 formats is that some are frame-based, while others are
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
152 field-based.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
153 <emphasis role="bold">Whenever</emphasis> a movie is prepared
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
154 for display on television (including DVD), it is converted to a
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
155 field-based format.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
156 The various methods by which this can be done are collectively
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
157 referred to as "telecine", of which the infamous NTSC
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
158 "3:2 pulldown" is one variety.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
159 Unless the original material was also field-based (and the same
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
160 fieldrate), you are getting the movie in a format other than the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
161 original.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
162 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
163
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
164 <itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
165 <title>There are several common types of pulldown:</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
166 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
167 <emphasis role="bold">PAL 2:2 pulldown</emphasis>: The nicest of
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
168 them all.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
169 Each frame is shown for the duration of two fields, by extracting the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
170 even and odd lines and showing them in alternation.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
171 If the original material is 24fps, this process speeds up the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
172 movie by 4%.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
173 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
174 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
175 <emphasis role="bold">PAL 2:2:2:2:2:2:2:2:2:2:2:3 pulldown</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
176 Every 12th frame is shown for the duration of three fields, instead of
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
177 just two.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
178 This avoids the 4% speedup issue, but makes the process much
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
179 more difficult to reverse.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
180 It is usually seen in musical productions where adjusting the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
181 speed by 4% would seriously damage the musical score.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
182 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
183 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
184 <emphasis role="bold">NTSC 3:2 telecine</emphasis>: Frames are
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
185 shown alternately for the duration of 3 fields or 2 fields.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
186 This gives a fieldrate 2.5 times the original framerate.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
187 The result is also slowed down very slightly from 60 fields per
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
188 second to 60000/1001 fields per second to maintain NTSC fieldrate.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
189 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
190 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
191 <emphasis role="bold">NTSC 2:2 pulldown</emphasis>: Used for
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
192 showing 30fps material on NTSC.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
193 Nice, just like 2:2 PAL pulldown.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
194 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
195 </itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
196
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
197 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
198 There are also methods for converting between NTSC and PAL video,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
199 but such topics are beyond the scope of this guide.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
200 If you encounter such a movie and want to encode it, your best
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
201 bet is to find a copy in the original format.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
202 Conversion between these two formats is highly destructive and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
203 cannot be reversed cleanly, so your encode will greatly suffer
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
204 if it is made from a converted source.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
205 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
206
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
207 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
208 When video is stored on DVD, consecutive pairs of fields are
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
209 grouped as a frame, even though they are not intended to be shown
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
210 at the same moment in time.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
211 The MPEG-2 standard used on DVD and digital TV provides a
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
212 way both to encode the original progressive frames and to store
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
213 the number of fields for which a frame should be shown in the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
214 header of that frame.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
215 If this method has been used, the movie will often be described
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
216 as "soft-telecined", since the process only directs the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
217 DVD player to apply pulldown to the movie rather than altering
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
218 the movie itself.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
219 This case is highly preferable since it can easily be reversed
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
220 (actually ignored) by the encoder, and since it preserves maximal
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
221 quality.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
222 However, many DVD and broadcast production studios do not use
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
223 proper encoding techniques but instead produce movies with
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
224 "hard telecine", where fields are actually duplicated in the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
225 encoded MPEG-2.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
226 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
227
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
228 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
229 The procedures for dealing with these cases will be covered
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
230 <link linkend="menc-feat-telecine">later in this guide</link>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
231 For now, we leave you with some guides to identifying which type
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
232 of material you are dealing with:
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
233 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
234
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
235 <itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
236 <title>NTSC regions:</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
237 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
238 If <application>MPlayer</application> prints that the framerate
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
239 has changed to 24000/1001 when watching your movie, and never changes
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
240 back, it is almost certainly progressive content that has been
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
241 "soft telecined".
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
242 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
243 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
244 If <application>MPlayer</application> shows the framerate
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
245 switching back and forth between 24000/1001 and 30000/1001, and you see
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
246 "combing" at times, then there are several possibilities.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
247 The 24000/1001 fps segments are almost certainly progressive
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
248 content, "soft telecined", but the 30000/1001 fps parts could be
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
249 either hard-telecined 24000/1001 fps content or 60000/1001 fields per second
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
250 NTSC video.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
251 Use the same guidelines as the following two cases to determine which.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
252 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
253 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
254 If <application>MPlayer</application> never shows the framerate
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
255 changing, and every single frame with motion appears combed, your
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
256 movie is NTSC video at 60000/1001 fields per second.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
257 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
258 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
259 If <application>MPlayer</application> never shows the framerate
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
260 changing, and two frames out of every five appear combed, your
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
261 movie is "hard telecined" 24000/1001fps content.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
262 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
263 </itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
264
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
265 <itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
266 <title>PAL regions:</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
267 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
268 If you never see any combing, your movie is 2:2 pulldown.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
269 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
270 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
271 If you see combing alternating in and out every half second,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
272 then your movie is 2:2:2:2:2:2:2:2:2:2:2:3 pulldown.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
273 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
274 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
275 If you always see combing during motion, then your movie is PAL
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
276 video at 50 fields per second.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
277 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
278 </itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
279
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
280 <note><title>Hint:</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
281 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
282 <application>MPlayer</application> can slow down movie playback
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
283 with the -speed option or play it frame-by-frame.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
284 Try using <option>-speed</option> 0.2 to watch the movie very
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
285 slowly or press the "<keycap>.</keycap>" key repeatedly to play one frame at
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
286 a time and identify the pattern, if you cannot see it at full speed.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
287 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
288 </note>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
289 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
290 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
291
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
292 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
293
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
294 <sect2 id="menc-feat-dvd-mpeg4-2pass">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
295 <title>Constant quantizer vs. multipass</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
296
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
297 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
298 It is possible to encode your movie at a wide range of qualities.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
299 With modern video encoders and a bit of pre-codec compression
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
300 (downscaling and denoising), it is possible to achieve very good
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
301 quality at 700 MB, for a 90-110 minute widescreen movie.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
302 Furthermore, all but the longest movies can be encoded with near-perfect
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
303 quality at 1400 MB.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
304 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
305
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
306 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
307 There are three approaches to encoding the video: constant bitrate
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
308 (CBR), constant quantizer, and multipass (ABR, or average bitrate).
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
309 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
310
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
311 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
312 The complexity of the frames of a movie, and thus the number of bits
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
313 required to compress them, can vary greatly from one scene to another.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
314 Modern video encoders can adjust to these needs as they go and vary
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
315 the bitrate.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
316 In simple modes such as CBR, however, the encoders do not know the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
317 bitrate needs of future scenes and so cannot exceed the requested
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
318 average bitrate for long stretches of time.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
319 More advanced modes, such as multipass encode, can take into account
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
320 the statistics from previous passes; this fixes the problem mentioned
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
321 above.
16202
24c28ac0aa68 Why multipass is better in a nutshell. Taken from Rich's encoding guide.
gpoirier
parents: 16178
diff changeset
322 </para>
24c28ac0aa68 Why multipass is better in a nutshell. Taken from Rich's encoding guide.
gpoirier
parents: 16178
diff changeset
323
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
324 <note><title>Note:</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
325 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
326 Most codecs which support ABR encode only support two pass encode
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
327 while some others such as <systemitem class="library">x264</systemitem>,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
328 <systemitem class="library">Xvid</systemitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
329 and <systemitem class="library">libavcodec</systemitem> support
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
330 multipass, which slightly improves quality at each pass,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
331 yet this improvement is no longer measurable nor noticeable after the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
332 4th or so pass.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
333 Therefore, in this section, two pass and multipass will be used
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
334 interchangeably.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
335 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
336 </note>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
337
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
338 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
339 In each of these modes, the video codec (such as
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
340 <systemitem class="library">libavcodec</systemitem>)
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
341 breaks the video frame into 16x16 pixel macroblocks and then applies a
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
342 quantizer to each macroblock. The lower the quantizer, the better the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
343 quality and higher the bitrate.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
344 The method the movie encoder uses to determine
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
345 which quantizer to use for a given macroblock varies and is highly
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
346 tunable. (This is an extreme over-simplification of the actual
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
347 process, but the basic concept is useful to understand.)
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
348 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
349
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
350 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
351 When you specify a constant bitrate, the video codec will encode the video,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
352 discarding
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
353 detail as much as necessary and as little as possible in order to remain
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
354 lower than the given bitrate. If you truly do not care about file size,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
355 you could as well use CBR and specify a bitrate of infinity. (In
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
356 practice, this means a value high enough so that it poses no limit, like
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
357 10000Kbit.) With no real restriction on bitrate, the result is that
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
358 the codec will use the lowest
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
359 possible quantizer for each macroblock (as specified by
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
360 <option>vqmin</option> for
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
361 <systemitem class="library">libavcodec</systemitem>, which is 2 by default).
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
362 As soon as you specify a
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
363 low enough bitrate that the codec
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
364 is forced to use a higher quantizer, then you are almost certainly ruining
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
365 the quality of your video.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
366 In order to avoid that, you should probably downscale your video, according
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
367 to the method described later on in this guide.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
368 In general, you should avoid CBR altogether if you care about quality.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
369 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
370
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
371 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
372 With constant quantizer, the codec uses the same quantizer, as
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
373 specified by the <option>vqscale</option> option (for
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
374 <systemitem class="library">libavcodec</systemitem>), on every macroblock.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
375 If you want the highest quality rip possible, again ignoring bitrate,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
376 you can use <option>vqscale=2</option>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
377 This will yield the same bitrate and PSNR (peak signal-to-noise ratio)
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
378 as CBR with
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
379 <option>vbitrate</option>=infinity and the default <option>vqmin</option>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
380 of 2.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
381 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
382
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
383 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
384 The problem with constant quantizing is that it uses the given quantizer
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
385 whether the macroblock needs it or not. That is, it might be possible
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
386 to use a higher quantizer on a macroblock without sacrificing visual
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
387 quality. Why waste the bits on an unnecessarily low quantizer? Your
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
388 CPU has as many cycles as there is time, but there is only so many bits
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
389 on your hard disk.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
390 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
391
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
392 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
393 With a two pass encode, the first pass will rip the movie as though it
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
394 were CBR, but it will keep a log of properties for each frame. This
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
395 data is then used during the second pass in order to make intelligent
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
396 decisions about which quantizers to use. During fast action or high
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
397 detail scenes, higher quantizers will likely be used, and during
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
398 slow moving or low detail scenes, lower quantizers will be used.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
399 Normally, the amount of motion is much more important than the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
400 amount of detail.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
401 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
402
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
403 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
404 If you use <option>vqscale=2</option>, then you are wasting bits. If you
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
405 use <option>vqscale=3</option>, then you are not getting the highest
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
406 quality rip. Suppose you rip a DVD at <option>vqscale=3</option>, and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
407 the result is 1800Kbit. If you do a two pass encode with
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
408 <option>vbitrate=1800</option>, the resulting video will have
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
409 <emphasis role="bold">higher quality</emphasis> for the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
410 <emphasis role="bold">same bitrate</emphasis>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
411 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
412
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
413 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
414 Since you are now convinced that two pass is the way to go, the real
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
415 question now is what bitrate to use? The answer is that there is no
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
416 single answer. Ideally you want to choose a bitrate that yields the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
417 best balance between quality and file size. This is going to vary
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
418 depending on the source video.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
419 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
420
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
421 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
422 If size does not matter, a good starting point for a very high quality
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
423 rip is about 2000Kbit plus or minus 200Kbit.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
424 For fast action or high detail source video, or if you just have a very
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
425 critical eye, you might decide on 2400 or 2600.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
426 For some DVDs, you might not notice a difference at 1400Kbit. It is a
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
427 good idea to experiment with scenes at different bitrates to get a feel.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
428 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
429
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
430 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
431 If you aim at a certain size, you will have to somehow calculate the bitrate.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
432 But before that, you need to know how much space you should reserve for the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
433 audio track(s), so you should
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
434 <link linkend="menc-feat-dvd-mpeg4-audio">rip those</link> first.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
435 You can compute the bitrate with the following equation:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
436 <systemitem>bitrate = (target_size_in_Mbytes - sound_size_in_Mbytes) *
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
437 1024 * 1024 / length_in_secs * 8 / 1000</systemitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
438 For instance, to squeeze a two-hour movie onto a 702MB CD, with 60MB
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
439 of audio track, the video bitrate will have to be:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
440 <systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
441 = 740kbps</systemitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
442 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
443 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
444
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
445 <!-- ********** -->
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
446
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
447 <sect2 id="menc-feat-dvd-mpeg4-constraints">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
448 <title>Constraints for efficient encoding</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
449
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
450 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
451 Due to the nature of MPEG-type compression, there are various
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
452 constraints you should follow for maximal quality.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
453 MPEG splits the video up into 16x16 squares called macroblocks,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
454 each composed of 4 8x8 blocks of luma (intensity) information and two
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
455 half-resolution 8x8 chroma (color) blocks (one for red-cyan axis and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
456 the other for the blue-yellow axis).
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
457 Even if your movie width and height are not multiples of 16, the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
458 encoder will use enough 16x16 macroblocks to cover the whole picture
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
459 area, and the extra space will go to waste.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
460 So in the interests of maximizing quality at a fixed filesize, it is
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
461 a bad idea to use dimensions that are not multiples of 16.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
462 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
463
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
464 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
465 Most DVDs also have some degree of black borders at the edges. Leaving
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
466 these in place will hurt quality <emphasis role="bold">a lot</emphasis>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
467 in several ways.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
468 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
469
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
470 <orderedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
471 <listitem>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
472 <para>
21775
acee29a43313 avoid a possible confusion, as suggested by Wanderer
gpoirier
parents: 21596
diff changeset
473 MPEG-type compression is highly dependent on frequency domain
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
474 transformations, in particular the Discrete Cosine Transform (DCT),
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
475 which is similar to the Fourier transform. This sort of encoding is
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
476 efficient for representing patterns and smooth transitions, but it
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
477 has a hard time with sharp edges. In order to encode them it must
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
478 use many more bits, or else an artifact known as ringing will
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
479 appear.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
480 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
481
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
482 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
483 The frequency transform (DCT) takes place separately on each
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
484 macroblock (actually each block), so this problem only applies when
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
485 the sharp edge is inside a block. If your black borders begin
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
486 exactly at multiple-of-16 pixel boundaries, this is not a problem.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
487 However, the black borders on DVDs rarely come nicely aligned, so
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
488 in practice you will always need to crop to avoid this penalty.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
489 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
490 </listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
491 </orderedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
492
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
493 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
494 In addition to frequency domain transforms, MPEG-type compression uses
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
495 motion vectors to represent the change from one frame to the next.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
496 Motion vectors naturally work much less efficiently for new content
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
497 coming in from the edges of the picture, because it is not present in
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
498 the previous frame. As long as the picture extends all the way to the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
499 edge of the encoded region, motion vectors have no problem with
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
500 content moving out the edges of the picture. However, in the presence
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
501 of black borders, there can be trouble:
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
502 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
503
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
504 <orderedlist continuation="continues">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
505 <listitem>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
506 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
507 For each macroblock, MPEG-type compression stores a vector
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
508 identifying which part of the previous frame should be copied into
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
509 this macroblock as a base for predicting the next frame. Only the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
510 remaining differences need to be encoded. If a macroblock spans the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
511 edge of the picture and contains part of the black border, then
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
512 motion vectors from other parts of the picture will overwrite the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
513 black border. This means that lots of bits must be spent either
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
514 re-blackening the border that was overwritten, or (more likely) a
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
515 motion vector will not be used at all and all the changes in this
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
516 macroblock will have to be coded explicitly. Either way, encoding
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
517 efficiency is greatly reduced.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
518 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
519
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
520 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
521 Again, this problem only applies if black borders do not line up on
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
522 multiple-of-16 boundaries.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
523 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
524 </listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
525
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
526 <listitem>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
527 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
528 Finally, suppose we have a macroblock in the interior of the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
529 picture, and an object is moving into this block from near the edge
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
530 of the image. MPEG-type coding cannot say "copy the part that is
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
531 inside the picture but not the black border." So the black border
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
532 will get copied inside too, and lots of bits will have to be spent
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
533 encoding the part of the picture that is supposed to be there.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
534 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
535
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
536 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
537 If the picture runs all the way to the edge of the encoded area,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
538 MPEG has special optimizations to repeatedly copy the pixels at the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
539 edge of the picture when a motion vector comes from outside the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
540 encoded area. This feature becomes useless when the movie has black
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
541 borders. Unlike problems 1 and 2, aligning the borders at multiples
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
542 of 16 does not help here.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
543 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
544 </listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
545
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
546 <listitem><para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
547 Despite the borders being entirely black and never changing, there
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
548 is at least a minimal amount of overhead involved in having more
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
549 macroblocks.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
550 </para></listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
551 </orderedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
552
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
553 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
554 For all of these reasons, it is recommended to fully crop black
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
555 borders. Further, if there is an area of noise/distortion at the edge
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
556 of the picture, cropping this will improve encoding efficiency as
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
557 well. Videophile purists who want to preserve the original as close as
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
558 possible may object to this cropping, but unless you plan to encode at
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
559 constant quantizer, the quality you gain from cropping will
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
560 considerably exceed the amount of information lost at the edges.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
561 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
562 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
563
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
564 <!-- ********** -->
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
565
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
566 <sect2 id="menc-feat-dvd-mpeg4-crop">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
567 <title>Cropping and Scaling</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
568
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
569 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
570 Recall from the previous section that the final picture size you
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
571 encode should be a multiple of 16 (in both width and height).
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
572 This can be achieved by cropping, scaling, or a combination of both.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
573 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
574
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
575 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
576 When cropping, there are a few guidelines that must be followed to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
577 avoid damaging your movie.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
578 The normal YUV format, 4:2:0, stores chroma (color) information
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
579 subsampled, i.e. chroma is only sampled half as often in each
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
580 direction as luma (intensity) information.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
581 Observe this diagram, where L indicates luma sampling points and C
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
582 chroma.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
583 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
584
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
585 <informaltable>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
586 <?dbhtml table-width="40%" ?>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
587 <?dbfo table-width="40%" ?>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
588 <tgroup cols="8" align="center">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
589 <colspec colnum="1" colname="col1"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
590 <colspec colnum="2" colname="col2"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
591 <colspec colnum="3" colname="col3"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
592 <colspec colnum="4" colname="col4"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
593 <colspec colnum="5" colname="col5"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
594 <colspec colnum="6" colname="col6"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
595 <colspec colnum="7" colname="col7"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
596 <colspec colnum="8" colname="col8"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
597 <spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
598 <spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
599 <spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
600 <spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
601 <tbody>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
602 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
603 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
604 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
605 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
606 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
607 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
608 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
609 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
610 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
611 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
612 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
613 <entry spanname="spa1-2">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
614 <entry spanname="spa3-4">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
615 <entry spanname="spa5-6">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
616 <entry spanname="spa7-8">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
617 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
618 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
619 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
620 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
621 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
622 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
623 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
624 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
625 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
626 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
627 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
628 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
629 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
630 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
631 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
632 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
633 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
634 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
635 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
636 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
637 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
638 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
639 <entry spanname="spa1-2">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
640 <entry spanname="spa3-4">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
641 <entry spanname="spa5-6">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
642 <entry spanname="spa7-8">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
643 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
644 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
645 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
646 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
647 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
648 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
649 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
650 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
651 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
652 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
653 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
654 </tbody>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
655 </tgroup>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
656 </informaltable>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
657
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
658 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
659 As you can see, rows and columns of the image naturally come in pairs.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
660 Thus your crop offsets and dimensions <emphasis>must</emphasis> be
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
661 even numbers.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
662 If they are not, the chroma will no longer line up correctly with the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
663 luma.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
664 In theory, it is possible to crop with odd offsets, but it requires
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
665 resampling the chroma which is potentially a lossy operation and not
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
666 supported by the crop filter.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
667 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
668
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
669 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
670 Further, interlaced video is sampled as follows:
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
671 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
672
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
673 <informaltable>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
674 <?dbhtml table-width="80%" ?>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
675 <?dbfo table-width="80%" ?>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
676 <tgroup cols="16" align="center">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
677 <colspec colnum="1" colname="col1"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
678 <colspec colnum="2" colname="col2"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
679 <colspec colnum="3" colname="col3"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
680 <colspec colnum="4" colname="col4"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
681 <colspec colnum="5" colname="col5"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
682 <colspec colnum="6" colname="col6"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
683 <colspec colnum="7" colname="col7"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
684 <colspec colnum="8" colname="col8"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
685 <colspec colnum="9" colname="col9"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
686 <colspec colnum="10" colname="col10"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
687 <colspec colnum="11" colname="col11"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
688 <colspec colnum="12" colname="col12"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
689 <colspec colnum="13" colname="col13"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
690 <colspec colnum="14" colname="col14"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
691 <colspec colnum="15" colname="col15"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
692 <colspec colnum="16" colname="col16"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
693 <spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
694 <spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
695 <spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
696 <spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
697 <spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
698 <spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
699 <spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
700 <spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
701 <tbody>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
702 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
703 <entry namest="col1" nameend="col8">Top field</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
704 <entry namest="col9" nameend="col16">Bottom field</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
705 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
706 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
707 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
708 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
709 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
710 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
711 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
712 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
713 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
714 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
715 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
716 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
717 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
718 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
719 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
720 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
721 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
722 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
723 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
724 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
725 <entry spanname="spa1-2">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
726 <entry spanname="spa3-4">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
727 <entry spanname="spa5-6">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
728 <entry spanname="spa7-8">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
729 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
730 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
731 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
732 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
733 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
734 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
735 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
736 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
737 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
738 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
739 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
740 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
741 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
742 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
743 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
744 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
745 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
746 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
747 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
748 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
749 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
750 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
751 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
752 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
753 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
754 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
755 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
756 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
757 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
758 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
759 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
760 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
761 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
762 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
763 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
764 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
765 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
766 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
767 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
768 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
769 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
770 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
771 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
772 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
773 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
774 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
775 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
776 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
777 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
778 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
779 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
780 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
781 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
782 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
783 <entry spanname="spa9-10">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
784 <entry spanname="spa11-12">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
785 <entry spanname="spa13-14">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
786 <entry spanname="spa15-16">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
787 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
788 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
789 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
790 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
791 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
792 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
793 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
794 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
795 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
796 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
797 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
798 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
799 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
800 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
801 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
802 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
803 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
804 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
805 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
806 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
807 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
808 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
809 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
810 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
811 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
812 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
813 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
814 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
815 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
816 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
817 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
818 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
819 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
820 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
821 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
822 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
823 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
824 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
825 <entry spanname="spa1-2">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
826 <entry spanname="spa3-4">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
827 <entry spanname="spa5-6">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
828 <entry spanname="spa7-8">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
829 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
830 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
831 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
832 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
833 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
834 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
835 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
836 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
837 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
838 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
839 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
840 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
841 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
842 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
843 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
844 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
845 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
846 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
847 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
848 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
849 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
850 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
851 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
852 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
853 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
854 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
855 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
856 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
857 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
858 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
859 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
860 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
861 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
862 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
863 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
864 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
865 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
866 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
867 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
868 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
869 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
870 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
871 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
872 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
873 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
874 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
875 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
876 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
877 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
878 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
879 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
880 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
881 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
882 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
883 <entry spanname="spa9-10">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
884 <entry spanname="spa11-12">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
885 <entry spanname="spa13-14">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
886 <entry spanname="spa15-16">C</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
887 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
888 <row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
889 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
890 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
891 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
892 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
893 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
894 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
895 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
896 <entry></entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
897 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
898 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
899 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
900 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
901 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
902 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
903 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
904 <entry>L</entry>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
905 </row>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
906 </tbody>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
907 </tgroup>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
908 </informaltable>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
909
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
910 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
911 As you can see, the pattern does not repeat until after 4 lines.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
912 So for interlaced video, your y-offset and height for cropping must
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
913 be multiples of 4.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
914 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
915
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
916 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
917 Native DVD resolution is 720x480 for NTSC, and 720x576 for PAL, but
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
918 there is an aspect flag that specifies whether it is full-screen (4:3) or
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
919 wide-screen (16:9). Many (if not most) widescreen DVDs are not strictly
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
920 16:9, and will be either 1.85:1 or 2.35:1 (cinescope). This means that
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
921 there will be black bands in the video that will need to be cropped out.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
922 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
923
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
924 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
925 <application>MPlayer</application> provides a crop detection filter that
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
926 will determine the crop rectangle (<option>-vf cropdetect</option>).
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
927 Run <application>MPlayer</application> with
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
928 <option>-vf cropdetect</option> and it will print out the crop
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
929 settings to remove the borders.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
930 You should let the movie run long enough that the whole picture
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
931 area is used, in order to get accurate crop values.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
932 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
933
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
934 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
935 Then, test the values you get with <application>MPlayer</application>,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
936 using the command line which was printed by
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
937 <option>cropdetect</option>, and adjust the rectangle as needed.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
938 The <option>rectangle</option> filter can help by allowing you to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
939 interactively position the crop rectangle over your movie.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
940 Remember to follow the above divisibility guidelines so that you
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
941 do not misalign the chroma planes.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
942 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
943
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
944 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
945 In certain cases, scaling may be undesirable.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
946 Scaling in the vertical direction is difficult with interlaced
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
947 video, and if you wish to preserve the interlacing, you should
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
948 usually refrain from scaling.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
949 If you will not be scaling but you still want to use multiple-of-16
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
950 dimensions, you will have to overcrop.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
951 Do not undercrop, since black borders are very bad for encoding!
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
952 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
953
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
954 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
955 Because MPEG-4 uses 16x16 macroblocks, you will want to make sure that each
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
956 dimension of the video you are encoding is a multiple of 16 or else you
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
957 will be degrading quality, especially at lower bitrates. You can do this
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
958 by rounding the width and height of the crop rectangle down to the nearest
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
959 multiple of 16.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
960 As stated earlier, when cropping, you will want to increase the Y offset by
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
961 half the difference of the old and the new height so that the resulting
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
962 video is taken from the center of the frame. And because of the way DVD
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
963 video is sampled, make sure the offset is an even number. (In fact, as a
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
964 rule, never use odd values for any parameter when you are cropping and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
965 scaling video.) If you are not comfortable throwing a few extra pixels
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
966 away, you might prefer instead to scale the video instead. We will look
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
967 at this in our example below.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
968 You can actually let the <option>cropdetect</option> filter do all of the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
969 above for you, as it has an optional <option>round</option> parameter that
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
970 is equal to 16 by default.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
971 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
972
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
973 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
974 Also, be careful about "half black" pixels at the edges. Make sure you
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
975 crop these out too, or else you will be wasting bits there that
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
976 are better spent elsewhere.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
977 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
978
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
979 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
980 After all is said and done, you will probably end up with video whose pixels
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
981 are not quite 1.85:1 or 2.35:1, but rather something close to that. You
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
982 could calculate the new aspect ratio manually, but
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
983 <application>MEncoder</application> offers an option for <systemitem
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
984 class="library">libavcodec</systemitem> called <option>autoaspect</option>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
985 that will do this for you. Absolutely do not scale this video up in order to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
986 square the pixels unless you like to waste your hard disk space. Scaling
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
987 should be done on playback, and the player will use the aspect stored in
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
988 the AVI to determine the correct resolution.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
989 Unfortunately, not all players enforce this auto-scaling information,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
990 therefore you may still want to rescale.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
991 </para>
16085
c1dd920e736c New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents: 16080
diff changeset
992 </sect2>
c1dd920e736c New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents: 16080
diff changeset
993
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
994 <!-- ********** -->
16085
c1dd920e736c New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents: 16080
diff changeset
995
c1dd920e736c New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents: 16080
diff changeset
996 <sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate">
c1dd920e736c New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents: 16080
diff changeset
997 <title>Choosing resolution and bitrate</title>
c1dd920e736c New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents: 16080
diff changeset
998
c1dd920e736c New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents: 16080
diff changeset
999 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1000 If you will not be encoding in constant quantizer mode, you need to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1001 select a bitrate.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1002 The concept of bitrate is quite simple.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1003 It is the (average) number of bits that will be consumed to store your
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1004 movie, per second.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1005 Normally bitrate is measured in kilobits (1000 bits) per second.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1006 The size of your movie on disk is the bitrate times the length of the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1007 movie in time, plus a small amount of "overhead" (see the section on
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1008 <link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">the AVI container</link>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1009 for instance).
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1010 Other parameters such as scaling, cropping, etc. will
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1011 <emphasis role="bold">not</emphasis> alter the file size unless you
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1012 change the bitrate as well!.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1013 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1014
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1015 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1016 Bitrate does <emphasis role="bold">not</emphasis> scale proportionally
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1017 to resolution.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1018 That is to say, a 320x240 file at 200 kbit/sec will not be the same
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1019 quality as the same movie at 640x480 and 800 kbit/sec!
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1020 There are two reasons for this:
16085
c1dd920e736c New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents: 16080
diff changeset
1021 <orderedlist>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1022 <listitem><para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1023 <emphasis role="bold">Perceptual</emphasis>: You notice MPEG
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1024 artifacts more if they are scaled up bigger!
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1025 Artifacts appear on the scale of blocks (8x8).
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1026 Your eye will not see errors in 4800 small blocks as easily as it
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1027 sees errors in 1200 large blocks (assuming you will be scaling both
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1028 to fullscreen).
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1029 </para></listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1030 <listitem><para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1031 <emphasis role="bold">Theoretical</emphasis>: When you scale down
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1032 an image but still use the same size (8x8) blocks for the frequency
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1033 space transform, you move more data to the high frequency bands.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1034 Roughly speaking, each pixel contains more of the detail than it
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1035 did before.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1036 So even though your scaled-down picture contains 1/4 the information
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1037 in the spacial directions, it could still contain a large portion
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1038 of the information in the frequency domain (assuming that the high
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1039 frequencies were underutilized in the original 640x480 image).
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1040 </para></listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1041 </orderedlist>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1042 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1043
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1044 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1045 Past guides have recommended choosing a bitrate and resolution based
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1046 on a "bits per pixel" approach, but this is usually not valid due to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1047 the above reasons.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1048 A better estimate seems to be that bitrates scale proportional to the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1049 square root of resolution, so that 320x240 and 400 kbit/sec would be
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1050 comparable to 640x480 at 800 kbit/sec.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1051 However this has not been verified with theoretical or empirical
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1052 rigor.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1053 Further, given that movies vary greatly with regard to noise, detail,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1054 degree of motion, etc., it is futile to make general recommendations
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1055 for bits per length-of-diagonal (the analog of bits per pixel,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1056 using the square root).
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1057 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1058 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1059 So far we have discussed the difficulty of choosing a bitrate and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1060 resolution.
16085
c1dd920e736c New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents: 16080
diff changeset
1061 </para>
c1dd920e736c New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents: 16080
diff changeset
1062
c1dd920e736c New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents: 16080
diff changeset
1063
c1dd920e736c New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents: 16080
diff changeset
1064 <sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute">
c1dd920e736c New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents: 16080
diff changeset
1065 <title>Computing the resolution</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1066
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1067 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1068 The following steps will guide you in computing the resolution of your
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1069 encode without distorting the video too much, by taking into account several
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1070 types of information about the source video.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1071 First, you should compute the encoded aspect ratio:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1072 <systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1073
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1074 <itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1075 <title>where:</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1076 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1077 Wc and Hc are the width and height of the cropped video,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1078 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1079 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1080 ARa is the displayed aspect ratio, which usually is 4/3 or 16/9,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1081 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1082 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1083 PRdvd is the pixel ratio of the DVD which is equal to 1.25=(720/576) for PAL
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1084 DVDs and 1.5=(720/480) for NTSC DVDs,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1085 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1086 </itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1087 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1088
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1089 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1090 Then, you can compute the X and Y resolution, according to a certain
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1091 Compression Quality (CQ) factor:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1092 <systemitem>ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16</systemitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1093 and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1094 <systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1095 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1096
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1097 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1098 Okay, but what is the CQ?
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1099 The CQ represents the number of bits per pixel and per frame of the encode.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1100 Roughly speaking, the greater the CQ, the less the likelihood to see
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1101 encoding artifacts.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1102 However, if you have a target size for your movie (1 or 2 CDs for instance),
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1103 there is a limited total number of bits that you can spend; therefore it is
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1104 necessary to find a good tradeoff between compressibility and quality.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1105 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1106
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1107 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1108 The CQ depends on the bitrate, the video codec efficiency and the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1109 movie resolution.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1110 In order to raise the CQ, typically you would downscale the movie given that the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1111 bitrate is computed in function of the target size and the length of the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1112 movie, which are constant.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1113 With MPEG-4 ASP codecs such as <systemitem class="library">Xvid</systemitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1114 and <systemitem class="library">libavcodec</systemitem>, a CQ below 0.18
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1115 usually results in a pretty blocky picture, because there
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1116 are not enough bits to code the information of each macroblock. (MPEG4, like
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1117 many other codecs, groups pixels by blocks of several pixels to compress the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1118 image; if there are not enough bits, the edges of those blocks are
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1119 visible.)
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1120 It is therefore wise to take a CQ ranging from 0.20 to 0.22 for a 1 CD rip,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1121 and 0.26-0.28 for 2 CDs rip with standard encoding options.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1122 More advanced encoding options such as those listed here for
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1123 <link linkend="menc-feat-mpeg4-lavc-example-settings"><systemitem class="library">libavcodec</systemitem></link>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1124 and
20860
f95698d9d53c rename: XviD -> Xvid
kraymer
parents: 20667
diff changeset
1125 <link linkend="menc-feat-xvid-example-settings"><systemitem class="library">Xvid</systemitem></link>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1126 should make it possible to get the same quality with CQ ranging from
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1127 0.18 to 0.20 for a 1 CD rip, and 0.24 to 0.26 for a 2 CD rip.
21784
e7403deab378 I've found a mistake in encoding-guide:
rtogni
parents: 21775
diff changeset
1128 With MPEG-4 AVC codecs such as <systemitem class="library">x264</systemitem>,
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1129 you can use a CQ ranging from 0.14 to 0.16 with standard encoding options,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1130 and should be able to go as low as 0.10 to 0.12 with
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1131 <link linkend="menc-feat-x264-example-settings"><systemitem class="library">x264</systemitem>'s advanced encoding settings</link>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1132 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1133
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1134 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1135 Please take note that the CQ is just an indicative figure, as depending on
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1136 the encoded content, a CQ of 0.18 may look just fine for a Bergman, contrary
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1137 to a movie such as The Matrix, which contains many high-motion scenes.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1138 On the other hand, it is worthless to raise CQ higher than 0.30 as you would
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1139 be wasting bits without any noticeable quality gain.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1140 Also note that as mentioned earlier in this guide, low resolution videos
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1141 need a bigger CQ (compared to, for instance, DVD resolution) to look good.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1142 </para>
16085
c1dd920e736c New item: "Choosing resolution and bitrate", from Rich's encoding guide
gpoirier
parents: 16080
diff changeset
1143 </sect3>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1144 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1145
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1146 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1147
16086
6c16b60516f3 Moves the "audio" section just before the "muxing" section. + fixes suggested by Jeff
gpoirier
parents: 16085
diff changeset
1148 <sect2 id="menc-feat-dvd-mpeg4-filtering">
6c16b60516f3 Moves the "audio" section just before the "muxing" section. + fixes suggested by Jeff
gpoirier
parents: 16085
diff changeset
1149 <title>Filtering</title>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1150
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1151 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1152 Learning how to use <application>MEncoder</application>'s video filters
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1153 is essential to producing good encodes.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1154 All video processing is performed through the filters -- cropping,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1155 scaling, color adjustment, noise removal, sharpening, deinterlacing,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1156 telecine, inverse telecine, and deblocking, just to name a few.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1157 Along with the vast number of supported input formats, the variety of
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1158 filters available in <application>MEncoder</application> is one of its
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1159 main advantages over other similar programs.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1160 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1161
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1162 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1163 Filters are loaded in a chain using the -vf option:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1164
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1165 <screen>-vf filter1=options,filter2=options,...</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1166
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1167 Most filters take several numeric options separated by colons, but
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1168 the syntax for options varies from filter to filter, so read the man
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1169 page for details on the filters you wish to use.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1170 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1171
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1172 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1173 Filters operate on the video in the order they are loaded.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1174 For example, the following chain:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1175
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1176 <screen>-vf crop=688:464:12:4,scale=640:464</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1177
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1178 will first crop the 688x464 region of the picture with upper-left
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1179 corner at (12,4), and then scale the result down to 640x464.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1180 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1181
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1182 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1183 Certain filters need to be loaded at or near the beginning of the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1184 filter chain, in order to take advantage of information from the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1185 video decoder that will be lost or invalidated by other filters.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1186 The principal examples are <option>pp</option> (postprocessing, only
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1187 when it is performing deblock or dering operations),
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1188 <option>spp</option> (another postprocessor to remove MPEG artifacts),
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1189 <option>pullup</option> (inverse telecine), and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1190 <option>softpulldown</option> (for converting soft telecine to hard telecine).
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1191 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1192
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1193 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1194 In general, you want to do as little filtering as possible to the movie
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1195 in order to remain close to the original DVD source. Cropping is often
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1196 necessary (as described above), but avoid to scale the video. Although
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1197 scaling down is sometimes preferred to using higher quantizers, we want
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1198 to avoid both these things: remember that we decided from the start to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1199 trade bits for quality.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1200 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1201
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1202 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1203 Also, do not adjust gamma, contrast, brightness, etc. What looks good
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1204 on your display may not look good on others. These adjustments should
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1205 be done on playback only.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1206 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1207
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1208 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1209 One thing you might want to do, however, is pass the video through a
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1210 very light denoise filter, such as <option>-vf hqdn3d=2:1:2</option>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1211 Again, it is a matter of putting those bits to better use: why waste them
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1212 encoding noise when you can just add that noise back in during playback?
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1213 Increasing the parameters for <option>hqdn3d</option> will further
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1214 improve compressibility, but if you increase the values too much, you
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1215 risk degrading the image visibily. The suggested values above
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1216 (<option>2:1:2</option>) are quite conservative; you should feel free to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1217 experiment with higher values and observe the results for yourself.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1218 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1219 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1220
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1221 <!-- ********** -->
16086
6c16b60516f3 Moves the "audio" section just before the "muxing" section. + fixes suggested by Jeff
gpoirier
parents: 16085
diff changeset
1222
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1223 <sect2 id="menc-feat-dvd-mpeg4-interlacing">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1224 <title>Interlacing and Telecine</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1225
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1226 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1227 Almost all movies are shot at 24 fps. Because NTSC is 30000/1001 fps, some
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1228 processing must be done to this 24 fps video to make it run at the correct
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1229 NTSC framerate. The process is called 3:2 pulldown, commonly referred to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1230 as telecine (because pulldown is often applied during the telecine
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1231 process), and, naively described, it works by slowing the film down to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1232 24000/1001 fps, and repeating every fourth frame.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1233 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1234
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1235 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1236 No special processing, however, is done to the video for PAL DVDs, which
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1237 run at 25 fps. (Technically, PAL can be telecined, called 2:2 pulldown,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1238 but this does not become an issue in practice.) The 24 fps film is simply
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1239 played back at 25 fps. The result is that the movie runs slightly faster,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1240 but unless you are an alien, you probably will not notice the difference.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1241 Most PAL DVDs have pitch-corrected audio, so when they are played back at
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1242 25 fps things will sound right, even though the audio track (and hence the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1243 whole movie) has a running time that is 4% less than NTSC DVDs.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1244 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1245
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1246 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1247 Because the video in a PAL DVD has not been altered, you need not worry
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1248 much about framerate. The source is 25 fps, and your rip will be 25
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1249 fps. However, if you are ripping an NTSC DVD movie, you may need to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1250 apply inverse telecine.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1251 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1252
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1253 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1254 For movies shot at 24 fps, the video on the NTSC DVD is either telecined
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1255 30000/1001, or else it is progressive 24000/1001 fps and intended to be
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1256 telecined on-the-fly by a DVD player. On the other hand, TV series are usually
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1257 only interlaced, not telecined. This is not a hard rule: some TV series
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1258 are interlaced (such as Buffy the Vampire Slayer) whereas some are a
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1259 mixture of progressive and interlaced (such as Angel, or 24).
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1260 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1261
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1262 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1263 It is highly recommended that you read the section on
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1264 <link linkend="menc-feat-telecine">How to deal with telecine and interlacing in NTSC DVDs</link>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1265 to learn how to handle the different possibilities.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1266 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1267
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1268 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1269 However, if you are mostly just ripping movies, likely you are either
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1270 dealing with 24 fps progressive or telecined video, in which case you can
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1271 use the <option>pullup</option> filter <option>-vf
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1272 pullup,softskip</option>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1273 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1274 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1275
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1276 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1277
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1278 <sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1279 <title>Encoding interlaced video</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1280
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1281 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1282 If the movie you want to encode is interlaced (NTSC video or
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1283 PAL video), you will need to choose whether you want to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1284 deinterlace or not.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1285 While deinterlacing will make your movie usable on progressive
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1286 scan displays such a computer monitors and projectors, it comes
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1287 at a cost: The fieldrate of 50 or 60000/1001 fields per second
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1288 is halved to 25 or 30000/1001 frames per second, and roughly half of
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1289 the information in your movie will be lost during scenes with
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1290 significant motion.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1291 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1292
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1293 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1294 Therefore, if you are encoding for high quality archival purposes,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1295 it is recommended not to deinterlace.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1296 You can always deinterlace the movie at playback time when
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1297 displaying it on progressive scan devices.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1298 The power of currently available computers forces players to use a
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1299 deinterlacing filter, which results in a slight degradation in
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1300 image quality.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1301 But future players will be able to mimic the interlaced display of
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1302 a TV, deinterlacing to full fieldrate and interpolating 50 or
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1303 60000/1001 entire frames per second from the interlaced video.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1304 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1305
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1306 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1307 Special care must be taken when working with interlaced video:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1308 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1309
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1310 <orderedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1311 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1312 Crop height and y-offset must be multiples of 4.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1313 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1314 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1315 Any vertical scaling must be performed in interlaced mode.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1316 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1317 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1318 Postprocessing and denoising filters may not work as expected
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1319 unless you take special care to operate them a field at a time,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1320 and they may damage the video if used incorrectly.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1321 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1322 </orderedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1323
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1324 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1325 With these things in mind, here is our first example:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1326 <screen>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1327 mencoder <replaceable>capture.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1328 vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1329 </screen>
16816
cfe186231e2d ilmv --> ilme typo fix
diego
parents: 16678
diff changeset
1330 Note the <option>ilme</option> and <option>ildct</option> options.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1331 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1332 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1333
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1334 <!-- ********** -->
16086
6c16b60516f3 Moves the "audio" section just before the "muxing" section. + fixes suggested by Jeff
gpoirier
parents: 16085
diff changeset
1335
16339
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1336 <sect2 id="menc-feat-dvd-mpeg4-av-sync">
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1337 <title>Notes on Audio/Video synchronization</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1338
16339
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1339 <para>
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1340 <application>MEncoder</application>'s audio/video synchronization
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1341 algorithms were designed with the intention of recovering files with
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1342 broken sync.
16364
f71d1d8468df Hopefully better advices about A/V sync
gpoirier
parents: 16340
diff changeset
1343 However, in some cases they can cause unnecessary skipping and duplication of
16383
3cc0d81806bf In order to make sure A/V sync is preserved, MEncoder really has to be fed with an audio track.
gpoirier
parents: 16364
diff changeset
1344 frames, and possibly slight A/V desync, when used with proper input
16387
8f347723d3b3 Fixes suggested by Diego
gpoirier
parents: 16384
diff changeset
1345 (of course, A/V sync issues apply only if you process or copy the
16383
3cc0d81806bf In order to make sure A/V sync is preserved, MEncoder really has to be fed with an audio track.
gpoirier
parents: 16364
diff changeset
1346 audio track while transcoding the video, which is strongly encouraged).
16364
f71d1d8468df Hopefully better advices about A/V sync
gpoirier
parents: 16340
diff changeset
1347 Therefore, you may have to switch to basic A/V sync with
16339
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1348 the <option>-mc 0</option> option, or put this in your
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1349 <systemitem>~/.mplayer/mencoder</systemitem> config file, as long as
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1350 you are only working with good sources (DVD, TV capture, high quality
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1351 MPEG-4 rips, etc) and not broken ASF/RM/MOV files.
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1352 </para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1353
16339
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1354 <para>
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1355 If you want to further guard against strange frame skips and
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1356 duplication, you can use both <option>-mc 0</option> and
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1357 <option>-noskip</option>.
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1358 This will prevent <emphasis>all</emphasis> A/V sync, and copy frames
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1359 one-to-one, so you cannot use it if you will be using any filters that
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1360 unpredictably add or drop frames, or if your input file has variable
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1361 framerate!
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1362 Therefore, using <option>-noskip</option> is not in general recommended.
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1363 </para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1364
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1365 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1366 The so-called "three-pass" audio encoding which
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1367 <application>MEncoder</application> supports has been reported to cause A/V
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1368 desync.
16339
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1369 This will definitely happen if it is used in conjunction with certain
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1370 filters, therefore, it is now recommended <emphasis>not</emphasis> to
16364
f71d1d8468df Hopefully better advices about A/V sync
gpoirier
parents: 16340
diff changeset
1371 use three-pass audio mode.
16339
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1372 This feature is only left for compatibility purposes and for expert
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1373 users who understand when it is safe to use and when it is not.
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1374 If you have never heard of three-pass mode before, forget that we
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1375 even mentioned it!
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1376 </para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1377
16339
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1378 <para>
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1379 There have also been reports of A/V desync when encoding from stdin
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1380 with <application>MEncoder</application>.
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1381 Do not do this! Always use a file or CD/DVD/etc device as input.
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1382 </para>
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1383 </sect2>
9d772123c27d New section: Notes on Audio/Video synchronization, taken from Rich's encoding guide
gpoirier
parents: 16283
diff changeset
1384
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1385 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1386
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1387 <sect2 id="menc-feat-dvd-mpeg4-codec">
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1388 <title>Choosing the video codec</title>
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1389
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1390 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1391 Which video codec is best to choose depends on several factors,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1392 like size, quality, streamability, usability and popularity, some of
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1393 which widely depend on personal taste and technical constraints.
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1394 </para>
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1395 <itemizedlist>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1396 <listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1397 <para>
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1398 <emphasis role="bold">Compression efficiency</emphasis>:
17755
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1399 It is quite easy to understand that most newer-generation codecs are
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1400 made to increase quality and compression.
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1401 Therefore, the authors of this guide and many other people suggest that
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1402 you cannot go wrong
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1403 <footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'><para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1404 Be careful, however: Decoding DVD-resolution MPEG-4 AVC videos
20037
50113e22db17 Fix hz vs Hz typo.
diego
parents: 19038
diff changeset
1405 requires a fast machine (i.e. a Pentium 4 over 1.5GHz or a Pentium M
50113e22db17 Fix hz vs Hz typo.
diego
parents: 19038
diff changeset
1406 over 1GHz).
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1407 </para></footnote>
17253
338e5704c5b1 fixes suggested by Diego
gpoirier
parents: 17249
diff changeset
1408 when choosing MPEG-4 AVC codecs like
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1409 <systemitem class="library">x264</systemitem> instead of MPEG-4 ASP codecs
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1410 such as <systemitem class="library">libavcodec</systemitem> MPEG-4 or
20860
f95698d9d53c rename: XviD -> Xvid
kraymer
parents: 20667
diff changeset
1411 <systemitem class="library">Xvid</systemitem>.
17755
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1412 (Advanced codec developers may be interested in reading Michael
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1413 Niedermayer's opinion on
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1414 "<ulink url="http://guru.multimedia.cx/?p=10">why MPEG4-ASP sucks</ulink>".)
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1415 Likewise, you should get better quality using MPEG-4 ASP than you
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1416 would with MPEG-2 codecs.
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1417 </para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1418
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1419 <para>
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1420 However, newer codecs which are in heavy development can suffer from
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1421 bugs which have not yet been noticed and which can ruin an encode.
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1422 This is simply the tradeoff for using bleeding-edge technology.
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1423 </para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1424
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1425 <para>
17253
338e5704c5b1 fixes suggested by Diego
gpoirier
parents: 17249
diff changeset
1426 What is more, beginning to use a new codec requires that you spend some
338e5704c5b1 fixes suggested by Diego
gpoirier
parents: 17249
diff changeset
1427 time becoming familiar with its options, so that you know what
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1428 to adjust to achieve a desired picture quality.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1429 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1430 </listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1431
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1432 <listitem><para>
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1433 <emphasis role="bold">Hardware compatibility</emphasis>:
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1434 It usually takes a long time for standalone video players to begin to
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1435 include support for the latest video codecs.
17593
7c700dc8e37d Gives some examples of in which form MPEG* videos can come
gpoirier
parents: 17406
diff changeset
1436 As a result, most only support MPEG-1 (like VCD, XVCD and KVCD), MPEG-2
7c700dc8e37d Gives some examples of in which form MPEG* videos can come
gpoirier
parents: 17406
diff changeset
1437 (like DVD, SVCD and KVCD) and MPEG-4 ASP (like DivX,
7c700dc8e37d Gives some examples of in which form MPEG* videos can come
gpoirier
parents: 17406
diff changeset
1438 <systemitem class="library">libavcodec</systemitem>'s LMP4 and
20860
f95698d9d53c rename: XviD -> Xvid
kraymer
parents: 20667
diff changeset
1439 <systemitem class="library">Xvid</systemitem>)
17253
338e5704c5b1 fixes suggested by Diego
gpoirier
parents: 17249
diff changeset
1440 (Beware: Usually, not all MPEG-4 ASP features are supported).
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1441 Please refer to the technical specs of your player (if they are available),
17253
338e5704c5b1 fixes suggested by Diego
gpoirier
parents: 17249
diff changeset
1442 or google around for more information.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1443 </para></listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1444
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1445 <listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1446 <para>
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1447 <emphasis role="bold">Best quality per encoding time</emphasis>:
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1448 Codecs that have been around for some time (such as
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1449 <systemitem class="library">libavcodec</systemitem> MPEG-4 and
20860
f95698d9d53c rename: XviD -> Xvid
kraymer
parents: 20667
diff changeset
1450 <systemitem class="library">Xvid</systemitem>) are usually heavily
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1451 optimized with all kinds of smart algorithms and SIMD assembly code.
17753
21af02625f12 typo fix
gabrov
parents: 17707
diff changeset
1452 That is why they tend to yield the best quality per encoding time ratio.
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1453 However, they may have some very advanced options that, if enabled,
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1454 will make the encode really slow for marginal gains.
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1455 </para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1456
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1457 <para>
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1458 If you are after blazing speed you should stick around the default
17755
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1459 settings of the video codec (although you should still try the other
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1460 options which are mentioned in other sections of this guide).
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1461 </para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1462
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1463 <para>
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1464 You may also consider choosing a codec which can do multi-threaded
17755
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1465 processing, though this is only useful for users of machines with
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1466 several CPUs.
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1467 <systemitem class="library">libavcodec</systemitem> MPEG-4 does
17755
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1468 allow that, but speed gains are limited, and there is a slight
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1469 negative effect on picture quality.
20860
f95698d9d53c rename: XviD -> Xvid
kraymer
parents: 20667
diff changeset
1470 <systemitem class="library">Xvid</systemitem>'s multi-threaded encoding,
17757
9376e7b470d6 10l to Guillaume. It's <option>, not <options>. xmllint would've told you that.
rathann
parents: 17755
diff changeset
1471 activated by the <option>threads</option> option, can be used to
17755
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1472 boost encoding speed &mdash; by about 40-60% in typical cases &mdash;
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1473 with little if any picture degradation.
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1474 <systemitem class="library">x264</systemitem> also allows multi-threaded
21914
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
1475 encoding, which currently speeds up encoding by 94% per CPU core while
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
1476 lowering PSNR between 0.005dB and 0.01dB on a typical setup.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1477 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1478 </listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1479
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1480 <listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1481 <para>
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1482 <emphasis role="bold">Personal taste</emphasis>:
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1483 This is where it gets almost irrational: For the same reason that some
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1484 hung on to DivX&nbsp;3 for years when newer codecs were already doing wonders,
20860
f95698d9d53c rename: XviD -> Xvid
kraymer
parents: 20667
diff changeset
1485 some folks will prefer <systemitem class="library">Xvid</systemitem>
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1486 or <systemitem class="library">libavcodec</systemitem> MPEG-4 over
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1487 <systemitem class="library">x264</systemitem>.
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1488 </para>
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1489 <para>
17755
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1490 You should make your own judgement; do not take advice from people who
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1491 swear by one codec.
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1492 Take a few sample clips from raw sources and compare different
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1493 encoding options and codecs to find one that suits you best.
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1494 The best codec is the one you master, and the one that looks
7d2a7df681e6 various improvements of the section "Choosing the video codec"
gpoirier
parents: 17753
diff changeset
1495 best to your eyes on your display
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1496 <footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'><para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1497 The same encode may not look the same on someone else's monitor or
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1498 when played back by a different decoder, so future-proof your encodes by
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1499 playing them back on different setups.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1500 </para></footnote>!
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1501 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1502 </listitem>
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1503 </itemizedlist>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1504
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1505 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1506 Please refer to the section
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1507 <link linkend="menc-feat-selecting-codec">selecting codecs and container formats</link>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1508 to get a list of supported codecs.
17249
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1509 </para>
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1510 </sect2>
4d4878a4c6e5 New section: choosing the video codec for your encode: what to consider before picking it.
gpoirier
parents: 17105
diff changeset
1511
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1512 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1513
16086
6c16b60516f3 Moves the "audio" section just before the "muxing" section. + fixes suggested by Jeff
gpoirier
parents: 16085
diff changeset
1514 <sect2 id="menc-feat-dvd-mpeg4-audio">
6c16b60516f3 Moves the "audio" section just before the "muxing" section. + fixes suggested by Jeff
gpoirier
parents: 16085
diff changeset
1515 <title>Audio</title>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1516
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1517 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1518 Audio is a much simpler problem to solve: if you care about quality, just
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1519 leave it as is.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1520 Even AC3 5.1 streams are at most 448Kbit/s, and they are worth every bit.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1521 You might be tempted to transcode the audio to high quality Vorbis, but
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1522 just because you do not have an A/V receiver for AC3 pass-through today
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1523 does not mean you will not have one tomorrow. Future-proof your DVD rips by
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1524 preserving the AC3 stream.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1525 You can keep the AC3 stream either by copying it directly into the video
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1526 stream <link linkend="menc-feat-mpeg4">during the encoding</link>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1527 You can also extract the AC3 stream in order to mux it into containers such
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1528 as NUT or Matroska.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1529 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1530 mplayer <replaceable>source_file.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>sound.ac3</replaceable>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1531 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1532 will dump into the file <replaceable>sound.ac3</replaceable> the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1533 audio track number 129 from the file
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1534 <replaceable>source_file.vob</replaceable> (NB: DVD VOB files
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1535 usually use a different audio numbering,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1536 which means that the VOB audio track 129 is the 2nd audio track of the file).
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1537 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1538
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1539 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1540 But sometimes you truly have no choice but to further compress the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1541 sound so that more bits can be spent on the video.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1542 Most people choose to compress audio with either MP3 or Vorbis audio codecs.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1543 While the latter is a very space-efficient codec, MP3 is better supported
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1544 by hardware players, although this trend is changing.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1545 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1546
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1547 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1548 Do <emphasis>not</emphasis> use <option>-nosound</option> when encoding
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1549 a file with audio, even if you will be encoding and muxing audio
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1550 separately later.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1551 Though it may work in ideal cases, using <option>-nosound</option> is
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1552 likely to hide some problems in your encoding command line setting.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1553 In other words, having a soundtrack during your encode assures you that,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1554 provided you do not see messages such as
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1555 <quote>Too many audio packets in the buffer</quote>, you will be able
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1556 to get proper sync.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1557 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1558
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1559 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1560 You need to have <application>MEncoder</application> process the sound.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1561 You can for example copy the orignal soundtrack during the encode with
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1562 <option>-oac copy</option> or convert it to a "light" 4 kHz mono WAV
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1563 PCM with <option>-oac pcm -channels 1 -srate 4000</option>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1564 Otherwise, in some cases, it will generate a video file that will not sync
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1565 with the audio.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1566 Such cases are when the number of video frames in the source file does
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1567 not match up to the total length of audio frames or whenever there
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1568 are discontinuities/splices where there are missing or extra audio frames.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1569 The correct way to handle this kind of problem is to insert silence or
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1570 cut audio at these points.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1571 However <application>MPlayer</application> cannot do that, so if you
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1572 demux the AC3 audio and encode it with a separate app (or dump it to PCM with
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1573 <application>MPlayer</application>), the splices will be left incorrect
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1574 and the only way to correct them is to drop/dup video frames at the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1575 splice.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1576 As long as <application>MEncoder</application> sees the audio when it is
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1577 encoding the video, it can do this dropping/duping (which is usually OK
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1578 since it takes place at full black/scenechange), but if
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1579 <application>MEncoder</application> cannot see the audio, it will just
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1580 process all frames as-is and they will not fit the final audio stream when
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1581 you for example merge your audio and video track into a Matroska file.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1582 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1583
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1584 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1585 First of all, you will have to convert the DVD sound into a WAV file that the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1586 audio codec can use as input.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1587 For example:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1588 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1589 mplayer <replaceable>source_file.vob</replaceable> -ao pcm:file=<replaceable>destination_sound.wav</replaceable> \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1590 -vc dummy -aid 1 -vo null
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1591 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1592 will dump the second audio track from the file
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1593 <replaceable>source_file.vob</replaceable> into the file
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1594 <replaceable>destination_sound.wav</replaceable>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1595 You may want to normalize the sound before encoding, as DVD audio tracks
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1596 are commonly recorded at low volumes.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1597 You can use the tool <application>normalize</application> for instance,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1598 which is available in most distributions.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1599 If you are using Windows, a tool such as <application>BeSweet</application>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1600 can do the same job.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1601 You will compress in either Vorbis or MP3.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1602 For example:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1603 <screen>oggenc -q1 <replaceable>destination_sound.wav</replaceable></screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1604 will encode <replaceable>destination_sound.wav</replaceable> with
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1605 the encoding quality 1, which is roughly equivalent to 80Kb/s, and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1606 is the minimum quality at which you should encode if you care about
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1607 quality.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1608 Please note that <application>MEncoder</application> currently cannot
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1609 mux Vorbis audio tracks
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1610 into the output file because it only supports AVI and MPEG
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1611 containers as an output, each of which may lead to audio/video
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1612 playback synchronization problems with some players when the AVI file
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1613 contain VBR audio streams such as Vorbis.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1614 Do not worry, this document will show you how you can do that with third
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1615 party programs.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1616 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1617 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1618
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1619 <!-- ********** -->
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1620
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1621 <sect2 id="menc-feat-dvd-mpeg4-muxing">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1622 <title>Muxing</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1623
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1624 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1625 Now that you have encoded your video, you will most likely want
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1626 to mux it with one or more audio tracks into a movie container, such
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1627 as AVI, MPEG, Matroska or NUT.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1628 <application>MEncoder</application> is currently only able to natively output
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1629 audio and video into MPEG and AVI container formats.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1630 for example:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1631 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1632 mencoder -oac copy -ovc copy -o <replaceable>output_movie.avi</replaceable> \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1633 -audiofile <replaceable>input_audio.mp2</replaceable> <replaceable>input_video.avi</replaceable>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1634 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1635 This would merge the video file <replaceable>input_video.avi</replaceable>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1636 and the audio file <replaceable>input_audio.mp2</replaceable>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1637 into the AVI file <replaceable>output_movie.avi</replaceable>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1638 This command works with MPEG-1 layer I, II and III (more commonly known
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1639 as MP3) audio, WAV and a few other audio formats too.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1640 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1641
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1642 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1643 <application>MEncoder</application> features experimental support for
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1644 <systemitem class="library">libavformat</systemitem>, which is a
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1645 library from the FFmpeg project that supports muxing and demuxing
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1646 a variety of containers.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1647 For example:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1648 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1649 mencoder -oac copy -ovc copy -o <replaceable>output_movie.asf</replaceable> -audiofile <replaceable>input_audio.mp2</replaceable> \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1650 <replaceable>input_video.avi</replaceable> -of lavf -lavfopts format=asf
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1651 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1652 This will do the same thing as the previous example, except that
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1653 the output container will be ASF.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1654 Please note that this support is highly experimental (but getting
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1655 better every day), and will only work if you compiled
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1656 <application>MPlayer</application> with the support for
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1657 <systemitem class="library">libavformat</systemitem> enabled (which
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1658 means that a pre-packaged binary version will not work in most cases).
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1659 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1660
16420
17aad1da6c1d New section about sync and remuxing issues.
gpoirier
parents: 16387
diff changeset
1661
17aad1da6c1d New section about sync and remuxing issues.
gpoirier
parents: 16387
diff changeset
1662 <sect3 id="menc-feat-dvd-mpeg4-muxing-filter-issues">
17aad1da6c1d New section about sync and remuxing issues.
gpoirier
parents: 16387
diff changeset
1663 <title>Improving muxing and A/V sync reliability</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1664
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1665 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1666 You may experience some serious A/V sync problems while trying to mux
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1667 your video and some audio tracks, where no matter how you adjust the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1668 audio delay, you will never get proper sync.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1669 That may happen when you use some video filters that will drop or
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1670 duplicate some frames, like the inverse telecine filters.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1671 It is strongly encouraged to append the <option>harddup</option> video
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1672 filter at the end of the filter chain to avoid this kind of problem.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1673 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1674
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1675 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1676 Without <option>harddup</option>, if <application>MEncoder</application>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1677 wants to duplicate a frame, it relies on the muxer to put a mark on the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1678 container so that the last frame will be displayed again to maintain
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1679 sync while writing no actual frame.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1680 With <option>harddup</option>, <application>MEncoder</application>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1681 will instead just push the last frame displayed again into the filter
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1682 chain.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1683 This means that the encoder receives the <emphasis>exact</emphasis>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1684 same frame twice, and compresses it.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1685 This will result in a slightly bigger file, but will not cause problems
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1686 when demuxing or remuxing into other container formats.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1687 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1688
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1689 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1690 You may also have no choice but to use <option>harddup</option> with
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1691 container formats that are not too tightly linked with
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1692 <application>MEncoder</application> such as the ones supported through
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1693 <systemitem class="library">libavformat</systemitem>, which may not
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1694 support frame duplication at the container level.
16420
17aad1da6c1d New section about sync and remuxing issues.
gpoirier
parents: 16387
diff changeset
1695 </para>
17aad1da6c1d New section about sync and remuxing issues.
gpoirier
parents: 16387
diff changeset
1696 </sect3>
17aad1da6c1d New section about sync and remuxing issues.
gpoirier
parents: 16387
diff changeset
1697
17aad1da6c1d New section about sync and remuxing issues.
gpoirier
parents: 16387
diff changeset
1698
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1699 <sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1700 <title>Limitations of the AVI container</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1701
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1702 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1703 Although it is the most widely-supported container format after MPEG-1,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1704 AVI also has some major drawbacks.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1705 Perhaps the most obvious is the overhead.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1706 For each chunk of the AVI file, 24 bytes are wasted on headers and index.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1707 This translates into a little over 5 MB per hour, or 1-2.5%
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1708 overhead for a 700 MB movie. This may not seem like much, but it could
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1709 mean the difference between being able to use 700 kbit/sec video or
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1710 714 kbit/sec, and every bit of quality counts.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1711 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1712
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1713 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1714 In addition this gross inefficiency, AVI also has the following major
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1715 limitations:
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1716 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1717
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1718 <orderedlist>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1719 <listitem><para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1720 Only fixed-fps content can be stored. This is particularly limiting
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1721 if the original material you want to encode is mixed content, for
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1722 example a mix of NTSC video and film material.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1723 Actually there are hacks that can be used to store mixed-framerate
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1724 content in AVI, but they increase the (already huge) overhead
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1725 fivefold or more and so are not practical.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1726 </para></listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1727 <listitem><para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1728 Audio in AVI files must be either constant-bitrate (CBR) or
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1729 constant-framesize (i.e. all frames decode to the same number of
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1730 samples).
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1731 Unfortunately, the most efficient codec, Vorbis, does not meet
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1732 either of these requirements.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1733 Therefore, if you plan to store your movie in AVI, you will have to
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1734 use a less efficient codec such as MP3 or AC3.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1735 </para></listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1736 </orderedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1737
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1738 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1739 Having said all that, <application>MEncoder</application> does not
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1740 currently support variable-fps output or Vorbis encoding.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1741 Therefore, you may not see these as limitations if
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1742 <application>MEncoder</application> is the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1743 only tool you will be using to produce your encodes.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1744 However, it is possible to use <application>MEncoder</application>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1745 only for video encoding, and then use external tools to encode
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1746 audio and mux it into another container format.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1747 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1748 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1749
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1750
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1751 <sect3 id="menc-feat-dvd-mpeg4-muxing-matroska">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1752 <title>Muxing into the Matroska container</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1753
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1754 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1755 Matroska is a free, open standard container format, aiming
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1756 to offer a lot of advanced features, which older containers
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1757 like AVI cannot handle.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1758 For example, Matroska supports variable bitrate audio content
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1759 (VBR), variable framerates (VFR), chapters, file attachments,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1760 error detection code (EDC) and modern A/V Codecs like "Advanced Audio
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1761 Coding" (AAC), "Vorbis" or "MPEG-4 AVC" (H.264), next to nothing
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1762 handled by AVI.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1763 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1764
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1765 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1766 The tools required to create Matroska files are collectively called
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1767 <application>mkvtoolnix</application>, and are available for most
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1768 Unix platforms as well as <application>Windows</application>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1769 Because Matroska is an open standard you may find other
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1770 tools that suit you better, but since mkvtoolnix is the most
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1771 common, and is supported by the Matroska team itself, we will
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1772 only cover its usage.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1773 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1774
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1775 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1776 Probably the easiest way to get started with Matroska is to use
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1777 <application>MMG</application>, the graphical frontend shipped with
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1778 <application>mkvtoolnix</application>, and follow the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1779 <ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">guide to mkvmerge GUI (mmg)</ulink>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1780 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1781
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1782 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1783 You may also mux audio and video files using the command line:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1784 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1785 mkvmerge -o <replaceable>output.mkv</replaceable> <replaceable>input_video.avi</replaceable> <replaceable>input_audio1.mp3</replaceable> <replaceable>input_audio2.ac3</replaceable>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1786 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1787 This would merge the video file <replaceable>input_video.avi</replaceable>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1788 and the two audio files <replaceable>input_audio1.mp3</replaceable>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1789 and <replaceable>input_audio2.ac3</replaceable> into the Matroska
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1790 file <replaceable>output.mkv</replaceable>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1791 Matroska, as mentioned earlier, is able to do much more than that, like
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1792 multiple audio tracks (including fine-tuning of audio/video
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1793 synchronization), chapters, subtitles, splitting, etc...
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1794 Please refer to the documentation of those applications for
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1795 more details.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1796 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1797 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1798 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1799 </sect1>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1800
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1801
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1802 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1803
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1804
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1805 <sect1 id="menc-feat-telecine">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1806 <title>How to deal with telecine and interlacing within NTSC DVDs</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1807
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1808 <sect2 id="menc-feat-telecine-intro">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1809 <title>Introduction</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1810
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1811 <formalpara>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1812 <title>What is telecine?</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1813 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1814 If you do not understand much of what is written in this document, read the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1815 <ulink url="http://en.wikipedia.org/wiki/Telecine">Wikipedia entry on telecine</ulink>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1816 It is an understandable and reasonably comprehensive
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1817 description of what telecine is.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1818 </para></formalpara>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1819
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1820 <formalpara>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1821 <title>A note about the numbers.</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1822 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1823 Many documents, including the guide linked above, refer to the fields
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1824 per second value of NTSC video as 59.94 and the corresponding frames
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1825 per second values as 29.97 (for telecined and interlaced) and 23.976
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1826 (for progressive). For simplicity, some documents even round these
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1827 numbers to 60, 30, and 24.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1828 </para></formalpara>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1829
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1830 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1831 Strictly speaking, all those numbers are approximations. Black and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1832 white NTSC video was exactly 60 fields per second, but 60000/1001
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1833 was later chosen to accomodate color data while remaining compatible
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1834 with contemporary black and white televisions. Digital NTSC video
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1835 (such as on a DVD) is also 60000/1001 fields per second. From this,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1836 interlaced and telecined video are derived to be 30000/1001 frames
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1837 per second; progressive video is 24000/1001 frames per second.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1838 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1839
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1840 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1841 Older versions of the <application>MEncoder</application> documentation
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1842 and many archived mailing list posts refer to 59.94, 29.97, and 23.976.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1843 All <application>MEncoder</application> documentation has been updated
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1844 to use the fractional values, and you should use them too.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1845 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1846
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1847 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1848 <option>-ofps 23.976</option> is incorrect.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1849 <option>-ofps 24000/1001</option> should be used instead.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1850 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1851
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1852 <formalpara>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1853 <title>How telecine is used.</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1854 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1855 All video intended to be displayed on an NTSC
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1856 television set must be 60000/1001 fields per second. Made-for-TV movies
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1857 and shows are often filmed directly at 60000/1001 fields per second, but
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1858 the majority of cinema is filmed at 24 or 24000/1001 frames per
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1859 second. When cinematic movie DVDs are mastered, the video is then
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1860 converted for television using a process called telecine.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1861 </para></formalpara>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1862
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1863 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1864 On a DVD, the video is never actually stored as 60000/1001 fields per
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1865 second. For video that was originally 60000/1001, each pair of fields is
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1866 combined to form a frame, resulting in 30000/1001 frames per
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1867 second. Hardware DVD players then read a flag embedded in the video
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1868 stream to determine whether the odd- or even-numbered lines should
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1869 form the first field.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1870 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1871
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1872 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1873 Usually, 24000/1001 frames per second content stays as it is when
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1874 encoded for a DVD, and the DVD player must perform telecining
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1875 on-the-fly. Sometimes, however, the video is telecined
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1876 <emphasis>before</emphasis> being stored on the DVD; even though it
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1877 was originally 24000/1001 frames per second, it becomes 60000/1001 fields per
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1878 second. When it is stored on the DVD, pairs of fields are combined to form
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1879 30000/1001 frames per second.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1880 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1881
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1882 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1883 When looking at individual frames formed from 60000/1001 fields per
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1884 second video, telecined or otherwise, interlacing is clearly visible
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1885 wherever there is any motion, because one field (say, the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1886 even-numbered lines) represents a moment in time 1/(60000/1001)
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1887 seconds later than the other. Playing interlaced video on a computer
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1888 looks ugly both because the monitor is higher resolution and because
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1889 the video is shown frame-after-frame instead of field-after-field.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1890 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1891
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1892 <itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1893 <title>Notes:</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1894 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1895 This section only applies to NTSC DVDs, and not PAL.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1896 </para></listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1897 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1898 The example <application>MEncoder</application> lines throughout the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1899 document are <emphasis role="bold">not</emphasis> intended for
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1900 actual use. They are simply the bare minimum required to encode the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1901 pertaining video category. How to make good DVD rips or fine-tune
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1902 <systemitem class="library">libavcodec</systemitem> for maximal
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1903 quality is not within the scope of this document.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1904 </para></listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1905 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1906 There are a couple footnotes specific to this guide, linked like this:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1907 <link linkend="menc-feat-telecine-footnotes">[1]</link>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1908 </para></listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1909 </itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1910 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1911
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1912 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1913
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1914 <sect2 id="menc-feat-telecine-ident">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1915 <title>How to tell what type of video you have</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1916
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1917 <sect3 id="menc-feat-telecine-ident-progressive">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1918 <title>Progressive</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1919
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1920 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1921 Progressive video was originally filmed at 24000/1001 fps, and stored
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1922 on the DVD without alteration.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1923 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1924
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1925 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1926 When you play a progressive DVD in <application>MPlayer</application>,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1927 <application>MPlayer</application> will print the following line as
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1928 soon as the movie begins to play:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1929 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1930 demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1931 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1932 From this point forward, demux_mpg should never say it finds
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
1933 "30000/1001 fps NTSC content."
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1934 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1935
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1936 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1937 When you watch progressive video, you should never see any
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1938 interlacing. Beware, however, because sometimes there is a tiny bit
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1939 of telecine mixed in where you would not expect. I have encountered TV
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1940 show DVDs that have one second of telecine at every scene change, or
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1941 at seemingly random places. I once watched a DVD that had a
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1942 progressive first half, and the second half was telecined. If you
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1943 want to be <emphasis>really</emphasis> thorough, you can scan the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1944 entire movie:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1945 <screen>mplayer dvd://1 -nosound -vo null -benchmark</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1946 Using <option>-benchmark</option> makes
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1947 <application>MPlayer</application> play the movie as quickly as it
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1948 possibly can; still, depending on your hardware, it can take a
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1949 while. Every time demux_mpg reports a framerate change, the line
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1950 immediately above will show you the time at which the change
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1951 occurred.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1952 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1953
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1954 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1955 Sometimes progressive video on DVDs is referred to as
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
1956 "soft-telecine" because it is intended to
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1957 be telecined by the DVD player.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1958 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1959 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1960
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1961
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1962 <sect3 id="menc-feat-telecine-ident-telecined">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
1963 <title>Telecined</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1964
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1965 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1966 Telecined video was originally filmed at 24000/1001, but was telecined
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1967 <emphasis>before</emphasis> it was written to the DVD.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1968 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1969
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1970 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1971 <application>MPlayer</application> does not (ever) report any
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1972 framerate changes when it plays telecined video.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1973 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1974
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1975 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1976 Watching a telecined video, you will see interlacing artifacts that
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
1977 seem to "blink": they repeatedly appear and disappear.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1978 You can look closely at this by
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1979 <orderedlist>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1980 <listitem><screen>mplayer dvd://1</screen></listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1981 <listitem><para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1982 Seek to a part with motion.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1983 </para></listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1984 <listitem><para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1985 Use the <keycap>.</keycap> key to step forward one frame at a time.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1986 </para></listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1987 <listitem><para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1988 Look at the pattern of interlaced-looking and progressive-looking
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1989 frames. If the pattern you see is PPPII,PPPII,PPPII,... then the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1990 video is telecined. If you see some other pattern, then the video
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1991 may have been telecined using some non-standard method;
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1992 <application>MEncoder</application> cannot losslessly convert
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1993 non-standard telecine to progressive. If you do not see any
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1994 pattern at all, then it is most likely interlaced.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1995 </para></listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1996 </orderedlist>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1997 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1998
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
1999 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2000 Sometimes telecined video on DVDs is referred to as
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
2001 "hard-telecine". Since hard-telecine is already 60000/1001 fields
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2002 per second, the DVD player plays the video without any manipulation.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2003 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2004
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2005 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2006 Another way to tell if your source is telecined or not is to play
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2007 the source with the <option>-vf pullup</option> and <option>-v</option>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2008 command line options to see how <option>pullup</option> matches frames.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2009 If the source is telecined, you should see on the console a 3:2 pattern
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2010 with <systemitem>0+.1.+2</systemitem> and <systemitem>0++1</systemitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2011 alternating.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2012 This technique has the advantage that you do not need to watch the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2013 source to identify it, which could be useful if you wish to automate
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2014 the encoding procedure, or to carry out said procedure remotely via
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2015 a slow connection.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2016 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2017 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2018
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2019
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2020 <sect3 id="menc-feat-telecine-ident-interlaced">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2021 <title>Interlaced</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2022
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2023 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2024 Interlaced video was originally filmed at 60000/1001 fields per second,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2025 and stored on the DVD as 30000/1001 frames per second. The interlacing effect
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
2026 (often called "combing") is a result of combining pairs of
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2027 fields into frames. Each field is supposed to be 1/(60000/1001) seconds apart,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2028 and when they are displayed simultaneously the difference is apparent.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2029 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2030
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2031 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2032 As with telecined video, <application>MPlayer</application> should
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2033 not ever report any framerate changes when playing interlaced content.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2034 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2035
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2036 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2037 When you view an interlaced video closely by frame-stepping with the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2038 <keycap>.</keycap> key, you will see that every single frame is interlaced.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2039 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2040 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2041
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2042
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2043 <sect3 id="menc-feat-telecine-ident-mixedpt">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2044 <title>Mixed progressive and telecine</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2045
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2046 <para>
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
2047 All of a "mixed progressive and telecine" video was originally
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2048 24000/1001 frames per second, but some parts of it ended up being telecined.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2049 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2050
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2051 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2052 When <application>MPlayer</application> plays this category, it will
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
2053 (often repeatedly) switch back and forth between "30000/1001 fps NTSC"
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
2054 and "24000/1001 fps progressive NTSC". Watch the bottom of
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2055 <application>MPlayer</application>'s output to see these messages.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2056 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2057
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2058 <para>
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
2059 You should check the "30000/1001 fps NTSC" sections to make sure
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2060 they are actually telecine, and not just interlaced.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2061 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2062 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2063
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2064
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2065 <sect3 id="menc-feat-telecine-ident-mixedpi">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2066 <title>Mixed progressive and interlaced</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2067
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2068 <para>
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
2069 In "mixed progressive and interlaced" content, progressive
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2070 and interlaced video have been spliced together.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2071 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2072
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2073 <para>
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
2074 This category looks just like "mixed progressive and telecine",
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2075 until you examine the 30000/1001 fps sections and see that they do not have the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2076 telecine pattern.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2077 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2078 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2079 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2080
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2081 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2082
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2083 <sect2 id="menc-feat-telecine-encode">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2084 <title>How to encode each category</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2085 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2086 As I mentioned in the beginning, example <application>MEncoder</application>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2087 lines below are <emphasis role="bold">not</emphasis> meant to actually be used;
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2088 they only demonstrate the minimum parameters to properly encode each category.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2089 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2090
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2091
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2092 <sect3 id="menc-feat-telecine-encode-progressive">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2093 <title>Progressive</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2094 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2095 Progressive video requires no special filtering to encode. The only
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2096 parameter you need to be sure to use is <option>-ofps 24000/1001</option>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2097 Otherwise, <application>MEncoder</application>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2098 will try to encode at 30000/1001 fps and will duplicate frames.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2099 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2100
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2101 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2102 <screen>mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2103 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2104
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2105 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2106 It is often the case, however, that a video that looks progressive
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2107 actually has very short parts of telecine mixed in. Unless you are
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2108 sure, it is safest to treat the video as
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2109 <link linkend="menc-feat-telecine-encode-mixedpt">mixed progressive and telecine</link>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2110 The performance loss is small
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2111 <link linkend="menc-feat-telecine-footnotes">[3]</link>.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2112 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2113 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2114
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2115
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2116 <sect3 id="menc-feat-telecine-encode-telecined">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2117 <title>Telecined</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2118
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2119 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2120 Telecine can be reversed to retrieve the original 24000/1001 content,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2121 using a process called inverse-telecine.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2122 <application>MPlayer</application> contains several filters to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2123 accomplish this; the best filter, <option>pullup</option>, is described
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2124 in the <link linkend="menc-feat-telecine-encode-mixedpt">mixed
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2125 progressive and telecine</link> section.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2126 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2127 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2128
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2129
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2130 <sect3 id="menc-feat-telecine-encode-interlaced">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2131 <title>Interlaced</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2132
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2133 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2134 For most practical cases it is not possible to retrieve a complete
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2135 progressive video from interlaced content. The only way to do so
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2136 without losing half of the vertical resolution is to double the
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
2137 framerate and try to "guess" what ought to make up the
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2138 corresponding lines for each field (this has drawbacks - see method 3).
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2139 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2140
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2141 <orderedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2142 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2143 Encode the video in interlaced form. Normally, interlacing wreaks
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2144 havoc with the encoder's ability to compress well, but
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2145 <systemitem class="library">libavcodec</systemitem> has two
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2146 parameters specifically for dealing with storing interlaced video a
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2147 bit better: <option> ildct</option> and <option>ilme</option>. Also,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2148 using <option>mbd=2</option> is strongly recommended
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2149 <link linkend="menc-feat-telecine-footnotes">[2] </link> because it
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2150 will encode macroblocks as non-interlaced in places where there is
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2151 no motion. Note that <option>-ofps</option> is NOT needed here.
16384
afe6be7b2d48 Typo, and fixed missing word
gpoirier
parents: 16383
diff changeset
2152 <screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2153 </para></listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2154 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2155 Use a deinterlacing filter before encoding. There are several of
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2156 these filters available to choose from, each with its own advantages
21062
be83543ce2d0 add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents: 21018
diff changeset
2157 and disadvantages. Consult <option>mplayer -pphelp</option> and
be83543ce2d0 add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents: 21018
diff changeset
2158 <option>mplayer -vf help</option> to see what is available
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
2159 (grep for "deint"), read Michael's Niedermayer
21062
be83543ce2d0 add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents: 21018
diff changeset
2160 <ulink url="http://guru.multimedia.cx/deinterlacing-filters/">Deinterlacing filters comparison</ulink>,
be83543ce2d0 add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents: 21018
diff changeset
2161 and search the
21360
cb8d847fab79 URL fix
diego
parents: 21062
diff changeset
2162 <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html">
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2163 MPlayer mailing lists</ulink> to find many discussions about the
21062
be83543ce2d0 add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents: 21018
diff changeset
2164 various filters.
be83543ce2d0 add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents: 21018
diff changeset
2165 Again, the framerate is not changing, so no
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2166 <option>-ofps</option>. Also, deinterlacing should be done after
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2167 cropping <link linkend="menc-feat-telecine-footnotes">[1]</link> and
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2168 before scaling.
21062
be83543ce2d0 add a link to Michael's de-interlacing filters, and replace the crappy
gpoirier
parents: 21018
diff changeset
2169 <screen>mencoder dvd://1 -oac copy -vf yadif -ovc lavc</screen>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2170 </para></listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2171 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2172 Unfortunately, this option is buggy with
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2173 <application>MEncoder</application>; it ought to work well with
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2174 <application>MEncoder G2</application>, but that is not here yet. You
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2175 might experience crahes. Anyway, the purpose of <option> -vf
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2176 tfields</option> is to create a full frame out of each field, which
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2177 makes the framerate 60000/1001. The advantage of this approach is that no
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2178 data is ever lost; however, since each frame comes from only one
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2179 field, the missing lines have to be interpolated somehow. There are
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2180 no very good methods of generating the missing data, and so the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2181 result will look a bit similar to when using some deinterlacing
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2182 filters. Generating the missing lines creates other issues, as well,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2183 simply because the amount of data doubles. So, higher encoding
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2184 bitrates are required to maintain quality, and more CPU power is
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2185 used for both encoding and decoding. tfields has several different
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2186 options for how to create the missing lines of each frame. If you
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2187 use this method, then Reference the manual, and chose whichever
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2188 option looks best for your material. Note that when using
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2189 <option>tfields</option> you
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2190 <emphasis role="bold">have to</emphasis> specify both
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2191 <option>-fps</option> and <option>-ofps</option> to be twice the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2192 framerate of your original source.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2193 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2194 mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2195 -fps 60000/1001 -ofps 60000/1001<!--
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2196 --></screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2197 </para></listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2198 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2199 If you plan on downscaling dramatically, you can extract and encode
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2200 only one of the two fields. Of course, you will lose half the vertical
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2201 resolution, but if you plan on downscaling to at most 1/2 of the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2202 original, the loss will not matter much. The result will be a
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2203 progressive 30000/1001 frames per second file. The procedure is to use
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2204 <option>-vf field</option>, then crop
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2205 <link linkend="menc-feat-telecine-footnotes">[1]</link> and scale
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2206 appropriately. Remember that you will have to adjust the scale to
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2207 compensate for the vertical resolution being halved.
16384
afe6be7b2d48 Typo, and fixed missing word
gpoirier
parents: 16383
diff changeset
2208 <screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2209 </para></listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2210 </orderedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2211 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2212
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2213
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2214 <sect3 id="menc-feat-telecine-encode-mixedpt">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2215 <title>Mixed progressive and telecine</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2216
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2217 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2218 In order to turn mixed progressive and telecine video into entirely
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2219 progressive video, the telecined parts have to be
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2220 inverse-telecined. There are three ways to accomplish this,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2221 described below. Note that you should
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2222 <emphasis role="bold">always</emphasis> inverse-telecine before any
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2223 rescaling; unless you really know what you are doing,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2224 inverse-telecine before cropping, too
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2225 <link linkend="menc-feat-telecine-footnotes">[1]</link>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2226 <option>-ofps 24000/1001</option> is needed here because the output video
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2227 will be 24000/1001 frames per second.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2228 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2229
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2230 <itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2231 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2232 <option>-vf pullup</option> is designed to inverse-telecine
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2233 telecined material while leaving progressive data alone. In order to
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2234 work properly, <option>pullup</option> <emphasis role="bold">must</emphasis>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2235 be followed by the <option>softskip</option> filter or
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2236 else <application>MEncoder</application> will crash.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2237 <option>pullup</option> is, however, the cleanest and most
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2238 accurate method available for encoding both telecine and
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
2239 "mixed progressive and telecine".
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2240 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2241 mencoder dvd://1 -oac copy -vf pullup,softskip
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2242 -ovc lavc -ofps 24000/1001<!--
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2243 --></screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2244 </para></listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2245 <listitem><para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2246 An older method
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2247 is to, rather than inverse-telecine the telecined parts, telecine
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2248 the non-telecined parts and then inverse-telecine the whole
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2249 video. Sound confusing? softpulldown is a filter that goes through
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2250 a video and makes the entire file telecined. If we follow
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2251 softpulldown with either <option>detc</option> or
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2252 <option>ivtc</option>, the final result will be entirely
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2253 progressive. <option>-ofps 24000/1001</option> is needed.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2254 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2255 mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2256 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2257 </para></listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2258
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2259 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2260 I have not used <option>-vf filmdint</option> myself, but here is what
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2261 D Richard Felker III has to say:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2262
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2263 <blockquote><para>It is OK, but IMO it tries to deinterlace rather
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2264 than doing inverse telecine too often (much like settop DVD
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2265 players &amp; progressive TVs) which gives ugly flickering and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2266 other artifacts. If you are going to use it, you at least need to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2267 spend some time tuning the options and watching the output first
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2268 to make sure it is not messing up.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2269 </para></blockquote>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2270 </para></listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2271 </itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2272 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2273
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2274
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2275 <sect3 id="menc-feat-telecine-encode-mixedpi">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2276 <title>Mixed progressive and interlaced</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2277
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2278 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2279 There are two options for dealing with this category, each of
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2280 which is a compromise. You should decide based on the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2281 duration/location of each type.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2282 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2283
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2284 <itemizedlist>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2285 <listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2286 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2287 Treat it as progressive. The interlaced parts will look interlaced,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2288 and some of the interlaced fields will have to be dropped, resulting
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2289 in a bit of uneven jumpiness. You can use a postprocessing filter if
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2290 you want to, but it may slightly degrade the progressive parts.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2291 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2292
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2293 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2294 This option should definitely not be used if you want to eventually
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2295 display the video on an interlaced device (with a TV card, for
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2296 example). If you have interlaced frames in a 24000/1001 frames per
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2297 second video, they will be telecined along with the progressive
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2298 frames. Half of the interlaced "frames" will be displayed for three
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2299 fields' duration (3/(60000/1001) seconds), resulting in a flicking
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
2300 "jump back in time" effect that looks quite bad. If you
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2301 even attempt this, you <emphasis role="bold">must</emphasis> use a
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2302 deinterlacing filter like <option>lb</option> or
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2303 <option>l5</option>.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2304 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2305
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2306 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2307 It may also be a bad idea for progressive display, too. It will drop
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2308 pairs of consecutive interlaced fields, resulting in a discontinuity
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2309 that can be more visible than with the second method, which shows
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2310 some progressive frames twice. 30000/1001 frames per second interlaced
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2311 video is already a bit choppy because it really should be shown at
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2312 60000/1001 fields per second, so the duplicate frames do not stand out as
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2313 much.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2314 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2315
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2316 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2317 Either way, it is best to consider your content and how you intend to
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2318 display it. If your video is 90% progressive and you never intend to
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2319 show it on a TV, you should favor a progressive approach. If it is
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2320 only half progressive, you probably want to encode it as if it is all
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2321 interlaced.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2322 </para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2323 </listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2324
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2325 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2326 Treat it as interlaced. Some frames of the progressive parts will
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2327 need to be duplicated, resulting in uneven jumpiness. Again,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2328 deinterlacing filters may slightly degrade the progressive parts.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2329 </para></listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2330 </itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2331 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2332 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2333
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2334 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2335
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2336 <sect2 id="menc-feat-telecine-footnotes">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2337 <title>Footnotes</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2338
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2339 <orderedlist>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2340 <listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2341 <formalpara>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2342 <title>About cropping:</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2343 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2344 Video data on DVDs are stored in a format called YUV 4:2:0. In YUV
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
2345 video, luma ("brightness") and chroma ("color")
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2346 are stored separately. Because the human eye is somewhat less
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2347 sensitive to color than it is to brightness, in a YUV 4:2:0 picture
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2348 there is only one chroma pixel for every four luma pixels. In a
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2349 progressive picture, each square of four luma pixels (two on each
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2350 side) has one common chroma pixel. You must crop progressive YUV
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2351 4:2:0 to even resolutions, and use even offsets. For example,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2352 <option>crop=716:380:2:26</option> is OK but
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2353 <option>crop=716:380:3:26 </option> is not.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2354 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2355 </formalpara>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2356
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2357 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2358 When you are dealing with interlaced YUV 4:2:0, the situation is a
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2359 bit more complicated. Instead of every four luma pixels in the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2360 <emphasis>frame</emphasis> sharing a chroma pixel, every four luma
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2361 pixels in each <emphasis> field</emphasis> share a chroma
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2362 pixel. When fields are interlaced to form a frame, each scanline is
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2363 one pixel high. Now, instead of all four luma pixels being in a
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2364 square, there are two pixels side-by-side, and the other two pixels
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2365 are side-by-side two scanlines down. The two luma pixels in the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2366 intermediate scanline are from the other field, and so share a
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2367 different chroma pixel with two luma pixels two scanlines away. All
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2368 this confusion makes it necessary to have vertical crop dimensions
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2369 and offsets be multiples of four. Horizontal can stay even.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2370 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2371
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2372 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2373 For telecined video, I recommend that cropping take place after
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2374 inverse telecining. Once the video is progressive you only need to
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2375 crop by even numbers. If you really want to gain the slight speedup
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2376 that cropping first may offer, you must crop vertically by multiples
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2377 of four or else the inverse-telecine filter will not have proper data.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2378 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2379
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2380 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2381 For interlaced (not telecined) video, you must always crop
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2382 vertically by multiples of four unless you use <option>-vf
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2383 field</option> before cropping.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2384 </para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2385 </listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2386
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2387 <listitem><formalpara>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2388 <title>About encoding parameters and quality:</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2389 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2390 Just because I recommend <option>mbd=2</option> here does not mean it
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2391 should not be used elsewhere. Along with <option>trell</option>,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2392 <option>mbd=2</option> is one of the two
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2393 <systemitem class="library">libavcodec</systemitem> options that
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2394 increases quality the most, and you should always use at least those
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2395 two unless the drop in encoding speed is prohibitive (e.g. realtime
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2396 encoding). There are many other options to
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2397 <systemitem class="library">libavcodec</systemitem> that increase
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2398 encoding quality (and decrease encoding speed) but that is beyond
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2399 the scope of this document.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2400 </para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2401 </formalpara></listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2402
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2403 <listitem><formalpara>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2404 <title>About the performance of pullup:</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2405 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2406 It is safe to use <option>pullup</option> (along with <option>softskip
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2407 </option>) on progressive video, and is usually a good idea unless
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2408 the source has been definitively verified to be entirely progressive.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2409 The performace loss is small for most cases. On a bare-minimum encode,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2410 <option>pullup</option> causes <application>MEncoder</application> to
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2411 be 50% slower. Adding sound processing and advanced <option>lavcopts
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2412 </option> overshadows that difference, bringing the performance
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2413 decrease of using <option>pullup</option> down to 2%.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2414 </para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2415 </formalpara></listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2416 </orderedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2417 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2418 </sect1>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2419
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2420
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2421 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2422
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2423
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2424 <sect1 id="menc-feat-enc-libavcodec">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2425 <title>Encoding with the <systemitem class="library">libavcodec</systemitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2426 codec family</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2427
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2428 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2429 <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2430 provides simple encoding to a lot of interesting video and audio formats.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2431 You can encode to the following codecs (more or less up to date):
16541
4a9808f6cacc add some internal links between "codecs supported by mencoder" and
gpoirier
parents: 16539
diff changeset
2432 </para>
4a9808f6cacc add some internal links between "codecs supported by mencoder" and
gpoirier
parents: 16539
diff changeset
2433
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2434 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2435
16541
4a9808f6cacc add some internal links between "codecs supported by mencoder" and
gpoirier
parents: 16539
diff changeset
2436 <sect2 id="menc-feat-enc-libavcodec-video-codecs">
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2437 <title><systemitem class="library">libavcodec</systemitem>'s
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2438 video codecs</title>
16541
4a9808f6cacc add some internal links between "codecs supported by mencoder" and
gpoirier
parents: 16539
diff changeset
2439
4a9808f6cacc add some internal links between "codecs supported by mencoder" and
gpoirier
parents: 16539
diff changeset
2440 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2441 <informaltable frame="all">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2442 <tgroup cols="2">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2443 <thead>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2444 <row><entry>Video codec name</entry><entry>Description</entry></row>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2445 </thead>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2446 <tbody>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2447 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2448 <entry>mjpeg</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2449 <entry>Motion JPEG</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2450 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2451 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2452 <entry>ljpeg</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2453 <entry>lossless JPEG</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2454 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2455 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2456 <entry>h261</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2457 <entry>H.261</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2458 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2459 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2460 <entry>h263</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2461 <entry>H.263 </entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2462 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2463 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2464 <entry>h263p</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2465 <entry>H.263+</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2466 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2467 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2468 <entry>mpeg4</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2469 <entry>ISO standard MPEG-4 (DivX, Xvid compatible)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2470 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2471 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2472 <entry>msmpeg4</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2473 <entry>pre-standard MPEG-4 variant by MS, v3 (AKA DivX3)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2474 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2475 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2476 <entry>msmpeg4v2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2477 <entry>pre-standard MPEG-4 by MS, v2 (used in old ASF files)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2478 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2479 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2480 <entry>wmv1</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2481 <entry>Windows Media Video, version 1 (AKA WMV7)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2482 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2483 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2484 <entry>wmv2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2485 <entry>Windows Media Video, version 2 (AKA WMV8)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2486 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2487 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2488 <entry>rv10</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2489 <entry>RealVideo 1.0</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2490 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2491 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2492 <entry>rv20</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2493 <entry>RealVideo 2.0</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2494 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2495 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2496 <entry>mpeg1video</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2497 <entry>MPEG-1 video</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2498 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2499 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2500 <entry>mpeg2video</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2501 <entry>MPEG-2 video</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2502 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2503 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2504 <entry>huffyuv</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2505 <entry>lossless compression</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2506 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2507 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2508 <entry>asv1</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2509 <entry>ASUS Video v1</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2510 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2511 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2512 <entry>asv2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2513 <entry>ASUS Video v2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2514 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2515 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2516 <entry>ffv1</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2517 <entry>FFmpeg's lossless video codec</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2518 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2519 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2520 <entry>svq1</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2521 <entry>Sorenson video 1</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2522 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2523 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2524 <entry>flv</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2525 <entry>Sorenson H.263 used in Flash Video</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2526 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2527 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2528 <entry>dvvideo</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2529 <entry>Sony Digital Video</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2530 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2531 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2532 <entry>snow</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2533 <entry>FFmpeg's experimental wavelet-based codec</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2534 </row>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2535 </tbody>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2536 </tgroup>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2537 </informaltable>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2538
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2539 The first column contains the codec names that should be passed after the
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2540 <literal>vcodec</literal> config,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2541 like: <option>-lavcopts vcodec=msmpeg4</option>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2542 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2543
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2544 <informalexample><para>
16558
1d524afe2f9c Nits and fixes
gpoirier
parents: 16541
diff changeset
2545 An example with MJPEG compression:
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2546 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2547 mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -ovc lavc -lavcopts vcodec=mjpeg -oac copy
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2548 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2549 </para></informalexample>
16541
4a9808f6cacc add some internal links between "codecs supported by mencoder" and
gpoirier
parents: 16539
diff changeset
2550 </sect2>
4a9808f6cacc add some internal links between "codecs supported by mencoder" and
gpoirier
parents: 16539
diff changeset
2551
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2552 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2553
16541
4a9808f6cacc add some internal links between "codecs supported by mencoder" and
gpoirier
parents: 16539
diff changeset
2554 <sect2 id="menc-feat-enc-libavcodec-audio-codecs">
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2555 <title><systemitem class="library">libavcodec</systemitem>'s
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2556 audio codecs</title>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2557
16541
4a9808f6cacc add some internal links between "codecs supported by mencoder" and
gpoirier
parents: 16539
diff changeset
2558 <para>
16535
5c8e764daa25 Document lavc audio codecs
gpoirier
parents: 16502
diff changeset
2559 <informaltable frame="all">
5c8e764daa25 Document lavc audio codecs
gpoirier
parents: 16502
diff changeset
2560 <tgroup cols="2">
5c8e764daa25 Document lavc audio codecs
gpoirier
parents: 16502
diff changeset
2561 <thead>
5c8e764daa25 Document lavc audio codecs
gpoirier
parents: 16502
diff changeset
2562 <row><entry>Audio codec name</entry><entry>Description</entry></row>
5c8e764daa25 Document lavc audio codecs
gpoirier
parents: 16502
diff changeset
2563 </thead>
5c8e764daa25 Document lavc audio codecs
gpoirier
parents: 16502
diff changeset
2564 <tbody>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2565 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2566 <entry>mp2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2567 <entry>MPEG Layer 2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2568 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2569 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2570 <entry>ac3</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2571 <entry>AC3, AKA Dolby Digital</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2572 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2573 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2574 <entry>adpcm_ima_wav</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2575 <entry>IMA adaptive PCM (4 bits per sample, 4:1 compression)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2576 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2577 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2578 <entry>sonic</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2579 <entry>experimental lossy/lossless codec</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2580 </row>
16535
5c8e764daa25 Document lavc audio codecs
gpoirier
parents: 16502
diff changeset
2581 </tbody>
5c8e764daa25 Document lavc audio codecs
gpoirier
parents: 16502
diff changeset
2582 </tgroup>
5c8e764daa25 Document lavc audio codecs
gpoirier
parents: 16502
diff changeset
2583 </informaltable>
5c8e764daa25 Document lavc audio codecs
gpoirier
parents: 16502
diff changeset
2584
5c8e764daa25 Document lavc audio codecs
gpoirier
parents: 16502
diff changeset
2585 The first column contains the codec names that should be passed after the
16539
15563bd0874a minor spelling/wording/grammar fixes
diego
parents: 16535
diff changeset
2586 <literal>acodec</literal> option, like: <option>-lavcopts acodec=ac3</option>
16535
5c8e764daa25 Document lavc audio codecs
gpoirier
parents: 16502
diff changeset
2587 </para>
5c8e764daa25 Document lavc audio codecs
gpoirier
parents: 16502
diff changeset
2588
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2589 <informalexample><para>
16558
1d524afe2f9c Nits and fixes
gpoirier
parents: 16541
diff changeset
2590 An example with AC3 compression:
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2591 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2592 mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -oac lavc -lavcopts acodec=ac3 -ovc copy
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2593 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2594 </para></informalexample>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2595
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2596 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2597 Contrary to <systemitem class="library">libavcodec</systemitem>'s video
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2598 codecs, its audio codecs do not make a wise usage of the bits they are
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2599 given as they lack some minimal psychoacoustic model (if at all)
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2600 which most other codec implementations feature.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2601 However, note that all these audio codecs are very fast and work
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2602 out-of-the-box everywhere <application>MEncoder</application> has been
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2603 compiled with <systemitem class="library">libavcodec</systemitem> (which
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2604 is the case most of time), and do not depend on external libraries.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2605 </para>
16541
4a9808f6cacc add some internal links between "codecs supported by mencoder" and
gpoirier
parents: 16539
diff changeset
2606 </sect2>
4a9808f6cacc add some internal links between "codecs supported by mencoder" and
gpoirier
parents: 16539
diff changeset
2607
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2608 <!-- ********** -->
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2609
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2610 <sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2611 <title>Encoding options of libavcodec</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2612
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2613 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2614 Ideally, you would probably want to be able to just tell the encoder to switch
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2615 into "high quality" mode and move on.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2616 That would probably be nice, but unfortunately hard to implement as different
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2617 encoding options yield different quality results depending on the source
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2618 material. That is because compression depends on the visual properties of the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2619 video in question.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2620 For example, anime and live action have very different properties and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2621 thus require different options to obtain optimum encoding.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2622 The good news is that some options should never be left out, like
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2623 <option>mbd=2</option>, <option>trell</option>, and <option>v4mv</option>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2624 See below for a detailed description of common encoding options.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2625 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2626
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2627 <itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2628 <title>Options to adjust:</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2629 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2630 <emphasis role="bold">vmax_b_frames</emphasis>: 1 or 2 is good, depending on
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2631 the movie.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2632 Note that if you need to have your encode be decodable by DivX5, you
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2633 need to activate closed GOP support, using
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2634 <systemitem class="library">libavcodec</systemitem>'s <option>cgop</option>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2635 option, but you need to deactivate scene detection, which
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2636 is not a good idea as it will hurt encode efficiency a bit.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2637 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2638 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2639 <emphasis role="bold">vb_strategy=1</emphasis>: helps in high-motion scenes.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2640 On some videos, vmax_b_frames may hurt quality, but vmax_b_frames=2 along
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2641 with vb_strategy=1 helps.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2642 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2643 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2644 <emphasis role="bold">dia</emphasis>: motion search range. Bigger is better
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2645 and slower.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2646 Negative values are a completely different scale.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2647 Good values are -1 for a fast encode, or 2-4 for slower.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2648 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2649 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2650 <emphasis role="bold">predia</emphasis>: motion search pre-pass.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2651 Not as important as dia. Good values are 1 (default) to 4. Requires preme=2
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2652 to really be useful.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2653 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2654 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2655 <emphasis role="bold">cmp, subcmp, precmp</emphasis>: Comparison function for
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2656 motion estimation.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2657 Experiment with values of 0 (default), 2 (hadamard), 3 (dct), and 6 (rate
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2658 distortion).
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2659 0 is fastest, and sufficient for precmp.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2660 For cmp and subcmp, 2 is good for anime, and 3 is good for live action.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2661 6 may or may not be slightly better, but is slow.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2662 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2663 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2664 <emphasis role="bold">last_pred</emphasis>: Number of motion predictors to
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2665 take from the previous frame.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2666 1-3 or so help at little speed cost.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2667 Higher values are slow for no extra gain.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2668 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2669 <listitem><para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2670 <emphasis role="bold">cbp, mv0</emphasis>: Controls the selection of
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2671 macroblocks. Small speed cost for small quality gain.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2672 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2673 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2674 <emphasis role="bold">qprd</emphasis>: adaptive quantization based on the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2675 macroblock's complexity.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2676 May help or hurt depending on the video and other options.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2677 This can cause artifacts unless you set vqmax to some reasonably small value
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2678 (6 is good, maybe as low as 4); vqmin=1 should also help.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2679 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2680 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2681 <emphasis role="bold">qns</emphasis>: very slow, especially when combined
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2682 with qprd.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2683 This option will make the encoder minimize noise due to compression
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2684 artifacts instead of making the encoded video strictly match the source.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2685 Do not use this unless you have already tweaked everything else as far as it
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2686 will go and the results still are not good enough.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2687 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2688 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2689 <emphasis role="bold">vqcomp</emphasis>: Tweak ratecontrol.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2690 What values are good depends on the movie.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2691 You can safely leave this alone if you want.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2692 Reducing vqcomp puts more bits on low-complexity scenes, increasing it puts
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2693 them on high-complexity scenes (default: 0.5, range: 0-1. recommended range:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2694 0.5-0.7).
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2695 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2696 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2697 <emphasis role="bold">vlelim, vcelim</emphasis>: Sets the single coefficient
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2698 elimination threshold for luminance and chroma planes.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2699 These are encoded separately in all MPEG-like algorithms.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2700 The idea behind these options is to use some good heuristics to determine
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2701 when the change in a block is less than the threshold you specify, and in
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2702 such a case, to just encode the block as "no change".
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2703 This saves bits and perhaps speeds up encoding. vlelim=-4 and vcelim=9
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2704 seem to be good for live movies, but seem not to help with anime;
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2705 when encoding animation, you should probably leave them unchanged.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2706 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2707 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2708 <emphasis role="bold">qpel</emphasis>: Quarter pixel motion estimation.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2709 MPEG-4 uses half pixel precision for its motion search by default,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2710 therefore this option comes with an overhead as more information will be
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2711 stored in the encoded file.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2712 The compression gain/loss depends on the movie, but it is usually not very
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2713 effective on anime.
16605
58adc79e3feb Random fixes and more coherency
gpoirier
parents: 16599
diff changeset
2714 qpel always incurs a significant cost in CPU decode time (+25% in
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2715 practice).
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2716 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2717 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2718 <emphasis role="bold">psnr</emphasis>: does not affect the actual encoding,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2719 but writes a log file giving the type/size/quality of each frame, and
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2720 prints a summary of PSNR (Peak Signal to Noise Ratio) at the end.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2721 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2722 </itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2723
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2724 <itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2725 <title>Options not recommended to play with:</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2726 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2727 <emphasis role="bold">vme</emphasis>: The default is best.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2728 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2729 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2730 <emphasis role="bold">lumi_mask, dark_mask</emphasis>: Psychovisual adaptive
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2731 quantization.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2732 You do not want to play with those options if you care about quality.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2733 Reasonable values may be effective in your case, but be warned this is very
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2734 subjective.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2735 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2736 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2737 <emphasis role="bold">scplx_mask</emphasis>: Tries to prevent blocky
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2738 artifacts, but postprocessing is better.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2739 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2740 </itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2741 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2742
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2743 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2744
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2745 <sect2 id="menc-feat-mpeg4-lavc-example-settings">
16599
ec3b4dcfc5f9 Nits noticed by Diego
gpoirier
parents: 16596
diff changeset
2746 <title>Encoding setting examples</title>
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2747
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2748 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2749 The following settings are examples of different encoding
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2750 option combinations that affect the speed vs quality tradeoff
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2751 at the same target bitrate.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2752 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2753
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2754 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2755 All the encoding settings were tested on a 720x448 @30000/1001 fps
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2756 video sample, the target bitrate was 900kbps, and the machine was an
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2757 AMD-64 3400+ at 2400 MHz in 64 bits mode.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2758 Each encoding setting features the measured encoding speed (in
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2759 frames per second) and the PSNR loss (in dB) compared to the "very
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2760 high quality" setting.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2761 Please understand that depending on your source, your machine type
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2762 and development advancements, you may get very different results.
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2763 </para>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2764
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2765 <para>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2766 <informaltable frame="all">
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2767 <tgroup cols="4">
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2768 <thead>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2769 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2770 <entry>Description</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2771 <entry>Encoding options</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2772 <entry>speed (in fps)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2773 <entry>Relative PSNR loss (in dB)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2774 </row>
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2775 </thead>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2776 <tbody>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2777 <row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2778 <entry>Very high quality</entry>
17103
9722eecad127 fixes suggested by The Wanderer and Corey
gpoirier
parents: 17070
diff changeset
2779 <entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry>
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2780 <entry>6fps</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2781 <entry>0dB</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2782 </row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2783 <row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2784 <entry>High quality</entry>
16606
7a06ad5c5b2c the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents: 16605
diff changeset
2785 <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry>
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2786 <entry>15fps</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2787 <entry>-0.5dB</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2788 </row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2789 <row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2790 <entry>Fast</entry>
16606
7a06ad5c5b2c the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents: 16605
diff changeset
2791 <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry>
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2792 <entry>42fps</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2793 <entry>-0.74dB</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2794 </row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2795 <row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2796 <entry>Realtime</entry>
16606
7a06ad5c5b2c the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents: 16605
diff changeset
2797 <entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry>
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2798 <entry>54fps</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2799 <entry>-1.21dB</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2800 </row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2801 </tbody>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2802 </tgroup>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2803 </informaltable>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2804 </para>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
2805 </sect2>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2806
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2807 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2808
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2809 <sect2 id="custommatrices">
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2810 <title>Custom inter/intra matrices</title>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2811
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2812 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2813 With this feature of
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2814 <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2815 you are able to set custom inter (I-frames/keyframes) and intra
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2816 (P-frames/predicted frames) matrices. It is supported by many of the codecs:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2817 <systemitem>mpeg1video</systemitem> and <systemitem>mpeg2video</systemitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2818 are reported as working.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2819 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2820
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2821 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2822 A typical usage of this feature is to set the matrices preferred by the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2823 <ulink url="http://www.kvcd.net/">KVCD</ulink> specifications.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2824 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2825
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2826 <para>
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
2827 The <emphasis role="bold">KVCD "Notch" Quantization Matrix:</emphasis>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2828 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2829
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2830 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2831 Intra:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2832 <screen>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2833 8 9 12 22 26 27 29 34
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2834 9 10 14 26 27 29 34 37
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2835 12 14 18 27 29 34 37 38
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2836 22 26 27 31 36 37 38 40
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2837 26 27 29 36 39 38 40 48
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2838 27 29 34 37 38 40 48 58
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2839 29 34 37 38 40 48 58 69
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2840 34 37 38 40 48 58 69 79
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2841 </screen>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2842
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2843 Inter:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2844 <screen>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2845 16 18 20 22 24 26 28 30
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2846 18 20 22 24 26 28 30 32
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2847 20 22 24 26 28 30 32 34
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2848 22 24 26 30 32 32 34 36
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2849 24 26 28 32 34 34 36 38
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2850 26 28 30 32 34 36 38 40
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2851 28 30 32 34 36 38 42 42
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2852 30 32 34 36 38 40 42 44
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2853 </screen>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2854 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2855
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2856 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2857 Usage:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2858 <screen>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2859 mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2860 -lavcopts inter_matrix=...:intra_matrix=...
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2861 </screen>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2862 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2863
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2864 <para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2865 <screen>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2866 mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2867 vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,\
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2868 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,\
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2869 29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79\
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2870 :inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,\
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2871 28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,\
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2872 36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2873 </screen>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2874 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2875 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2876
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2877 <!-- ********** -->
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2878
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2879 <sect2 id="menc-feat-dvd-mpeg4-example">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2880 <title>Example</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2881
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
2882 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2883 So, you have just bought your shiny new copy of Harry Potter and the Chamber
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2884 of Secrets (widescreen edition, of course), and you want to rip this DVD
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2885 so that you can add it to your Home Theatre PC. This is a region 1 DVD,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2886 so it is NTSC. The example below will still apply to PAL, except you will
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2887 omit <option>-ofps 24000/1001</option> (because the output framerate is the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2888 same as the input framerate), and of course the crop dimensions will be
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2889 different.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2890 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2891
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2892 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2893 After running <option>mplayer dvd://1</option>, we follow the process
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2894 detailed in the section <link linkend="menc-feat-telecine">How to deal
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2895 with telecine and interlacing in NTSC DVDs</link> and discover that it is
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2896 24000/1001 fps progressive video, which means that we need not use an inverse
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2897 telecine filter, such as <option>pullup</option> or
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2898 <option>filmdint</option>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2899 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2900
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
2901 <para id="menc-feat-dvd-mpeg4-example-crop">
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2902 Next, we want to determine the appropriate crop rectangle, so we use the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2903 cropdetect filter:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2904 <screen>mplayer dvd://1 -vf cropdetect</screen>
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
2905 Make sure you seek to a fully filled frame (such as a bright scene,
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
2906 past the opening credits and logos), and
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2907 you will see in <application>MPlayer</application>'s console output:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2908 <screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2909 We then play the movie back with this filter to test its correctness:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2910 <screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2911 And we see that it looks perfectly fine. Next, we ensure the width and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2912 height are a multiple of 16. The width is fine, however the height is
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2913 not. Since we did not fail 7th grade math, we know that the nearest
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2914 multiple of 16 lower than 362 is 352.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2915 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2916
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2917 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2918 We could just use <option>crop=720:352:0:58</option>, but it would be nice
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2919 to take a little off the top and a little off the bottom so that we
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2920 retain the center. We have shrunk the height by 10 pixels, but we do not
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2921 want to increase the y-offset by 5-pixels since that is an odd number and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2922 will adversely affect quality. Instead, we will increase the y-offset by
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2923 4 pixels:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2924 <screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2925 Another reason to shave pixels from both the top and the bottom is that we
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2926 ensure we have eliminated any half-black pixels if they exist. Note that if
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2927 your video is telecined, make sure the <option>pullup</option> filter (or
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2928 whichever inverse telecine filter you decide to use) appears in the filter
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2929 chain before you crop. If it is interlaced, deinterlace before cropping.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2930 (If you choose to preserve the interlaced video, then make sure your
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2931 vertical crop offset is a multiple of 4.)
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2932 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2933
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2934 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2935 If you are really concerned about losing those 10 pixels, you might
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2936 prefer instead to scale the dimensions down to the nearest multiple of 16.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2937 The filter chain would look like:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2938 <screen>-vf crop=720:362:0:58,scale=720:352</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2939 Scaling the video down like this will mean that some small amount of
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2940 detail is lost, though it probably will not be perceptible. Scaling up will
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2941 result in lower quality (unless you increase the bitrate). Cropping
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2942 discards those pixels altogether. It is a tradeoff that you will want to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2943 consider for each circumstance. For example, if the DVD video was made
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2944 for television, you might want to avoid vertical scaling, since the line
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2945 sampling corresponds to the way the content was originally recorded.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2946 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2947
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2948 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2949 On inspection, we see that our movie has a fair bit of action and high
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2950 amounts of detail, so we pick 2400Kbit for our bitrate.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2951 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2952
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2953 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2954 We are now ready to do the two pass encode. Pass one:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2955 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2956 mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
21830
01bb9c073e77 clarify a few things about the interaction between *cmp and mbd options
gpoirier
parents: 21784
diff changeset
2957 -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=1 \
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2958 -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2959 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2960 And pass two is the same, except that we specify <option>vpass=2</option>:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2961 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2962 mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
21830
01bb9c073e77 clarify a few things about the interaction between *cmp and mbd options
gpoirier
parents: 21784
diff changeset
2963 -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=2 \
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2964 -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2965 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2966 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2967
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2968 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2969 The options <option>v4mv:mbd=2:trell</option> will greatly increase the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2970 quality at the expense of encoding time. There is little reason to leave
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2971 these options out when the primary goal is quality. The options
21830
01bb9c073e77 clarify a few things about the interaction between *cmp and mbd options
gpoirier
parents: 21784
diff changeset
2972 <option>cmp=3:subcmp=3</option> select a comparison function that
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2973 yields higher quality than the defaults. You might try experimenting with
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2974 this parameter (refer to the man page for the possible values) as
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2975 different functions can have a large impact on quality depending on the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2976 source material. For example, if you find
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2977 <systemitem class="library">libavcodec</systemitem> produces too much
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2978 blocky artifacting, you could try selecting the experimental NSSE as
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2979 comparison function via <option>*cmp=10</option>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2980 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2981
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2982 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2983 For this movie, the resulting AVI will be 138 minutes long and nearly
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2984 3GB. And because you said that file size does not matter, this is a
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2985 perfectly acceptable size. However, if you had wanted it smaller, you
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2986 could try a lower bitrate. Increasing bitrates have diminishing
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2987 returns, so while we might clearly see an improvement from 1800Kbit to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2988 2000Kbit, it might not be so noticeable above 2000Kbit. Feel
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2989 free to experiment until you are happy.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2990 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2991
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2992 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2993 Because we passed the source video through a denoise filter, you may want
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2994 to add some of it back during playback. This, along with the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2995 <option>spp</option> post-processing filter, drastically improves the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2996 perception of quality and helps eliminate blocky artifacts in the video.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2997 With <application>MPlayer</application>'s <option>autoq</option> option,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2998 you can vary the amount of post-processing done by the spp filter
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
2999 depending on available CPU. Also, at this point, you may want to apply
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3000 gamma and/or color correction to best suit your display. For example:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3001 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3002 mplayer <replaceable>Harry_Potter_2.avi</replaceable> -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3003 </screen>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3004 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3005 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3006 </sect1>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3007
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3008
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3009 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3010
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3011
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3012 <sect1 id="menc-feat-xvid">
20860
f95698d9d53c rename: XviD -> Xvid
kraymer
parents: 20667
diff changeset
3013 <title>Encoding with the <systemitem class="library">Xvid</systemitem>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3014 codec</title>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3015
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3016 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3017 <systemitem class="library">Xvid</systemitem> is a free library for
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3018 encoding MPEG-4 ASP video streams.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3019 Before starting to encode, you need to <link linkend="xvid">
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3020 set up <application>MEncoder</application> to support it</link>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3021 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3022
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3023 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3024 This guide mainly aims at featuring the same kind of information
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3025 as x264's encoding guide.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3026 Therefore, please begin by reading
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3027 <link linkend="menc-feat-x264-encoding-options-intro">the first part</link>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3028 of that guide.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3029 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3030
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3031 <!-- ********** -->
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3032
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3033 <sect2 id="menc-feat-xvid-intro">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3034 <title>What options should I use to get the best results?</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3035
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3036 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3037 Please begin by reviewing the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3038 <systemitem class="library">Xvid</systemitem> section of
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3039 <application>MPlayer</application>'s man page.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3040 This section is intended to be a supplement to the man page.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3041 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3042
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3043 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3044 The Xvid default settings are already a good tradeoff between
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3045 speed and quality, therefore you can safely stick to them if
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3046 the following section puzzles you.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3047 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3048 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3049
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3050 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3051
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3052 <sect2 id="menc-feat-xvid-encoding-options">
20860
f95698d9d53c rename: XviD -> Xvid
kraymer
parents: 20667
diff changeset
3053 <title>Encoding options of <systemitem class="library">Xvid</systemitem></title>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3054
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3055 <itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3056 <listitem><para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3057 <emphasis role="bold">vhq</emphasis>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3058 This setting affects the macroblock decision algorithm, where the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3059 higher the setting, the wiser the decision.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3060 The default setting may be safely used for every encode, while
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3061 higher settings always help PSNR but are significantly slower.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3062 Please note that a better PSNR does not necessarily mean
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3063 that the picture will look better, but tells you that it is
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3064 closer to the original.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3065 Turning it off will noticeably speed up encoding; if speed is
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3066 critical for you, the tradeoff may be worth it.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3067 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3068 <listitem><para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3069 <emphasis role="bold">bvhq</emphasis>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3070 This does the same job as vhq, but does it on B-frames.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3071 It has a negligible impact on speed, and slightly improves quality
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3072 (around +0.1dB PSNR).
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3073 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3074 <listitem><para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3075 <emphasis role="bold">max_bframes</emphasis>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3076 A higher number of consecutive allowed B-frames usually improves
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3077 compressibility, although it may also lead to more blocking artifacts.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3078 The default setting is a good tradeoff between compressibility and
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3079 quality, but you may increase it up to 3 if you are bitrate-starved.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3080 You may also decrease it to 1 or 0 if you are aiming at perfect
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3081 quality, though in that case you should make sure your
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3082 target bitrate is high enough to ensure that the encoder does not
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3083 have to increase quantizers to reach it.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3084 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3085 <listitem><para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3086 <emphasis role="bold">bf_threshold</emphasis>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3087 This controls the B-frame sensitivity of the encoder, where a higher
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3088 value leads to more B-frames being used (and vice versa).
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3089 This setting is to be used together with <option>max_bframes</option>;
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3090 if you are bitrate-starved, you should increase both
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3091 <option>max_bframes</option> and <option>bf_threshold</option>,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3092 while you may increase <option>max_bframes</option> and reduce
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3093 <option>bf_threshold</option> so that the encoder may use more
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3094 B-frames in places that only <emphasis role="bold">really</emphasis>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3095 need them.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3096 A low number of <option>max_bframes</option> and a high value of
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3097 <option>bf_threshold</option> is probably not a wise choice as it
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3098 will force the encoder to put B-frames in places that would not
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3099 benefit from them, therefore reducing visual quality.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3100 However, if you need to be compatible with standalone players that
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3101 only support old DivX profiles (which only supports up to 1
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3102 consecutive B-frame), this would be your only way to
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3103 increase compressibility through using B-frames.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3104 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3105 <listitem><para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3106 <emphasis role="bold">trellis</emphasis>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3107 Optimizes the quantization process to get an optimal tradeoff
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3108 between PSNR and bitrate, which allows significant bit saving.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3109 These bits will in return be spent elsewhere on the video,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3110 raising overall visual quality.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3111 You should always leave it on as its impact on quality is huge.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3112 Even if you are looking for speed, do not disable it until you
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3113 have turned down <option>vhq</option> and all other more
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3114 CPU-hungry options to the minimum.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3115 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3116 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3117 <emphasis role="bold">hq_ac</emphasis>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3118 Activates a better coefficient cost estimation method, which slightly
16605
58adc79e3feb Random fixes and more coherency
gpoirier
parents: 16599
diff changeset
3119 reduces filesize by around 0.15 to 0.19% (which corresponds to less
58adc79e3feb Random fixes and more coherency
gpoirier
parents: 16599
diff changeset
3120 than 0.01dB PSNR increase), while having a negligible impact on speed.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3121 It is therefore recommended to always leave it on.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3122 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3123 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3124 <emphasis role="bold">cartoon</emphasis>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3125 Designed to better encode cartoon content, and has no impact on
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3126 speed as it just tunes the mode decision heuristics for this type
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3127 of content.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3128 </para></listitem>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3129 <listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3130 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3131 <emphasis role="bold">me_quality</emphasis>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3132 This setting is to control the precision of the motion estimation.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3133 The higher <option>me_quality</option>, the more
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3134 precise the estimation of the original motion will be, and the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3135 better the resulting clip will capture the original motion.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3136 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3137 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3138 The default setting is best in all cases;
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3139 thus it is not recommended to turn it down unless you are
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3140 really looking for speed, as all the bits saved by a good motion
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3141 estimation would be spent elsewhere, raising overall quality.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3142 Therefore, do not go any lower than 5, and even that only as a last
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3143 resort.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3144 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3145 </listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3146 <listitem><para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3147 <emphasis role="bold">chroma_me</emphasis>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3148 Improves motion estimation by also taking the chroma (color)
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3149 information into account, whereas <option>me_quality</option>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3150 alone only uses luma (grayscale).
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3151 This slows down encoding by 5-10% but improves visual quality
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3152 quite a bit by reducing blocking effects and reduces filesize by
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3153 around 1.3%.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3154 If you are looking for speed, you should disable this option before
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3155 starting to consider reducing <option>me_quality</option>.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3156 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3157 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3158 <emphasis role="bold">chroma_opt</emphasis>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3159 Is intended to increase chroma image quality around pure
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3160 white/black edges, rather than improving compression.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3161 This can help to reduce the "red stairs" effect.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3162 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3163 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3164 <emphasis role="bold">lumi_mask</emphasis>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3165 Tries to give less bitrate to part of the picture that the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3166 human eye cannot see very well, which should allow the encoder
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3167 to spend the saved bits on more important parts of the picture.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3168 The quality of the encode yielded by this option highly depends
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3169 on personal preferences and on the type and monitor settings
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3170 used to watch it (typically, it will not look as good if it is
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3171 bright or if it is a TFT monitor).
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3172 </para></listitem>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3173 <listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3174 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3175 <emphasis role="bold">qpel</emphasis>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3176 Raise the number of candidate motion vectors by increasing
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3177 the precision of the motion estimation from halfpel to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3178 quarterpel.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3179 The idea is to find better motion vectors which will in return
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3180 reduce bitrate (hence increasing quality).
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3181 However, motion vectors with quarterpel precision require a
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3182 few extra bits to code, but the candidate vectors do not always
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3183 give (much) better results.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3184 Quite often, the codec still spends bits on the extra precision,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3185 but little or no extra quality is gained in return.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3186 Unfortunately, there is no way to foresee the possible gains of
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3187 <option>qpel</option>, so you need to actually encode with and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3188 without it to know for sure.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3189 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3190 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3191 <option>qpel</option> can be almost double encoding time, and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3192 requires as much as 25% more processing power to decode.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3193 It is not supported by all standalone players.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3194 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3195 </listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3196 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3197 <emphasis role="bold">gmc</emphasis>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3198 Tries to save bits on panning scenes by using a single motion
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3199 vector for the whole frame.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3200 This almost always raises PSNR, but significantly slows down
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3201 encoding (as well as decoding).
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3202 Therefore, you should only use it when you have turned
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3203 <option>vhq</option> to the maximum.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3204 <systemitem class="library">Xvid</systemitem>'s GMC is more
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3205 sophisticated than DivX's, but is only supported by few
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3206 standalone players.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3207 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3208 </itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3209 </sect2>
16486
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3210
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3211 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3212
16486
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3213 <sect2 id="menc-feat-xvid-encoding-profiles">
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3214 <title>Encoding profiles</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3215
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3216 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3217 Xvid supports encoding profiles through the <option>profile</option> option,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3218 which are used to impose restrictions on the properties of the Xvid video
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3219 stream such that it will be playable on anything which supports the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3220 chosen profile.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3221 The restrictions relate to resolutions, bitrates and certain MPEG-4
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3222 features.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3223 The following table shows what each profile supports.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3224 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3225
16486
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3226 <informaltable>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3227 <tgroup cols="16" align="center">
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3228 <colspec colnum="1" colname="col1"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3229 <colspec colnum="2" colname="col2"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3230 <colspec colnum="3" colname="col3"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3231 <colspec colnum="4" colname="col4"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3232 <colspec colnum="5" colname="col5"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3233 <colspec colnum="6" colname="col6"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3234 <colspec colnum="7" colname="col7"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3235 <colspec colnum="8" colname="col8"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3236 <colspec colnum="9" colname="col9"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3237 <colspec colnum="10" colname="col10"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3238 <colspec colnum="11" colname="col11"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3239 <colspec colnum="12" colname="col12"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3240 <colspec colnum="13" colname="col13"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3241 <colspec colnum="14" colname="col14"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3242 <colspec colnum="15" colname="col15"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3243 <colspec colnum="16" colname="col16"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3244 <colspec colnum="17" colname="col17"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3245 <spanspec spanname="spa2-5" namest="col2" nameend="col5"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3246 <spanspec spanname="spa6-11" namest="col6" nameend="col11"/>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3247 <spanspec spanname="spa12-17" namest="col12" nameend="col17"/>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3248 <tbody>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3249 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3250 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3251 <entry spanname="spa2-5">Simple</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3252 <entry spanname="spa6-11">Advanced Simple</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3253 <entry spanname="spa12-17">DivX</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3254 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3255 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3256 <entry>Profile name</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3257 <entry>0</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3258 <entry>1</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3259 <entry>2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3260 <entry>3</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3261 <entry>0</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3262 <entry>1</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3263 <entry>2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3264 <entry>3</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3265 <entry>4</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3266 <entry>5</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3267 <entry>Handheld</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3268 <entry>Portable NTSC</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3269 <entry>Portable PAL</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3270 <entry>Home Theater NTSC</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3271 <entry>Home Theater PAL</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3272 <entry>HDTV</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3273 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3274 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3275 <entry>Width [pixels]</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3276 <entry>176</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3277 <entry>176</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3278 <entry>352</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3279 <entry>352</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3280 <entry>176</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3281 <entry>176</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3282 <entry>352</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3283 <entry>352</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3284 <entry>352</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3285 <entry>720</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3286 <entry>176</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3287 <entry>352</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3288 <entry>352</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3289 <entry>720</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3290 <entry>720</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3291 <entry>1280</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3292 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3293 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3294 <entry>Height [pixels]</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3295 <entry>144</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3296 <entry>144</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3297 <entry>288</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3298 <entry>288</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3299 <entry>144</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3300 <entry>144</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3301 <entry>288</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3302 <entry>288</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3303 <entry>576</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3304 <entry>576</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3305 <entry>144</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3306 <entry>240</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3307 <entry>288</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3308 <entry>480</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3309 <entry>576</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3310 <entry>720</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3311 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3312 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3313 <entry>Frame rate [fps]</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3314 <entry>15</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3315 <entry>15</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3316 <entry>15</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3317 <entry>15</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3318 <entry>30</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3319 <entry>30</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3320 <entry>15</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3321 <entry>30</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3322 <entry>30</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3323 <entry>30</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3324 <entry>15</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3325 <entry>30</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3326 <entry>25</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3327 <entry>30</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3328 <entry>25</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3329 <entry>30</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3330 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3331 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3332 <entry>Max average bitrate [kbps]</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3333 <entry>64</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3334 <entry>64</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3335 <entry>128</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3336 <entry>384</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3337 <entry>128</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3338 <entry>128</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3339 <entry>384</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3340 <entry>768</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3341 <entry>3000</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3342 <entry>8000</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3343 <entry>537.6</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3344 <entry>4854</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3345 <entry>4854</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3346 <entry>4854</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3347 <entry>4854</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3348 <entry>9708.4</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3349 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3350 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3351 <entry>Peak average bitrate over 3 secs [kbps]</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3352 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3353 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3354 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3355 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3356 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3357 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3358 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3359 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3360 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3361 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3362 <entry>800</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3363 <entry>8000</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3364 <entry>8000</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3365 <entry>8000</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3366 <entry>8000</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3367 <entry>16000</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3368 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3369 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3370 <entry>Max. B-frames</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3371 <entry>0</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3372 <entry>0</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3373 <entry>0</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3374 <entry>0</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3375 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3376 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3377 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3378 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3379 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3380 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3381 <entry>0</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3382 <entry>1</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3383 <entry>1</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3384 <entry>1</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3385 <entry>1</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3386 <entry>2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3387 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3388 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3389 <entry>MPEG quantization</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3390 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3391 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3392 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3393 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3394 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3395 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3396 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3397 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3398 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3399 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3400 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3401 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3402 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3403 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3404 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3405 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3406 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3407 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3408 <entry>Adaptive quantization</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3409 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3410 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3411 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3412 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3413 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3414 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3415 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3416 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3417 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3418 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3419 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3420 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3421 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3422 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3423 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3424 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3425 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3426 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3427 <entry>Interlaced encoding</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3428 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3429 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3430 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3431 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3432 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3433 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3434 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3435 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3436 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3437 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3438 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3439 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3440 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3441 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3442 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3443 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3444 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3445 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3446 <entry>Quaterpixel</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3447 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3448 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3449 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3450 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3451 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3452 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3453 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3454 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3455 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3456 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3457 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3458 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3459 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3460 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3461 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3462 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3463 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3464 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3465 <entry>Global motion compensation</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3466 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3467 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3468 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3469 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3470 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3471 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3472 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3473 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3474 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3475 <entry>X</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3476 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3477 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3478 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3479 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3480 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3481 <entry></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3482 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3483 </tbody>
16486
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3484 </tgroup>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3485 </informaltable>
e017e67b8660 Illustrate by a nice table what each profiles supported by XviD features.
gpoirier
parents: 16420
diff changeset
3486 </sect2>
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3487
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3488 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3489
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3490 <sect2 id="menc-feat-xvid-example-settings">
16599
ec3b4dcfc5f9 Nits noticed by Diego
gpoirier
parents: 16596
diff changeset
3491 <title>Encoding setting examples</title>
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3492
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3493 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3494 The following settings are examples of different encoding
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3495 option combinations that affect the speed vs quality tradeoff
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3496 at the same target bitrate.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3497 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3498
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3499 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3500 All the encoding settings were tested on a 720x448 @30000/1001 fps
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3501 video sample, the target bitrate was 900kbps, and the machine was an
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3502 AMD-64 3400+ at 2400 MHz in 64 bits mode.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3503 Each encoding setting features the measured encoding speed (in
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3504 frames per second) and the PSNR loss (in dB) compared to the "very
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3505 high quality" setting.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3506 Please understand that depending on your source, your machine type
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3507 and development advancements, you may get very different results.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3508 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3509
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3510 <informaltable frame="all">
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3511 <tgroup cols="4">
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3512 <thead>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3513 <row><entry>Description</entry><entry>Encoding options</entry><entry>speed (in fps)</entry><entry>Relative PSNR loss (in dB)</entry></row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3514 </thead>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3515 <tbody>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3516 <row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3517 <entry>Very high quality</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3518 <entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3519 <entry>16fps</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3520 <entry>0dB</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3521 </row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3522 <row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3523 <entry>High quality</entry>
16606
7a06ad5c5b2c the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents: 16605
diff changeset
3524 <entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry>
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3525 <entry>18fps</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3526 <entry>-0.1dB</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3527 </row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3528 <row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3529 <entry>Fast</entry>
16606
7a06ad5c5b2c the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents: 16605
diff changeset
3530 <entry><option>turbo:vhq=0</option></entry>
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3531 <entry>28fps</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3532 <entry>-0.69dB</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3533 </row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3534 <row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3535 <entry>Realtime</entry>
16606
7a06ad5c5b2c the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents: 16605
diff changeset
3536 <entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry>
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3537 <entry>38fps</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3538 <entry>-1.48dB</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3539 </row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3540 </tbody>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3541 </tgroup>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3542 </informaltable>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
3543 </sect2>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3544 </sect1>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3545
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3546
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3547 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3548
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3549
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3550 <sect1 id="menc-feat-x264">
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3551 <title>Encoding with the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3552 <systemitem class="library">x264</systemitem> codec</title>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3553
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3554 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3555 <systemitem class="library">x264</systemitem> is a free library for
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3556 encoding H.264/AVC video streams.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3557 Before starting to encode, you need to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3558 <link linkend="codec-x264-encode">set up <application>MEncoder</application> to support it</link>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3559 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3560
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3561 <!-- ********** -->
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3562
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3563 <sect2 id="menc-feat-x264-encoding-options">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3564 <title>Encoding options of x264</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3565
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3566 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3567 Please begin by reviewing the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3568 <systemitem class="library">x264</systemitem> section of
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3569 <application>MPlayer</application>'s man page.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3570 This section is intended to be a supplement to the man page.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3571 Here you will find quick hints about which options are most
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3572 likely to interest most people. The man page is more terse,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3573 but also more exhaustive, and it sometimes offers much better
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3574 technical detail.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3575 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3576
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3577
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3578 <sect3 id="menc-feat-x264-encoding-options-intro">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3579 <title>Introduction</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3580
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3581 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3582 This guide considers two major categories of encoding options:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3583 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3584
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3585 <orderedlist>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3586 <listitem><para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3587 Options which mainly trade off encoding time vs. quality
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3588 </para></listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3589 <listitem><para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3590 Options which may be useful for fulfilling various personal
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3591 preferences and special requirements
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3592 </para></listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3593 </orderedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3594
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3595 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3596 Ultimately, only you can decide which options are best for your
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3597 purposes. The decision for the first class of options is the simplest:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3598 you only have to decide whether you think the quality differences
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3599 justify the speed differences. For the second class of options,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3600 preferences may be far more subjective, and more factors may be
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
3601 involved. Note that some of the "personal preferences and special
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
3602 requirements" options can still have large impacts on speed or quality,
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3603 but that is not what they are primarily useful for. A couple of the
21596
f551403d82a9 replace &quot; with ", better readability
torinthiel
parents: 21583
diff changeset
3604 "personal preference" options may even cause changes that look better
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3605 to some people, but look worse to others.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3606 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3607
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3608 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3609 Before continuing, you need to understand that this guide uses only one
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3610 quality metric: global PSNR.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3611 For a brief explanation of what PSNR is, see
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3612 <ulink url="http://en.wikipedia.org/wiki/PSNR">the Wikipedia article on PSNR</ulink>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3613 Global PSNR is the last PSNR number reported when you include
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3614 the <option>psnr</option> option in <option>x264encopts</option>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3615 Any time you read a claim about PSNR, one of the assumptions
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3616 behind the claim is that equal bitrates are used.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3617 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3618
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3619 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3620 Nearly all of this guide's comments assume you are using two pass.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3621 When comparing options, there are two major reasons for using
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3622 two pass encoding.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3623 First, using two pass often gains around 1dB PSNR, which is a
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3624 very big difference.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3625 Secondly, testing options by doing direct quality comparisons
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3626 with one pass encodes introduces a major confounding
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3627 factor: bitrate often varies significantly with each encode.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3628 It is not always easy to tell whether quality changes are due
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3629 mainly to changed options, or if they mostly reflect essentially
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3630 random differences in the achieved bitrate.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3631 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3632 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3633
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3634
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3635 <sect3 id="menc-feat-x264-encoding-options-speedvquality">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3636 <title>Options which primarily affect speed and quality</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3637
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3638 <itemizedlist>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3639 <listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3640 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3641 <emphasis role="bold">subq</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3642 Of the options which allow you to trade off speed for quality,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3643 <option>subq</option> and <option>frameref</option> (see below) are usually
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3644 by far the most important.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3645 If you are interested in tweaking either speed or quality, these
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3646 are the first options you should consider.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3647 On the speed dimension, the <option>frameref</option> and
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3648 <option>subq</option> options interact with each other fairly
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3649 strongly.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3650 Experience shows that, with one reference frame,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3651 <option>subq=5</option> (the default setting) takes about 35% more time than
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3652 <option>subq=1</option>.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3653 With 6 reference frames, the penalty grows to over 60%.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3654 <option>subq</option>'s effect on PSNR seems fairly constant
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3655 regardless of the number of reference frames.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3656 Typically, <option>subq=5</option> achieves 0.2-0.5 dB higher global
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3657 PSNR in comparison <option>subq=1</option>.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3658 This is usually enough to be visible.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3659 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3660 <para>
21913
94a6b690e595 update x264's subq otion description
gpoirier
parents: 21899
diff changeset
3661 <option>subq=6</option> is slower and yields better quality at a reasonable
94a6b690e595 update x264's subq otion description
gpoirier
parents: 21899
diff changeset
3662 cost.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3663 In comparison to <option>subq=5</option>, it usually gains 0.1-0.4 dB
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3664 global PSNR with speed costs varying from 25%-100%.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3665 Unlike other levels of <option>subq</option>, the behavior of
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3666 <option>subq=6</option> does not depend much on <option>frameref</option>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3667 and <option>me</option>. Instead, the effectiveness of <option>subq=6
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3668 </option> depends mostly upon the number of B-frames used. In normal
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3669 usage, this means <option>subq=6</option> has a large impact on both speed
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3670 and quality in complex, high motion scenes, but it may not have much effect
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3671 in low-motion scenes. Note that it is still recommended to always set
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3672 <option>bframes</option> to something other than zero (see below).
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3673 </para>
21913
94a6b690e595 update x264's subq otion description
gpoirier
parents: 21899
diff changeset
3674 <para>
94a6b690e595 update x264's subq otion description
gpoirier
parents: 21899
diff changeset
3675 <option>subq=7</option> is the slowest, highest quality mode.
94a6b690e595 update x264's subq otion description
gpoirier
parents: 21899
diff changeset
3676 In comparison to <option>subq=6</option>, it usually gains 0.01-0.05 dB
94a6b690e595 update x264's subq otion description
gpoirier
parents: 21899
diff changeset
3677 global PSNR with speed costs varying from 15%-33%.
94a6b690e595 update x264's subq otion description
gpoirier
parents: 21899
diff changeset
3678 Since the tradeoff encoding time vs. quality is quite low, you should
94a6b690e595 update x264's subq otion description
gpoirier
parents: 21899
diff changeset
3679 only use it if you are after every bit saving and if encoding time is
94a6b690e595 update x264's subq otion description
gpoirier
parents: 21899
diff changeset
3680 not an issue.
94a6b690e595 update x264's subq otion description
gpoirier
parents: 21899
diff changeset
3681 </para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3682 </listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3683 <listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3684 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3685 <emphasis role="bold">frameref</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3686 <option>frameref</option> is set to 1 by default, but this
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3687 should not be taken to imply that it is reasonable to set it to 1.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3688 Merely raising <option>frameref</option> to 2 gains around
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3689 0.15dB PSNR with a 5-10% speed penalty; this seems like a good tradeoff.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3690 <option>frameref=3</option> gains around 0.25dB PSNR over
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3691 <option>frameref=1</option>, which should be a visible difference.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3692 <option>frameref=3</option> is around 15% slower than
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3693 <option>frameref=1</option>.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3694 Unfortunately, diminishing returns set in rapidly.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3695 <option>frameref=6</option> can be expected to gain only
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3696 0.05-0.1 dB over <option>frameref=3</option> at an additional
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3697 15% speed penalty.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3698 Above <option>frameref=6</option>, the quality gains are
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3699 usually very small (although you should keep in mind throughout
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3700 this whole discussion that it can vary quite a lot depending on your source).
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3701 In a fairly typical case, <option>frameref=12</option>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3702 will improve global PSNR by a tiny 0.02dB over
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3703 <option>frameref=6</option>, at a speed cost of 15%-20%.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3704 At such high <option>frameref</option> values, the only really
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3705 good thing that can be said is that increasing it even further will
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3706 almost certainly never <emphasis role="bold">harm</emphasis>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3707 PSNR, but the additional quality benefits are barely even
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3708 measurable, let alone perceptible.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3709 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3710 <note><title>Note:</title>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3711 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3712 Raising <option>frameref</option> to unnecessarily high values
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3713 <emphasis role="bold">can</emphasis> and
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3714 <emphasis role="bold">usually does</emphasis>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3715 hurt coding efficiency if you turn CABAC off.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3716 With CABAC on (the default behavior), the possibility of setting
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3717 <option>frameref</option> "too high" currently seems too remote
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3718 to even worry about, and in the future, optimizations may remove
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3719 the possibility altogether.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3720 </para></note>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3721 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3722 If you care about speed, a reasonable compromise is to use low
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3723 <option>subq</option> and <option>frameref</option> values on
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3724 the first pass, and then raise them on the second pass.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3725 Typically, this has a negligible negative effect on the final
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3726 quality: You will probably lose well under 0.1dB PSNR, which
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3727 should be much too small of a difference to see.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3728 However, different values of <option>frameref</option> can
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3729 occasionally affect frametype decision.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3730 Most likely, these are rare outlying cases, but if you want to
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3731 be pretty sure, consider whether your video has either
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3732 fullscreen repetitive flashing patterns or very large temporary
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3733 occlusions which might force an I-frame.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3734 Adjust the first-pass <option>frameref</option> so it is large
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3735 enough to contain the duration of the flashing cycle (or occlusion).
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3736 For example, if the scene flashes back and forth between two images
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3737 over a duration of three frames, set the first pass
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3738 <option>frameref</option> to 3 or higher.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3739 This issue is probably extremely rare in live action video material,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3740 but it does sometimes come up in video game captures.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3741 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3742 </listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3743 <listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3744 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3745 <emphasis role="bold">me</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3746 This option is for choosing the motion estimation search method.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3747 Altering this option provides a straightforward quality-vs-speed
20254
beca75a03355 Update x264 option names that changed with r20060
gpoirier
parents: 20037
diff changeset
3748 tradeoff. <option>me=dia</option> is only a few percent faster than
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3749 the default search, at a cost of under 0.1dB global PSNR. The
20254
beca75a03355 Update x264 option names that changed with r20060
gpoirier
parents: 20037
diff changeset
3750 default setting (<option>me=hex</option>) is a reasonable tradeoff
beca75a03355 Update x264 option names that changed with r20060
gpoirier
parents: 20037
diff changeset
3751 between speed and quality. <option>me=umh</option> gains a little under
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3752 0.1dB global PSNR, with a speed penalty that varies depending on
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3753 <option>frameref</option>. At high values of
20254
beca75a03355 Update x264 option names that changed with r20060
gpoirier
parents: 20037
diff changeset
3754 <option>frameref</option> (e.g. 12 or so), <option>me=umh</option>
beca75a03355 Update x264 option names that changed with r20060
gpoirier
parents: 20037
diff changeset
3755 is about 40% slower than the default <option> me=hex</option>. With
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3756 <option>frameref=3</option>, the speed penalty incurred drops to
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3757 25%-30%.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3758 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3759 <para>
20254
beca75a03355 Update x264 option names that changed with r20060
gpoirier
parents: 20037
diff changeset
3760 <option>me=esa</option> uses an exhaustive search that is too slow for
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3761 practical use.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3762 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3763 </listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3764 <listitem><para>
20271
bb1bddc32870 Update x264 option names that changed with r20060
lorenm
parents: 20254
diff changeset
3765 <emphasis role="bold">partitions=all</emphasis>:
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3766 This option enables the use of 8x4, 4x8 and 4x4 subpartitions in
20271
bb1bddc32870 Update x264 option names that changed with r20060
lorenm
parents: 20254
diff changeset
3767 predicted macroblocks (in addition to the default partitions).
bb1bddc32870 Update x264 option names that changed with r20060
lorenm
parents: 20254
diff changeset
3768 Enabling it results in a fairly consistent
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3769 10%-15% loss of speed. This option is rather useless in source
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3770 containing only low motion, however in some high-motion source,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3771 particularly source with lots of small moving objects, gains of
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3772 about 0.1dB can be expected.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3773 </para></listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3774 <listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3775 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3776 <emphasis role="bold">bframes</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3777 If you are used to encoding with other codecs, you may have found
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3778 that B-frames are not always useful.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3779 In H.264, this has changed: there are new techniques and block
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3780 types that are possible in B-frames.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3781 Usually, even a naive B-frame choice algorithm can have a
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3782 significant PSNR benefit.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3783 It is interesting to note that using B-frames usually speeds up
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3784 the second pass somewhat, and may also speed up a single
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3785 pass encode if adaptive B-frame decision is turned off.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3786 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3787 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3788 With adaptive B-frame decision turned off
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3789 (<option>x264encopts</option>'s <option>nob_adapt</option>),
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3790 the optimal value for this setting is usually no more than
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3791 <option>bframes=1</option>, or else high-motion scenes can suffer.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3792 With adaptive B-frame decision on (the default behavior), it is
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3793 safe to use higher values; the encoder will reduce the use of
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3794 B-frames in scenes where they would hurt compression.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3795 The encoder rarely chooses to use more than 3 or 4 B-frames;
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3796 setting this option any higher will have little effect.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3797 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3798 </listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3799 <listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3800 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3801 <emphasis role="bold">b_adapt</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3802 Note: This is on by default.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3803 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3804 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3805 With this option enabled, the encoder will use a reasonably fast
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3806 decision process to reduce the number of B-frames used in scenes that
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3807 might not benefit from them as much.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3808 You can use <option>b_bias</option> to tweak how B-frame-happy
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3809 the encoder is.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3810 The speed penalty of adaptive B-frames is currently rather modest,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3811 but so is the potential quality gain.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3812 It usually does not hurt, however.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3813 Note that this only affects speed and frametype decision on the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3814 first pass.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3815 <option>b_adapt</option> and <option>b_bias</option> have no
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3816 effect on subsequent passes.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3817 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3818 </listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3819 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3820 <emphasis role="bold">b_pyramid</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3821 You might as well enable this option if you are using >=2 B-frames;
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3822 as the man page says, you get a little quality improvement at no
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3823 speed cost.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3824 Note that these videos cannot be read by libavcodec-based decoders
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3825 older than about March 5, 2005.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3826 </para></listitem>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3827 <listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3828 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3829 <emphasis role="bold">weight_b</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3830 In typical cases, there is not much gain with this option.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3831 However, in crossfades or fade-to-black scenes, weighted
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3832 prediction gives rather large bitrate savings.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3833 In MPEG-4 ASP, a fade-to-black is usually best coded as a series
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3834 of expensive I-frames; using weighted prediction in B-frames
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3835 makes it possible to turn at least some of these into much smaller
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3836 B-frames.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3837 Encoding time cost is minimal, as no extra decisions need to be made.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3838 Also, contrary to what some people seem to guess, the decoder
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3839 CPU requirements are not much affected by weighted prediction,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3840 all else being equal.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3841 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3842 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3843 Unfortunately, the current adaptive B-frame decision algorithm
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3844 has a strong tendency to avoid B-frames during fades.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3845 Until this changes, it may be a good idea to add
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3846 <option>nob_adapt</option> to your x264encopts, if you expect
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3847 fades to have a large effect in your particular video
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3848 clip.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3849 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3850 </listitem>
21914
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
3851 <listitem id="menc-feat-x264-encoding-options-speedvquality-threads">
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
3852 <para>
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
3853 <emphasis role="bold">threads</emphasis>:
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
3854 This option allows to spawn threads to encode in parallel on multiple CPUs.
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
3855 You can manually select the number of threads to be created or, better, set
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
3856 <option>threads=auto</option> and let
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
3857 <systemitem class="library">x264</systemitem> detect how many CPUs are
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
3858 available and pick an appropriate number of threads.
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
3859 If you have a multi-processor machine, you should really consider using it
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
3860 as it can to increase encoding speed linearly with the number of CPU cores
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
3861 (about 94% per CPU core), with very little quality reduction (about 0.005dB
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
3862 for dual processor, about 0.01dB for a quad processor machine).
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
3863 </para>
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
3864 </listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3865 </itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3866 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3867
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3868
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3869 <sect3 id="menc-feat-x264-encoding-options-misc-preferences">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3870 <title>Options pertaining to miscellaneous preferences</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3871
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3872 <itemizedlist>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3873 <listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3874 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3875 <emphasis role="bold">Two pass encoding</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3876 Above, it was suggested to always use two pass encoding, but there
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3877 are still reasons for not using it. For instance, if you are capturing
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3878 live TV and encoding in realtime, you are forced to use single-pass.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3879 Also, one pass is obviously faster than two passes; if you use the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3880 exact same set of options on both passes, two pass encoding is almost
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3881 twice as slow.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3882 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3883 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3884 Still, there are very good reasons for using two pass encoding. For
16340
5ceeeb85804c Avoid short forms.
diego
parents: 16339
diff changeset
3885 one thing, single pass ratecontrol is not psychic, and it often makes
5ceeeb85804c Avoid short forms.
diego
parents: 16339
diff changeset
3886 unreasonable choices because it cannot see the big picture. For example,
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3887 suppose you have a two minute long video consisting of two distinct
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3888 halves. The first half is a very high-motion scene lasting 60 seconds
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3889 which, in isolation, requires about 2500kbps in order to look decent.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3890 Immediately following it is a much less demanding 60-second scene
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3891 that looks good at 300kbps. Suppose you ask for 1400kbps on the theory
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3892 that this is enough to accomodate both scenes. Single pass ratecontrol
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3893 will make a couple of "mistakes" in such a case. First of all, it
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3894 will target 1400kbps in both segments. The first segment may end up
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3895 heavily overquantized, causing it to look unacceptably and unreasonably
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3896 blocky. The second segment will be heavily underquantized; it may look
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3897 perfect, but the bitrate cost of that perfection will be completely
16340
5ceeeb85804c Avoid short forms.
diego
parents: 16339
diff changeset
3898 unreasonable. What is even harder to avoid is the problem at the
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3899 transition between the two scenes. The first seconds of the low motion
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3900 half will be hugely over-quantized, because the ratecontrol is still
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3901 expecting the kind of bitrate requirements it met in the first half
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3902 of the video. This "error period" of heavily over-quantized low motion
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3903 will look jarringly bad, and will actually use less than the 300kbps
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3904 it would have taken to make it look decent. There are ways to
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3905 mitigate the pitfalls of single-pass encoding, but they may tend to
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3906 increase bitrate misprediction.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3907 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3908 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3909 Multipass ratecontrol can offer huge advantages over a single pass.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3910 Using the statistics gathered from the first pass encode, the encoder
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3911 can estimate, with reasonable accuracy, the "cost" (in bits) of
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3912 encoding any given frame, at any given quantizer. This allows for
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3913 a much more rational, better planned allocation of bits between the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3914 expensive (high-motion) and cheap (low-motion) scenes. See
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3915 <option>qcomp</option> below for some ideas on how to tweak this
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3916 allocation to your liking.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3917 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3918 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3919 Moreover, two passes need not take twice as long as one pass. You can
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3920 tweak the options in the first pass for higher speed and lower quality.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3921 If you choose your options well, you can get a very fast first pass.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3922 The resulting quality in the second pass will be slightly lower because size
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3923 prediction is less accurate, but the quality difference is normally much
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3924 too small to be visible. Try, for example, adding
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3925 <option>subq=1:frameref=1</option> to the first pass
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3926 <option>x264encopts</option>. Then, on the second pass, use slower,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3927 higher-quality options:
20271
bb1bddc32870 Update x264 option names that changed with r20060
lorenm
parents: 20254
diff changeset
3928 <option>subq=6:frameref=15:partitions=all:me=umh</option>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3929 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3930 </listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3931 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3932 <emphasis role="bold">Three pass encoding</emphasis>?
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3933 x264 offers the ability to make an arbitrary number of consecutive
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3934 passes. If you specify <option>pass=1</option> on the first pass,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3935 then use <option>pass=3</option> on a subsequent pass, the subsequent
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3936 pass will both read the statistics from the previous pass, and write
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3937 its own statistics. An additional pass following this one will have
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3938 a very good base from which to make highly accurate predictions of
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3939 framesizes at a chosen quantizer. In practice, the overall quality
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3940 gain from this is usually close to zero, and quite possibly a third
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3941 pass will result in slightly worse global PSNR than the pass before
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3942 it. In typical usage, three passes help if you get either bad bitrate
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3943 prediction or bad looking scene transitions when using only two passes.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3944 This is somewhat likely to happen on extremely short clips. There are
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3945 also a few special cases in which three (or more) passes are handy
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3946 for advanced users, but for brevity, this guide omits discussing those
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3947 special cases.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3948 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3949 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3950 <emphasis role="bold">qcomp</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3951 <option>qcomp</option> trades off the number of bits allocated
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3952 to "expensive" high-motion versus "cheap" low-motion frames. At
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3953 one extreme, <option>qcomp=0</option> aims for true constant
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3954 bitrate. Typically this would make high-motion scenes look completely
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3955 awful, while low-motion scenes would probably look absolutely
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3956 perfect, but would also use many times more bitrate than they
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3957 would need in order to look merely excellent. At the other extreme,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3958 <option>qcomp=1</option> achieves nearly constant quantization parameter
16340
5ceeeb85804c Avoid short forms.
diego
parents: 16339
diff changeset
3959 (QP). Constant QP does not look bad, but most people think it is more
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3960 reasonable to shave some bitrate off of the extremely expensive scenes
16340
5ceeeb85804c Avoid short forms.
diego
parents: 16339
diff changeset
3961 (where the loss of quality is not as noticeable) and reallocate it to
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3962 the scenes that are easier to encode at excellent quality.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3963 <option>qcomp</option> is set to 0.6 by default, which may be slightly
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3964 low for many peoples' taste (0.7-0.8 are also commonly used).
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3965 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3966 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3967 <emphasis role="bold">keyint</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3968 <option>keyint</option> is solely for trading off file seekability against
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3969 coding efficiency. By default, <option>keyint</option> is set to 250. In
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3970 25fps material, this guarantees the ability to seek to within 10 seconds
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3971 precision. If you think it would be important and useful to be able to
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3972 seek within 5 seconds of precision, set <option>keyint=125</option>;
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3973 this will hurt quality/bitrate slightly. If you care only about quality
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3974 and not about seekability, you can set it to much higher values
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3975 (understanding that there are diminishing returns which may become
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3976 vanishingly low, or even zero). The video stream will still have seekable
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3977 points as long as there are some scene changes.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3978 </para></listitem>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3979 <listitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3980 <para>
20254
beca75a03355 Update x264 option names that changed with r20060
gpoirier
parents: 20037
diff changeset
3981 <emphasis role="bold">deblock</emphasis>:
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3982 This topic is going to be a bit controversial.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3983 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3984 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3985 H.264 defines a simple deblocking procedure on I-blocks that uses
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3986 pre-set strengths and thresholds depending on the QP of the block
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3987 in question.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3988 By default, high QP blocks are filtered heavily, and low QP blocks
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3989 are not deblocked at all.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3990 The pre-set strengths defined by the standard are well-chosen and
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3991 the odds are very good that they are PSNR-optimal for whatever
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3992 video you are trying to encode.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3993 The <option>deblock</option> allow you to specify offsets to the preset
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3994 deblocking thresholds.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3995 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
3996 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3997 Many people seem to think it is a good idea to lower the deblocking
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3998 filter strength by large amounts (say, -3).
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
3999 This is however almost never a good idea, and in most cases,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4000 people who are doing this do not understand very well how
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4001 deblocking works by default.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4002 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4003 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4004 The first and most important thing to know about the in-loop
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4005 deblocking filter is that the default thresholds are almost always
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4006 PSNR-optimal.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4007 In the rare cases that they are not optimal, the ideal offset is
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4008 plus or minus 1.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4009 Adjusting deblocking parameters by a larger amount is almost
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4010 guaranteed to hurt PSNR.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4011 Strengthening the filter will smear more details; weakening the
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4012 filter will increase the appearance of blockiness.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4013 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4014 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4015 It is definitely a bad idea to lower the deblocking thresholds if
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4016 your source is mainly low in spacial complexity (i.e., not a lot
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4017 of detail or noise).
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4018 The in-loop filter does a rather excellent job of concealing
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4019 the artifacts that occur.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4020 If the source is high in spacial complexity, however, artifacts
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4021 are less noticeable.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4022 This is because the ringing tends to look like detail or noise.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4023 Human visual perception easily notices when detail is removed,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4024 but it does not so easily notice when the noise is wrongly
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4025 represented.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4026 When it comes to subjective quality, noise and detail are somewhat
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4027 interchangeable.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4028 By lowering the deblocking filter strength, you are most likely
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4029 increasing error by adding ringing artifacts, but the eye does
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4030 not notice because it confuses the artifacts with detail.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4031 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4032 <para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4033 This <emphasis role="bold">still</emphasis> does not justify
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4034 lowering the deblocking filter strength, however.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4035 You can generally get better quality noise from postprocessing.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4036 If your H.264 encodes look too blurry or smeared, try playing with
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4037 <option>-vf noise</option> when you play your encoded movie.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4038 <option>-vf noise=8a:4a</option> should conceal most mild
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4039 artifacting.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4040 It will almost certainly look better than the results you
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4041 would have gotten just by fiddling with the deblocking filter.
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4042 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4043 </listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4044 </itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4045 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4046 </sect2>
16277
d5ff51c5970f Encoding setting examples for x264
gpoirier
parents: 16229
diff changeset
4047
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4048 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4049
16277
d5ff51c5970f Encoding setting examples for x264
gpoirier
parents: 16229
diff changeset
4050 <sect2 id="menc-feat-x264-example-settings">
16599
ec3b4dcfc5f9 Nits noticed by Diego
gpoirier
parents: 16596
diff changeset
4051 <title>Encoding setting examples</title>
16277
d5ff51c5970f Encoding setting examples for x264
gpoirier
parents: 16229
diff changeset
4052
d5ff51c5970f Encoding setting examples for x264
gpoirier
parents: 16229
diff changeset
4053 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4054 The following settings are examples of different encoding
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4055 option combinations that affect the speed vs quality tradeoff
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4056 at the same target bitrate.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4057 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4058
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4059 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4060 All the encoding settings were tested on a 720x448 @30000/1001 fps
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4061 video sample, the target bitrate was 900kbps, and the machine was an
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4062 AMD-64 3400+ at 2400 MHz in 64 bits mode.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4063 Each encoding setting features the measured encoding speed (in
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4064 frames per second) and the PSNR loss (in dB) compared to the "very
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4065 high quality" setting.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4066 Please understand that depending on your source, your machine type
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4067 and development advancements, you may get very different results.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4068 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4069
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4070 <informaltable frame="all">
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4071 <tgroup cols="4">
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4072 <thead>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4073 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4074 <entry>Description</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4075 <entry>Encoding options</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4076 <entry>speed (in fps)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4077 <entry>Relative PSNR loss (in dB)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4078 </row>
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4079 </thead>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4080 <tbody>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4081 <row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4082 <entry>Very high quality</entry>
20274
001ed9bcb2ab remove me=3 leftover (x264)
kraymer
parents: 20271
diff changeset
4083 <entry><option>subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b</option></entry>
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4084 <entry>6fps</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4085 <entry>0dB</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4086 </row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4087 <row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4088 <entry>High quality</entry>
20271
bb1bddc32870 Update x264 option names that changed with r20060
lorenm
parents: 20254
diff changeset
4089 <entry><option>subq=5:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</option></entry>
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4090 <entry>13fps</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4091 <entry>-0.89dB</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4092 </row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4093 <row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4094 <entry>Fast</entry>
16606
7a06ad5c5b2c the "psnr" option doesn't really need to be in the encoding setting examples.
gpoirier
parents: 16605
diff changeset
4095 <entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry>
16596
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4096 <entry>17fps</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4097 <entry>-1.48dB</entry>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4098 </row>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4099 </tbody>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4100 </tgroup>
0e73f31bfc6a Adds encoding setting examples for lavc and XviD.
gpoirier
parents: 16558
diff changeset
4101 </informaltable>
16277
d5ff51c5970f Encoding setting examples for x264
gpoirier
parents: 16229
diff changeset
4102 </sect2>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4103 </sect1>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4104
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4105
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4106 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4107
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4108
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4109 <sect1 id="menc-feat-quicktime-7">
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4110 <title>Using <application>MEncoder</application> to create
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4111 <application>QuickTime</application>-compatible files</title>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4112
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4113
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4114 <sect2 id="menc-feat-quicktime-7-why-use-it">
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4115 <title>Why would one want to produce <application>QuickTime</application>-compatible Files?</title>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4116
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4117 <para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4118 There are several reasons why producing
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4119 <application>QuickTime</application>-compatible files can be desirable.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4120 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4121 <itemizedlist>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4122 <listitem><para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4123 You want any computer illiterate to be able to watch your encode on
21915
17e8429c3a57 fixes suggested by Diego
gpoirier
parents: 21914
diff changeset
4124 any major platform (Windows, Mac OS X, Unices &hellip;).
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4125 </para></listitem>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4126 <listitem><para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4127 <application>QuickTime</application> is able to take advantage of more
21915
17e8429c3a57 fixes suggested by Diego
gpoirier
parents: 21914
diff changeset
4128 hardware and software acceleration features of Mac OS X than
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4129 platform-independent players like <application>MPlayer</application>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4130 or <application>VLC</application>.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4131 That means that your encodes have a chance to be played smoothly by older
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4132 G4-powered machines.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4133 </para></listitem>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4134 <listitem><para>
21915
17e8429c3a57 fixes suggested by Diego
gpoirier
parents: 21914
diff changeset
4135 <application>QuickTime</application> 7 supports the next-generation codec H.264,
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4136 which yields significantly better picture quality than previous codec
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4137 generations (MPEG-2, MPEG-4 &hellip;).
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4138 </para></listitem>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4139 </itemizedlist>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4140 </sect2>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4141
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4142 <sect2 id="menc-feat-quicktime-7-constraints">
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4143 <title><application>QuickTime</application> 7 limitations</title>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4144
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4145 <para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4146 <application>QuickTime</application> 7 supports H.264 video and AAC audio,
21915
17e8429c3a57 fixes suggested by Diego
gpoirier
parents: 21914
diff changeset
4147 but it does not support them muxed in the AVI container format.
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4148 However, you can use <application>MEncoder</application> to encode
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4149 the video and audio, and then use an external program such as
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4150 <application>mp4creator</application> (part of the
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4151 <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink>)
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4152 to remux the video and audio tracks into an MP4 container.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4153 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4154
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4155 <para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4156 <application>QuickTime</application>'s support for H.264 is limited,
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4157 so you will need to drop some advanced features.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4158 If you encode your video with features that
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4159 <application>QuickTime</application> 7 does not support,
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4160 <application>QuickTime</application>-based players will show you a pretty
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4161 white screen instead of your expected video.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4162 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4163
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4164 <itemizedlist>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4165 <listitem><para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4166 <emphasis role="bold">B-frames</emphasis>:
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4167 <application>QuickTime</application> 7 supports a maximum of 1 B-frame, i.e.
21916
f31ffbd84d07 get rid of two spaces after a period (instead of one)
gpoirier
parents: 21915
diff changeset
4168 <option>-x264encopts bframes=1</option>. This means that
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4169 <option>b_pyramid</option> and <option>weight_b</option> will have no
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4170 effect, since they require <option>bframes</option> to be greater than 1.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4171 </para></listitem>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4172 <listitem><para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4173 <emphasis role="bold">Macroblocks</emphasis>:
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4174 <application>QuickTime</application> 7 does not support 8x8 DCT macroblocks.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4175 This option (<option>8x8dct</option>) is off by default, so just be sure
21916
f31ffbd84d07 get rid of two spaces after a period (instead of one)
gpoirier
parents: 21915
diff changeset
4176 not to explicitly enable it. This also means that the <option>i8x8</option>
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4177 option will have no effect, since it requires <option>8x8dct</option>.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4178 </para></listitem>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4179 <listitem><para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4180 <emphasis role="bold">Aspect ratio</emphasis>:
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4181 <application>QuickTime</application> 7 does not support SAR (sample
21916
f31ffbd84d07 get rid of two spaces after a period (instead of one)
gpoirier
parents: 21915
diff changeset
4182 aspect ratio) information in MPEG-4 files; it assumes that SAR=1. Read
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4183 <link linkend="menc-feat-quicktime-7-scale">the section on scaling</link>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4184 for a workaround.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4185 </para></listitem>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4186 </itemizedlist>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4187
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4188 </sect2>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4189
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4190 <sect2 id="menc-feat-quicktime-7-crop">
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4191 <title>Cropping</title>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4192 <para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4193 Suppose you want to rip your freshly bought copy of "The Chronicles of
21915
17e8429c3a57 fixes suggested by Diego
gpoirier
parents: 21914
diff changeset
4194 Narnia". Your DVD is region 1,
21916
f31ffbd84d07 get rid of two spaces after a period (instead of one)
gpoirier
parents: 21915
diff changeset
4195 which means it is NTSC. The example below would still apply to PAL,
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4196 except you would omit <option>-ofps 24000/1001</option> and use slightly
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4197 different <option>crop</option> and <option>scale</option> dimensions.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4198 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4199
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4200 <para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4201 After running <option>mplayer dvd://1</option>, you follow the process
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4202 detailed in the section <link linkend="menc-feat-telecine">How to deal
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4203 with telecine and interlacing in NTSC DVDs</link> and discover that it is
21916
f31ffbd84d07 get rid of two spaces after a period (instead of one)
gpoirier
parents: 21915
diff changeset
4204 24000/1001 fps progressive video. This simplifies the process somewhat,
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4205 since you do not need to use an inverse telecine filter such as
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4206 <option>pullup</option> or a deinterlacing filter such as
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4207 <option>yadif</option>.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4208 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4209
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4210 <para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4211 Next, you need to crop out the black bars from the top and bottom of the
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4212 video, as detailed in <link linkend="menc-feat-dvd-mpeg4-example-crop">this</link>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4213 previous section.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4214 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4215
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4216 </sect2>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4217
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4218 <sect2 id="menc-feat-quicktime-7-scale">
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4219 <title>Scaling</title>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4220
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4221 <para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4222 The next step is truly heartbreaking.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4223 <application>QuickTime</application> 7 does not support MPEG-4 videos
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4224 with a sample aspect ratio other than 1, so you will need to upscale
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4225 (which wastes a lot of disk space) or downscale (which loses some
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4226 details of the source) the video to square pixels.
21915
17e8429c3a57 fixes suggested by Diego
gpoirier
parents: 21914
diff changeset
4227 Either way you do it, this is highly inefficient, but simply cannot
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4228 be avoided if you want your video to be playable by
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4229 <application>QuickTime</application> 7.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4230 <application>MEncoder</application> can apply the appropriate upscaling
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4231 or downscaling by specifying respectively <option>-vf scale=-10:-1</option>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4232 or <option>-vf scale=-1:-10</option>.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4233 This will scale your video to the correct width for the cropped height,
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4234 rounded to the closest multiple of 16 for optimal compression.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4235 Remember that if you are cropping, you should crop first, then scale:
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4236
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4237 <screen>-vf crop=720:352:0:62,scale=-10:-1</screen>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4238 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4239
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4240 </sect2>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4241
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4242 <sect2 id="menc-feat-quicktime-7-avsync">
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4243 <title>A/V sync</title>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4244
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4245 <para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4246 Because you will be remuxing into a different container, you should
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4247 always use the <option>harddup</option> option to ensure that duplicated
21916
f31ffbd84d07 get rid of two spaces after a period (instead of one)
gpoirier
parents: 21915
diff changeset
4248 frames are actually duplicated in the video output. Without this option,
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4249 <application>MEncoder</application> will simply put a marker in the video
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4250 stream that a frame was duplicated, and rely on the client software to
21916
f31ffbd84d07 get rid of two spaces after a period (instead of one)
gpoirier
parents: 21915
diff changeset
4251 show the same frame twice. Unfortunately, this "soft duplication" does
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4252 not survive remuxing, so the audio would slowly lose sync with the video.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4253 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4254
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4255 <para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4256 The final filter chain looks like this:
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4257 <screen>-vf crop=720:352:0:62,scale=-10:-1,harddup</screen>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4258 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4259
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4260 </sect2>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4261
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4262 <sect2 id="menc-feat-quicktime-7-bitrate">
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4263 <title>Bitrate</title>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4264
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4265 <para>
21915
17e8429c3a57 fixes suggested by Diego
gpoirier
parents: 21914
diff changeset
4266 As always, the selection of bitrate is a matter of the technical properties
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4267 of the source, as explained
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4268 <link linkend="menc-feat-dvd-mpeg4-resolution-bitrate">here</link>, as
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4269 well as a matter of taste.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4270 This movie has a fair bit of action and lots of detail, but H.264 video
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4271 looks good at much lower bitrates than XviD or other MPEG-4 codecs.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4272 After much experimentation, the author of this guide chose to encode
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4273 this movie at 900kbps, and thought that it looked very good.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4274 You may decrease bitrate if you need to save more space, or increase
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4275 it if you need to improve quality.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4276 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4277
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4278 </sect2>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4279
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4280 <sect2 id="menc-feat-quicktime-7-example">
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4281 <title>Encoding example</title>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4282
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4283 <para>
21916
f31ffbd84d07 get rid of two spaces after a period (instead of one)
gpoirier
parents: 21915
diff changeset
4284 You are now ready to encode the video. Since you care about
f31ffbd84d07 get rid of two spaces after a period (instead of one)
gpoirier
parents: 21915
diff changeset
4285 quality, of course you will be doing a two-pass encode. To shave off
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4286 some encoding time, you can specify the <option>turbo</option> option
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4287 on the first pass; this reduces <option>subq</option> and
21916
f31ffbd84d07 get rid of two spaces after a period (instead of one)
gpoirier
parents: 21915
diff changeset
4288 <option>frameref</option> to 1. To save some disk space, you can
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4289 use the <option>ss</option> option to strip off the first few seconds
21916
f31ffbd84d07 get rid of two spaces after a period (instead of one)
gpoirier
parents: 21915
diff changeset
4290 of the video. (I found that this particular movie has 32 seconds of
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4291 credits and logos.) <option>bframes</option> can be 0 or 1.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4292 The other options are documented in <link
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4293 linkend="menc-feat-x264-encoding-options-speedvquality">Encoding with
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4294 the <systemitem class="library">x264</systemitem> codec</link> and
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4295 the man page.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4296
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4297 <screen>mencoder dvd://1 -o /dev/null -ss 32 -ovc x264 \
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4298 -x264encopts pass=1:turbo:bitrate=900:bframes=1:\
21861
0d7fe401a5a7 fix wrong option names that were suggested to use to produce
gpoirier
parents: 21843
diff changeset
4299 me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4300 -vf crop=720:352:0:62,scale=-10:-1,harddup \
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4301 -oac faac -faacopts br=192:mpeg=4:object=1 -channels 2 -srate 48000 \
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4302 -ofps 24000/1001</screen>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4303
21914
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
4304 If you have a multi-processor machine, don't miss the opportunity to
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
4305 dramatically speed-up encoding by enabling
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
4306 <link linkend="menc-feat-x264-encoding-options-speedvquality-threads">
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
4307 <systemitem class="library">x264</systemitem>'s multi-threading mode</link>
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
4308 by adding <option>threads=auto</option> to your <option>x264encopts</option>
88ab6170fb69 update and factorize information about x264's multi-threading mode
gpoirier
parents: 21913
diff changeset
4309 command-line.
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4310 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4311
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4312 <para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4313 The second pass is the same, except that you specify the output file
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4314 and set <option>pass=2</option>.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4315
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4316 <screen>mencoder dvd://1 <emphasis role="bold">-o narnia.avi</emphasis> -ss 32 -ovc x264 \
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4317 -x264encopts <emphasis role="bold">pass=2</emphasis>:turbo:bitrate=900:frameref=5:bframes=1:\
21861
0d7fe401a5a7 fix wrong option names that were suggested to use to produce
gpoirier
parents: 21843
diff changeset
4318 me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4319 -vf crop=720:352:0:62,scale=-10:-1,harddup \
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4320 -oac faac -faacopts br=192:mpeg=4:object=1 -channels 2 -srate 48000 \
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4321 -ofps 24000/1001</screen>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4322 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4323
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4324 <para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4325 The resulting AVI should play perfectly in
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4326 <application>MPlayer</application>, but of course
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4327 <application>QuickTime</application> can not play it because it does
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4328 not support H.264 muxed in AVI.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4329 So the next step is to remux the video into an MP4 container.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4330 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4331 </sect2>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4332
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4333 <sect2 id="menc-feat-quicktime-7-remux">
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4334 <title>Remuxing as MP4</title>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4335
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4336 <para>
21916
f31ffbd84d07 get rid of two spaces after a period (instead of one)
gpoirier
parents: 21915
diff changeset
4337 There are several ways to remux AVI files to MP4. You can use
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4338 <application>mp4creator</application>, which is part of the
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4339 <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink>.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4340 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4341
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4342 <para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4343 First, demux the AVI into separate audio and video streams using
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4344 <application>MPlayer</application>.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4345
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4346 <screen>mplayer narnia.avi -dumpaudio -dumpfile narnia.aac
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4347 mplayer narnia.avi -dumpvideo -dumpfile narnia.h264</screen>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4348
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4349 The filenames are important; <application>mp4creator</application>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4350 requires that AAC audio streams be named <systemitem>.aac</systemitem>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4351 and H.264 video streams be named <systemitem>.h264</systemitem>.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4352 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4353
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4354 <para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4355 Now use <application>mp4creator</application> to create a new
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4356 MP4 file out of the audio and video streams.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4357
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4358 <screen>mp4creator -create=narnia.aac narnia.mp4
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4359 mp4creator -create=narnia.h264 -rate=23.976 narnia.mp4</screen>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4360
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4361 Unlike the encoding step, you must specify the framerate as a
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4362 decimal (such as 23.976), not a fraction (such as 24000/1001).
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4363 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4364
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4365 <para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4366 This <systemitem>narnia.mp4</systemitem> file should now be playable
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4367 with any <application>QuickTime</application> 7 application, such as
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4368 <application>QuickTime Player</application> or
21916
f31ffbd84d07 get rid of two spaces after a period (instead of one)
gpoirier
parents: 21915
diff changeset
4369 <application>iTunes</application>. If you are planning to view the
21843
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4370 video in a web browser with the <application>QuickTime</application>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4371 plugin, you should also hint the movie so that the
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4372 <application>QuickTime</application> plugin can start playing it
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4373 while it is still downloading. <application>mp4creator</application>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4374 can create these hint tracks:
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4375
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4376 <screen>mp4creator -hint=1 narnia.mp4
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4377 mp4creator -hint=2 narnia.mp4
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4378 mp4creator -optimize narnia.mp4</screen>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4379
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4380 You can check the final result to ensure that the hint tracks were
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4381 created successfully:
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4382
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4383 <screen>mp4creator -list narnia.mp4</screen>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4384
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4385 You should see a list of tracks: 1 audio, 1 video, and 2 hint tracks.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4386
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4387 <screen>Track Type Info
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4388 1 audio MPEG-4 AAC LC, 8548.714 secs, 190 kbps, 48000 Hz
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4389 2 video H264 Main@5.1, 8549.132 secs, 899 kbps, 848x352 @ 23.976001 fps
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4390 3 hint Payload mpeg4-generic for track 1
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4391 4 hint Payload H264 for track 2
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4392 </screen>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4393 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4394
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4395 </sect2>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4396
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4397 <sect2 id="menc-feat-quicktime-7-metadata">
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4398 <title>Adding metadata tags</title>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4399
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4400 <para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4401 If you want to add tags to your video that show up in iTunes, you can use
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4402 <ulink url="http://atomicparsley.sourceforge.net/">AtomicParsley</ulink>.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4403
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4404 <screen>AtomicParsley narnia.mp4 --metaEnema --title "The Chronicles of Narnia" --year 2005 --stik Movie --freefree --overWrite</screen>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4405
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4406 The <option>--metaEnema</option> option removes any existing metadata
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4407 (<application>mp4creator</application> inserts its name in the
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4408 "encoding tool" tag), and <option>--freefree</option> reclaims the
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4409 space from the deleted metadata.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4410 The <option>--stik</option> option sets the type of video (such as Movie
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4411 or TV Show), which iTunes uses to group related video files.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4412 The <option>--overWrite</option> option overwrites the original file;
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4413 without it, <application>AtomicParsley</application> creates a new
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4414 auto-named file in the same directory and leaves the original file
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4415 untouched.
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4416 </para>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4417
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4418 </sect2>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4419
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4420 </sect1>
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4421
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4422
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4423 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4424
7e5c4075fcdf explain how to use MEncoder to create QuickTime-compatible files
gpoirier
parents: 21831
diff changeset
4425
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4426 <sect1 id="menc-feat-video-for-windows">
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4427 <title>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4428 Encoding with the <systemitem class="library">Video For Windows</systemitem>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4429 codec family
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4430 </title>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4431
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4432 <para>
18410
f07c9898029f typo/wording fixes
diego
parents: 18405
diff changeset
4433 Video for Windows provides simple encoding by means of binary video codecs.
f07c9898029f typo/wording fixes
diego
parents: 18405
diff changeset
4434 You can encode with the following codecs (if you have more, please tell us!)
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4435 </para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4436
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4437 <para>
18410
f07c9898029f typo/wording fixes
diego
parents: 18405
diff changeset
4438 Note that support for this is very experimental and some codecs may not work
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4439 correctly. Some codecs will only work in certain colorspaces, try
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4440 <option>-vf format=bgr24</option> and <option>-vf format=yuy2</option>
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4441 if a codec fails or gives wrong output.
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4442 </para>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4443
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4444 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4445
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4446 <sect2 id="menc-feat-enc-vfw-video-codecs">
18410
f07c9898029f typo/wording fixes
diego
parents: 18405
diff changeset
4447 <title>Video for Windows supported codecs</title>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4448
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4449 <para>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4450 <informaltable frame="all">
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4451 <tgroup cols="4">
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4452 <thead>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4453 <row>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4454 <entry>Video codec file name</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4455 <entry>Description (FourCC)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4456 <entry>md5sum</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4457 <entry>Comment</entry>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4458 </row>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4459 </thead>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4460 <tbody>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4461 <row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4462 <entry>aslcodec_vfw.dll</entry>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4463 <entry>Alparysoft lossless codec vfw (ASLC)</entry>
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4464 <entry>608af234a6ea4d90cdc7246af5f3f29a</entry>
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4465 <entry></entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4466 </row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4467 <row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4468 <entry>avimszh.dll</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4469 <entry>AVImszh (MSZH)</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4470 <entry>253118fe1eedea04a95ed6e5f4c28878</entry>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4471 <entry>needs <option>-vf format</option></entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4472 </row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4473 <row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4474 <entry>avizlib.dll</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4475 <entry>AVIzlib (ZLIB)</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4476 <entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4477 <entry></entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4478 </row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4479 <row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4480 <entry>divx.dll</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4481 <entry>DivX4Windows-VFW</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4482 <entry>acf35b2fc004a89c829531555d73f1e6</entry>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4483 <entry></entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4484 </row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4485 <row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4486 <entry>huffyuv.dll</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4487 <entry>HuffYUV (lossless) (HFYU)</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4488 <entry>b74695b50230be4a6ef2c4293a58ac3b</entry>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4489 <entry></entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4490 </row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4491 <row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4492 <entry>iccvid.dll</entry>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4493 <entry>Cinepak Video (cvid)</entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4494 <entry>cb3b7ee47ba7dbb3d23d34e274895133</entry>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4495 <entry></entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4496 </row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4497 <row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4498 <entry>icmw_32.dll</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4499 <entry>Motion Wavelets (MWV1)</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4500 <entry>c9618a8fc73ce219ba918e3e09e227f2</entry>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4501 <entry></entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4502 </row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4503 <row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4504 <entry>jp2avi.dll</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4505 <entry>ImagePower MJPEG2000 (IPJ2)</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4506 <entry>d860a11766da0d0ea064672c6833768b</entry>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4507 <entry><option>-vf flip</option></entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4508 </row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4509 <row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4510 <entry>m3jp2k32.dll</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4511 <entry>Morgan MJPEG2000 (MJ2C)</entry>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4512 <entry>f3c174edcbaef7cb947d6357cdfde7ff</entry>
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4513 <entry></entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4514 </row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4515 <row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4516 <entry>m3jpeg32.dll</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4517 <entry>Morgan Motion JPEG Codec (MJPG)</entry>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4518 <entry>1cd13fff5960aa2aae43790242c323b1</entry>
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4519 <entry></entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4520 </row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4521 <row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4522 <entry>mpg4c32.dll</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4523 <entry>Microsoft MPEG-4 v1/v2</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4524 <entry>b5791ea23f33010d37ab8314681f1256</entry>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4525 <entry></entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4526 </row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4527 <row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4528 <entry>tsccvid.dll</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4529 <entry>TechSmith Camtasia Screen Codec (TSCC)</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4530 <entry>8230d8560c41d444f249802a2700d1d5</entry>
18516
9f1055791225 document more codecs supported by vfw interface.
gpoirier
parents: 18510
diff changeset
4531 <entry>shareware error on windows</entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4532 </row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4533 <row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4534 <entry>vp31vfw.dll</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4535 <entry>On2 Open Source VP3 Codec (VP31)</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4536 <entry>845f3590ea489e2e45e876ab107ee7d2</entry>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4537 <entry></entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4538 </row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4539 <row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4540 <entry>vp4vfw.dll</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4541 <entry>On2 VP4 Personal Codec (VP40)</entry>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4542 <entry>fc5480a482ccc594c2898dcc4188b58f</entry>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4543 <entry></entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4544 </row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4545 <row>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4546 <entry>vp6vfw.dll</entry>
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4547 <entry>On2 VP6 Personal Codec (VP60)</entry>
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4548 <entry>04d635a364243013898fd09484f913fb</entry>
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4549 <entry>crashing on Linux</entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4550 </row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4551 <row>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4552 <entry>vp7vfw.dll</entry>
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4553 <entry>On2 VP7 Personal Codec (VP70)</entry>
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4554 <entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry>
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4555 <entry>wrong FourCC?</entry>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4556 </row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4557 <row>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4558 <entry>ViVD2.dll</entry>
18456
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4559 <entry>SoftMedia ViVD V2 codec VfW (GXVE)</entry>
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4560 <entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry>
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4561 <entry></entry>
dbe929ff7920 some fixes for the VfW encoding section
diego
parents: 18410
diff changeset
4562 </row>
18516
9f1055791225 document more codecs supported by vfw interface.
gpoirier
parents: 18510
diff changeset
4563 <row>
9f1055791225 document more codecs supported by vfw interface.
gpoirier
parents: 18510
diff changeset
4564 <entry>msulvc06.DLL</entry>
9f1055791225 document more codecs supported by vfw interface.
gpoirier
parents: 18510
diff changeset
4565 <entry>MSU Lossless codec (MSUD)</entry>
9f1055791225 document more codecs supported by vfw interface.
gpoirier
parents: 18510
diff changeset
4566 <entry>294bf9288f2f127bb86f00bfcc9ccdda</entry>
9f1055791225 document more codecs supported by vfw interface.
gpoirier
parents: 18510
diff changeset
4567 <entry>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4568 Decodable by <application>Window Media Player</application>,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4569 not <application>MPlayer</application> (yet).
18516
9f1055791225 document more codecs supported by vfw interface.
gpoirier
parents: 18510
diff changeset
4570 </entry>
9f1055791225 document more codecs supported by vfw interface.
gpoirier
parents: 18510
diff changeset
4571 </row>
9f1055791225 document more codecs supported by vfw interface.
gpoirier
parents: 18510
diff changeset
4572 <row>
9f1055791225 document more codecs supported by vfw interface.
gpoirier
parents: 18510
diff changeset
4573 <entry>camcodec.dll</entry>
18544
68f39270e44f typo fixes
gabrov
parents: 18516
diff changeset
4574 <entry>CamStudio lossless video codec (CSCD)</entry>
18516
9f1055791225 document more codecs supported by vfw interface.
gpoirier
parents: 18510
diff changeset
4575 <entry>0efe97ce08bb0e40162ab15ef3b45615</entry>
9f1055791225 document more codecs supported by vfw interface.
gpoirier
parents: 18510
diff changeset
4576 <entry>sf.net/projects/camstudio</entry>
9f1055791225 document more codecs supported by vfw interface.
gpoirier
parents: 18510
diff changeset
4577 </row>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4578 </tbody>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4579 </tgroup>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4580 </informaltable>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4581
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4582 The first column contains the codec names that should be passed after the
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4583 <literal>codec</literal> parameter,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4584 like: <option>-xvfwopts codec=divx.dll</option>
18410
f07c9898029f typo/wording fixes
diego
parents: 18405
diff changeset
4585 The FourCC code used by each codec is given in the parentheses.
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4586 </para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4587
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4588 <informalexample>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4589 <para>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4590 An example with VP3 compression:
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4591 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4592 mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -ovc vfw -xvfwopts codec=vp31vfw.dll -oac copy
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4593 </screen>
18405
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4594 </para>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4595 </informalexample>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4596 </sect2>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4597 </sect1>
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4598
3c491f0bbb96 Explain how to use -ovc vfw, patch by compn < tempn AH twmi PIO rr POI com >, fixes, reformat, pretty indent by me.
gpoirier
parents: 17757
diff changeset
4599
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4600 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4601
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4602
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4603 <sect1 id="menc-feat-vcd-dvd">
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4604 <title>Using <application>MEncoder</application>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4605 to create VCD/SVCD/DVD-compliant files</title>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4606
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4607 <sect2 id="menc-feat-vcd-dvd-constraints">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4608 <title>Format Constraints</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4609
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4610 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4611 <application>MEncoder</application> is capable of creating VCD, SCVD
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4612 and DVD format MPEG files using the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4613 <systemitem class="library">libavcodec</systemitem> library.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4614 These files can then be used in conjunction with
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4615 <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4616 or
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4617 <ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4618 to create discs that will play on a standard set-top player.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4619 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4620
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4621 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4622 The DVD, SVCD, and VCD formats are subject to heavy constraints.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4623 Only a small selection of encoded picture sizes and aspect ratios are
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4624 available.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4625 If your movie does not already meet these requirements, you may have
21899
a19e7a8d3978 typo fixes:
gpoirier
parents: 21861
diff changeset
4626 to scale, crop or add black borders to the picture to make it
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4627 compliant.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4628 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4629
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4630
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4631 <sect3 id="menc-feat-vcd-dvd-constraints-resolution">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4632 <title>Format Constraints</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4633
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4634 <informaltable frame="all">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4635 <tgroup cols="9">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4636 <thead>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4637 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4638 <entry>Format</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4639 <entry>Resolution</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4640 <entry>V. Codec</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4641 <entry>V. Bitrate</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4642 <entry>Sample Rate</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4643 <entry>A. Codec</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4644 <entry>A. Bitrate</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4645 <entry>FPS</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4646 <entry>Aspect</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4647 </row>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4648 </thead>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4649 <tbody>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4650 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4651 <entry>NTSC DVD</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4652 <entry>720x480, 704x480, 352x480, 352x240</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4653 <entry>MPEG-2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4654 <entry>9800 kbps</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4655 <entry>48000 Hz</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4656 <entry>AC3,PCM</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4657 <entry>1536 kbps (max)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4658 <entry>30000/1001, 24000/1001</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4659 <entry>4:3, 16:9 (only for 720x480)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4660 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4661 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4662 <entry>NTSC DVD</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4663 <entry>352x240<footnote id='fn-rare-resolutions'><para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4664 These resolutions are rarely used for DVDs because
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4665 they are fairly low quality.</para></footnote></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4666 <entry>MPEG-1</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4667 <entry>1856 kbps</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4668 <entry>48000 Hz</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4669 <entry>AC3,PCM</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4670 <entry>1536 kbps (max)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4671 <entry>30000/1001, 24000/1001</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4672 <entry>4:3, 16:9</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4673 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4674 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4675 <entry>NTSC SVCD</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4676 <entry>480x480</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4677 <entry>MPEG-2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4678 <entry>2600 kbps</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4679 <entry>44100 Hz</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4680 <entry>MP2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4681 <entry>384 kbps (max)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4682 <entry>30000/1001</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4683 <entry>4:3</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4684 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4685 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4686 <entry>NTSC VCD</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4687 <entry>352x240</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4688 <entry>MPEG-1</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4689 <entry>1150 kbps</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4690 <entry>44100 Hz</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4691 <entry>MP2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4692 <entry>224 kbps</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4693 <entry>24000/1001, 30000/1001</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4694 <entry>4:3</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4695 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4696 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4697 <entry>PAL DVD</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4698 <entry>720x576, 704x576, 352x576, 352x288</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4699 <entry>MPEG-2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4700 <entry>9800 kbps</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4701 <entry>48000 Hz</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4702 <entry>MP2,AC3,PCM</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4703 <entry>1536 kbps (max)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4704 <entry>25</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4705 <entry>4:3, 16:9 (only for 720x576)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4706 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4707 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4708 <entry>PAL DVD</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4709 <entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4710 <entry>MPEG-1</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4711 <entry>1856 kbps</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4712 <entry>48000 Hz</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4713 <entry>MP2,AC3,PCM</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4714 <entry>1536 kbps (max)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4715 <entry>25</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4716 <entry>4:3, 16:9</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4717 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4718 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4719 <entry>PAL SVCD</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4720 <entry>480x576</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4721 <entry>MPEG-2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4722 <entry>2600 kbps</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4723 <entry>44100 Hz</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4724 <entry>MP2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4725 <entry>384 kbps (max)</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4726 <entry>25</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4727 <entry>4:3</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4728 </row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4729 <row>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4730 <entry>PAL VCD</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4731 <entry>352x288</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4732 <entry>MPEG-1</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4733 <entry>1152 kbps</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4734 <entry>44100 Hz</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4735 <entry>MP2</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4736 <entry>224 kbps</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4737 <entry>25</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4738 <entry>4:3</entry>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4739 </row>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4740 </tbody>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4741 </tgroup>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4742 </informaltable>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4743
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4744 <para>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4745 If your movie has 2.35:1 aspect (most recent action movies), you will
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4746 have to add black borders or crop the movie down to 16:9 to make a DVD or VCD.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4747 If you add black borders, try to align them at 16-pixel boundaries in
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4748 order to minimize the impact on encoding performance.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4749 Thankfully DVD has sufficiently excessive bitrate that you do not have
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4750 to worry too much about encoding efficiency, but SVCD and VCD are
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4751 highly bitrate-starved and require effort to obtain acceptable quality.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4752 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4753 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4754
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4755
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4756 <sect3 id="menc-feat-vcd-dvd-constraints-gop">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4757 <title>GOP Size Constraints</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4758
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4759 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4760 DVD, VCD, and SVCD also constrain you to relatively low
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4761 GOP (Group of Pictures) sizes.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4762 For 30 fps material the largest allowed GOP size is 18.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4763 For 25 or 24 fps, the maximum is 15.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4764 The GOP size is set using the <option>keyint</option> option.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4765 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4766 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4767
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4768
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4769 <sect3 id="menc-feat-vcd-dvd-constraints-bitrate">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4770 <title>Bitrate Constraints</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4771
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4772 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4773 VCD video is required to be CBR at 1152 kbps.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4774 This highly limiting constraint also comes along with an extremly low vbv
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4775 buffer size of 327 kilobits.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4776 SVCD allows varying video bitrates up to 2500 kbps, and a somewhat less
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4777 restrictive vbv buffer size of 917 kilobits is allowed.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4778 DVD video bitrates may range anywhere up to 9800 kbps (though typical
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4779 bitrates are about half that), and the vbv buffer size is 1835 kilobits.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4780 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4781 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4782 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4783
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4784 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4785
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4786 <sect2 id="menc-feat-vcd-dvd-output">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4787 <title>Output Options</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4788
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4789 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4790 <application>MEncoder</application> has options to control the output
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4791 format.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4792 Using these options we can instruct it to create the correct type of
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4793 file.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4794 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4795
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4796 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4797 The options for VCD and SVCD are called xvcd and xsvcd, because they
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4798 are extended formats.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4799 They are not strictly compliant, mainly because the output does not
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4800 contain scan offsets.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4801 If you need to generate an SVCD image, you should pass the output file to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4802 <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4803 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4804
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4805 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4806 VCD:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4807 <screen>-of mpeg -mpegopts format=xvcd</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4808 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4809
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4810 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4811 SVCD:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4812 <screen>-of mpeg -mpegopts format=xsvcd</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4813 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4814
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4815 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4816 DVD (with timestamps on every frame, if possible):
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4817 <screen>-of mpeg -mpegopts format=dvd:tsaf</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4818 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4819
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4820 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4821 DVD with NTSC Pullup:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4822 <screen>-of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4823 This allows 24000/1001 fps progressive content to be encoded at 30000/1001
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4824 fps whilst maintaing DVD-compliance.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4825 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4826
16283
67dc03c037e7 How to encode with soft 3:2 pullup, patch by Brendan McCarthy
gpoirier
parents: 16277
diff changeset
4827
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4828 <sect3 id="menc-feat-vcd-dvd-output-aspect">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4829 <title>Aspect Ratio</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4830
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4831 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4832 The aspect argument of <option>-lavcopts</option> is used to encode
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4833 the aspect ratio of the file.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4834 During playback the aspect ratio is used to restore the video to the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4835 correct size.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4836 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4837
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4838 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4839 16:9 or "Widescreen"
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4840 <screen>-lavcopts aspect=16/9</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4841 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4842
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4843 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4844 4:3 or "Fullscreen"
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4845 <screen>-lavcopts aspect=4/3</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4846 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4847
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4848 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4849 2.35:1 or "Cinemascope" NTSC
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4850 <screen>-vf scale=720:368,expand=720:480 -lavcopts aspect=16/9</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4851 To calculate the correct scaling size, use the expanded NTSC width of
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4852 854/2.35 = 368
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4853 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4854
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4855 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4856 2.35:1 or "Cinemascope" PAL
21831
88c9d0f343e7 fix typo
gpoirier
parents: 21830
diff changeset
4857 <screen>-vf scale=720:432,expand=720:576 -lavcopts aspect=16/9</screen>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4858 To calculate the correct scaling size, use the expanded PAL width of
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4859 1024/2.35 = 432
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4860 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4861 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4862
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4863
17406
f5945f8fe876 MEncoder's MPEG muxer needs -vf harddup to function properly, no add a note about this.
gpoirier
parents: 17253
diff changeset
4864 <sect3 id="menc-feat-vcd-dvd-a-v-sync">
f5945f8fe876 MEncoder's MPEG muxer needs -vf harddup to function properly, no add a note about this.
gpoirier
parents: 17253
diff changeset
4865 <title>Maintaining A/V sync</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4866
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4867 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4868 In order to maintain audio/video synchronization throughout the encode,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4869 <application>MEncoder</application> has to drop or duplicate frames.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4870 This works rather well when muxing into an AVI file, but is almost
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4871 guaranteed to fail to maintain A/V sync with other muxers such as MPEG.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4872 This is why it is necessary to append the
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4873 <option>harddup</option> video filter at the end of the filter chain
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4874 to avoid this kind of problem.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4875 You can find more technical information about <option>harddup</option>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4876 in the section
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4877 <link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">Improving muxing and A/V sync reliability</link>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4878 or in the manual page.
17406
f5945f8fe876 MEncoder's MPEG muxer needs -vf harddup to function properly, no add a note about this.
gpoirier
parents: 17253
diff changeset
4879 </para>
f5945f8fe876 MEncoder's MPEG muxer needs -vf harddup to function properly, no add a note about this.
gpoirier
parents: 17253
diff changeset
4880 </sect3>
f5945f8fe876 MEncoder's MPEG muxer needs -vf harddup to function properly, no add a note about this.
gpoirier
parents: 17253
diff changeset
4881
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4882
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4883 <sect3 id="menc-feat-vcd-dvd-output-srate">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4884 <title>Sample Rate Conversion</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4885
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4886 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4887 If the audio sample rate in the original file is not the same as
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4888 required by the target format, sample rate conversion is required.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4889 This is achieved using the <option>-srate</option> option and
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4890 the <option>-af lavcresample</option> audio filter together.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4891 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4892
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4893 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4894 DVD:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4895 <screen>-srate 48000 -af lavcresample=48000</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4896 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4897
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4898 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4899 VCD and SVCD:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4900 <screen>-srate 44100 -af lavcresample=44100</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4901 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4902 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4903 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4904
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4905 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4906
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4907 <sect2 id="menc-feat-vcd-dvd-lavc">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4908 <title>Using libavcodec for VCD/SVCD/DVD Encoding</title>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4909
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4910 <sect3 id="menc-feat-vcd-dvd-lavc-intro">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4911 <title>Introduction</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4912
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4913 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4914 <systemitem class="library">libavcodec</systemitem> can be used to
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4915 create VCD/SVCD/DVD compliant video by using the appropriate options.
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4916 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4917 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4918
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4919
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4920 <sect3 id="menc-feat-vcd-dvd-lavc-options">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4921 <title>lavcopts</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4922
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4923 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4924 This is a list of fields in <option>-lavcopts</option> that you may
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4925 be required to change in order to make a complaint movie for VCD, SVCD,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4926 or DVD:
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4927 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4928
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4929 <itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4930 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4931 <emphasis role="bold">acodec</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4932 <option>mp2</option> for VCD, SVCD, or PAL DVD;
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4933 <option>ac3</option> is most commonly used for DVD.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4934 PCM audio may also be used for DVD, but this is mostly a big waste of
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4935 space.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4936 Note that MP3 audio is not compliant for any of these formats, but
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4937 players often have no problem playing it anyway.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4938 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4939 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4940 <emphasis role="bold">abitrate</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4941 224 for VCD; up to 384 for SVCD; up to 1536 for DVD, but commonly
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4942 used values range from 192 kbps for stereo to 384 kbps for 5.1 channel
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4943 sound.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4944 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4945 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4946 <emphasis role="bold">vcodec</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4947 <option>mpeg1video</option> for VCD;
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4948 <option>mpeg2video</option> for SVCD;
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4949 <option>mpeg2video</option> is usually used for DVD but you may also use
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4950 <option>mpeg1video</option> for CIF resolutions.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4951 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4952 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4953 <emphasis role="bold">keyint</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4954 Used to set the GOP size.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4955 18 for 30fps material, or 15 for 25/24 fps material.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4956 Commercial producers seem to prefer keyframe intervals of 12.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4957 It is possible to make this much larger and still retain compatibility
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4958 with most players.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4959 A <option>keyint</option> of 25 should never cause any problems.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4960 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4961 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4962 <emphasis role="bold">vrc_buf_size</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4963 327 for VCD, 917 for SVCD, and 1835 for DVD.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4964 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4965 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4966 <emphasis role="bold">vrc_minrate</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4967 1152, for VCD. May be left alone for SVCD and DVD.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4968 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4969 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4970 <emphasis role="bold">vrc_maxrate</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4971 1152 for VCD; 2500 for SVCD; 9800 for DVD.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4972 For SVCD and DVD, you might wish to use lower values depending on your
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4973 own personal preferences and requirements.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4974 </para></listitem>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4975 <listitem><para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4976 <emphasis role="bold">vbitrate</emphasis>:
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4977 1152 for VCD;
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4978 up to 2500 for SVCD;
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4979 up to 9800 for DVD.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4980 For the latter two formats, vbitrate should be set based on personal
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4981 preference.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4982 For instance, if you insist on fitting 20 or so hours on a DVD, you
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4983 could use vbitrate=400.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4984 The resulting video quality would probably be quite bad.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4985 If you are trying to squeeze out the maximum possible quality on a DVD,
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4986 use vbitrate=9800, but be warned that this could constrain you to less
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4987 than an hour of video on a single-layer DVD.
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4988 </para></listitem>
21583
f746c28a324c vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents: 21521
diff changeset
4989 <listitem><para>
21899
a19e7a8d3978 typo fixes:
gpoirier
parents: 21861
diff changeset
4990 <emphasis role="bold">vstrict</emphasis>:
21583
f746c28a324c vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents: 21521
diff changeset
4991 <option>vstrict</option>=0 should be used to create DVDs.
f746c28a324c vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents: 21521
diff changeset
4992 Without this option, <application>MEncoder</application> creates a
f746c28a324c vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents: 21521
diff changeset
4993 stream that cannot be correctly decoded by some standalone DVD
f746c28a324c vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents: 21521
diff changeset
4994 players.
f746c28a324c vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents: 21521
diff changeset
4995 </para></listitem>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4996 </itemizedlist>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4997 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
4998
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
4999
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5000 <sect3 id="menc-feat-vcd-dvd-lavc-examples">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5001 <title>Examples</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5002
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5003 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5004 This is a typical minimum set of <option>-lavcopts</option> for
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5005 encoding video:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5006 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5007 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5008 VCD:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5009 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5010 -lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5011 vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5012 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5013 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5014
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5015 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5016 SVCD:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5017 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5018 -lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5019 keyint=15:acodec=mp2
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5020 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5021 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5022
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5023 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5024 DVD:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5025 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5026 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
21583
f746c28a324c vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents: 21521
diff changeset
5027 keyint=15:vstrict=0:acodec=ac3
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5028 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5029 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5030 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5031
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5032
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5033 <sect3 id="menc-feat-vcd-dvd-lavc-advanced">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5034 <title>Advanced Options</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5035
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5036 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5037 For higher quality encoding, you may also wish to add quality-enhancing
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5038 options to lavcopts, such as <option>trell</option>,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5039 <option>mbd=2</option>, and others.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5040 Note that <option>qpel</option> and <option>v4mv</option>, while often
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5041 useful with MPEG-4, are not usable with MPEG-1 or MPEG-2.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5042 Also, if you are trying to make a very high quality DVD encode, it may
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5043 be useful to add <option>dc=10</option> to lavcopts.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5044 Doing so may help reduce the appearance of blocks in flat-colored areas.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5045 Putting it all together, this is an example of a set of lavcopts for a
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5046 higher quality DVD:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5047 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5048
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5049 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5050 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5051 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5052 keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\
21583
f746c28a324c vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents: 21521
diff changeset
5053 vqmin=1:lmin=1:dc=10:vstrict=0
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5054 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5055 </para>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5056 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5057 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5058
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5059 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5060
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5061 <sect2 id="menc-feat-vcd-dvd-audio">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5062 <title>Encoding Audio</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5063
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5064 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5065 VCD and SVCD support MPEG-1 layer II audio, using one of
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5066 <systemitem class="library">toolame</systemitem>,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5067 <systemitem class="library">twolame</systemitem>,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5068 or <systemitem class="library">libavcodec</systemitem>'s MP2 encoder.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5069 The libavcodec MP2 is far from being as good as the other two libraries,
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5070 however it should always be available to use.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5071 VCD only supports constant bitrate audio (CBR) whereas SVCD supports
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5072 variable bitrate (VBR), too.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5073 Be careful when using VBR because some bad standalone players might not
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5074 support it too well.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5075 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5076
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5077 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5078 For DVD audio, <systemitem class="library">libavcodec</systemitem>'s
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5079 AC3 codec is used.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5080 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5081
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5082
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5083 <sect3 id="menc-feat-vcd-dvd-audio-toolame">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5084 <title>toolame</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5085
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5086 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5087 For VCD and SVCD:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5088 <screen>-oac toolame -toolameopts br=224</screen>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5089 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5090 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5091
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5092
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5093 <sect3 id="menc-feat-vcd-dvd-audio-twolame">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5094 <title>twolame</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5095
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5096 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5097 For VCD and SVCD:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5098 <screen>-oac twolame -twolameopts br=224</screen>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5099 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5100 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5101
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5102
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5103 <sect3 id="menc-feat-vcd-dvd-audio-lavc">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5104 <title>libavcodec</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5105
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5106 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5107 For DVD with 2 channel sound:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5108 <screen>-oac lavc -lavcopts acodec=ac3:abitrate=192</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5109 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5110
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5111 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5112 For DVD with 5.1 channel sound:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5113 <screen>-channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5114 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5115
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5116 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5117 For VCD and SVCD:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5118 <screen>-oac lavc -lavcopts acodec=mp2:abitrate=224</screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5119 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5120 </sect3>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5121 </sect2>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5122
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5123 <!-- ********** -->
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5124
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5125 <sect2 id="menc-feat-vcd-dvd-all">
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5126 <title>Putting it all Together</title>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5127
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5128 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5129 This section shows some complete commands for creating VCD/SVCD/DVD
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5130 compliant videos.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5131 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5132
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5133
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5134 <sect3 id="menc-feat-vcd-dvd-all-pal-dvd">
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5135 <title>PAL DVD</title>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5136
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5137 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5138 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5139 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5140 -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5141 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
21583
f746c28a324c vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents: 21521
diff changeset
5142 keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 \
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5143 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5144 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5145 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5146 </sect3>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5147
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5148
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5149 <sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd">
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5150 <title>NTSC DVD</title>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5151
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5152 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5153 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5154 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5155 -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5156 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
21583
f746c28a324c vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents: 21521
diff changeset
5157 keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 \
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5158 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5159 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5160 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5161 </sect3>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5162
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5163
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5164 <sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy">
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5165 <title>PAL AVI Containing AC3 Audio to DVD</title>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5166
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5167 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5168 If the source already has AC3 audio, use -oac copy instead of re-encoding it.
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5169 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5170 mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5171 -vf scale=720:576,harddup -ofps 25 \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5172 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
21583
f746c28a324c vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents: 21521
diff changeset
5173 keyint=15:vstrict=0:aspect=16/9 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5174 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5175 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5176 </sect3>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5177
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5178
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5179 <sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy">
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5180 <title>NTSC AVI Containing AC3 Audio to DVD</title>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5181
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5182 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5183 If the source already has AC3 audio, and is NTSC @ 24000/1001 fps:
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5184 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5185 mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5186 -vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:\
21583
f746c28a324c vstrict=0 is required to create DVDs decodable by standalone dvd players
gpoirier
parents: 21521
diff changeset
5187 vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:aspect=16/9 -ofps 24000/1001 \
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5188 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5189 </screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5190 </para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5191 </sect3>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5192
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5193
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5194 <sect3 id="menc-feat-vcd-dvd-all-pal-svcd">
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5195 <title>PAL SVCD</title>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5196
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5197 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5198 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5199 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5200 scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5201 vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5202 vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5203 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5204 </screen>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5205 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5206 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5207
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5208
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5209 <sect3 id="menc-feat-vcd-dvd-all-ntsc-svcd">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5210 <title>NTSC SVCD</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5211
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5212 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5213 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5214 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5215 scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5216 vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5217 vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5218 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5219 </screen>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5220 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5221 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5222
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5223
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5224 <sect3 id="menc-feat-vcd-dvd-all-pal-vcd">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5225 <title>PAL VCD</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5226
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5227 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5228 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5229 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5230 scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5231 vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5232 vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5233 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5234 </screen>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5235 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5236 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5237
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5238
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5239 <sect3 id="menc-feat-vcd-dvd-all-ntsc-vcd">
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5240 <title>NTSC VCD</title>
21521
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5241
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5242 <para>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5243 <screen>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5244 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5245 scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5246 vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5247 vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 \
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5248 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable>
b210a229fbcb General reformatting round:
torinthiel
parents: 21492
diff changeset
5249 </screen>
16080
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5250 </para>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5251 </sect3>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5252 </sect2>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5253 </sect1>
baae7cdb0726 re-organize MEncoder doc in a more sensible way: splitting "basic mencoder usage" and "encoding with mencoder".
gpoirier
parents:
diff changeset
5254 </chapter>