annotate DOCS/xml/en/encoding-guide.xml @ 26421:fb39a8d56dc2

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