20321
|
1 <?xml version="1.0" encoding="iso-8859-1"?>
|
20342
|
2 <!-- synced with r20341 -->
|
20321
|
3 <chapter id="codecs">
|
|
4 <title>Codecs</title>
|
|
5
|
|
6 <sect1 id="video-codecs">
|
|
7 <title>Videocodecs</title>
|
|
8
|
|
9 <para>
|
|
10 Die <ulink url="../../codecs-status.html">Codec Status Tabelle</ulink> ist eine vollständige
|
|
11 Liste aller unterstützten Codecs, die täglich neu erstellt wird.
|
|
12 Einige Binärcodecs zum Gebrauch mit MPlayer sind im
|
|
13 <ulink url="http://www.mplayerhq.hu/design7/dload.html#binary_codecs">Downloadbereich</ulink>
|
|
14 unserer Homepage verfügbar.
|
|
15 </para>
|
|
16
|
|
17 <para>
|
|
18 Die Allerwichtigsten:
|
|
19 </para>
|
|
20
|
|
21 <itemizedlist>
|
|
22 <listitem><simpara>
|
|
23 <emphasis role="bold">MPEG-1</emphasis> (<emphasis role="bold">VCD</emphasis>) und
|
|
24 <emphasis role="bold">MPEG-2</emphasis> (<emphasis role="bold">DVD</emphasis>) Video
|
|
25 </simpara></listitem>
|
|
26 <listitem><simpara>
|
|
27 Native Decoder für
|
|
28 <emphasis role="bold">DivX ;-), OpenDivX (DivX4), DivX 5 (Pro), 3ivX, M$ MPEG-4</emphasis>
|
|
29 v1, v2 und andere MPEG-4 Varianten
|
|
30 </simpara></listitem>
|
|
31 <listitem><simpara>
|
|
32 Nativer Decoder für <emphasis role="bold">Windows Media Video 7/8</emphasis>
|
|
33 (<emphasis role="bold">WMV1/WMV2</emphasis>) und Win32 DLL Decoder
|
|
34 für <emphasis role="bold">Windows Media Video 9</emphasis>
|
|
35 (<emphasis role="bold">WMV3</emphasis>), beide in Gebrauch in <filename>.wmv</filename>-Dateien
|
|
36 </simpara></listitem>
|
|
37 <listitem><simpara>
|
|
38 Nativer <emphasis role="bold">Sorenson 1 (SVQ1)</emphasis> Decoder
|
|
39 </simpara></listitem>
|
|
40 <listitem><simpara>
|
|
41 Nativer <emphasis role="bold">Sorenson 3 (SVQ3)</emphasis> Decoder
|
|
42 </simpara></listitem>
|
|
43 <listitem><simpara>
|
|
44 <emphasis role="bold">3ivx</emphasis> v1, v2 Decoder
|
|
45 </simpara></listitem>
|
|
46 <listitem><simpara>
|
|
47 Cinepak und <emphasis role="bold">Intel Indeo</emphasis> Codecs (3.1,3.2,4.1,5.0)
|
|
48 </simpara></listitem>
|
|
49 <listitem><simpara>
|
|
50 <emphasis role="bold">MJPEG</emphasis>, AVID, VCR2, ASV2 und andere Hardwareformate
|
|
51 </simpara></listitem>
|
|
52 <listitem><simpara>
|
|
53 VIVO 1.0, 2.0, I263 und andere <emphasis role="bold">H.263(+)</emphasis>-Varianten
|
|
54 </simpara></listitem>
|
|
55 <listitem><simpara>
|
|
56 FLI/FLC
|
|
57 </simpara></listitem>
|
|
58 <listitem><simpara>
|
|
59 <emphasis role="bold">RealVideo 1.0 & 2.0</emphasis> von
|
|
60 <systemitem class="library">libavcodec</systemitem> und
|
|
61 <emphasis role="bold">RealVideo 3.0 & 4.0</emphasis> Codecs mittels der RealPlayer Bibliotheken
|
|
62 </simpara></listitem>
|
|
63 <listitem><simpara>
|
|
64 Native Decoder für HuffYUV
|
|
65 </simpara></listitem>
|
|
66 <listitem><simpara>
|
|
67 Verschiedene alte und simple RLE-ähnliche Formate
|
|
68 </simpara></listitem>
|
|
69 </itemizedlist>
|
|
70
|
|
71 <para>
|
|
72 Falls du einen Win32 Codec hast, der hier nicht aufgeführt ist und noch nicht unterstützt wird, lies bitte die
|
|
73 <link linkend="codec-importing">Codec Importing HOWTO</link>
|
|
74 und hilf uns, Unterstützung hinzuzufügen.
|
|
75 </para>
|
|
76
|
|
77
|
|
78 <sect2 id="ffmpeg" xreflabel="FFmpeg/libavcodec">
|
|
79 <title>FFmpeg/libavcodec</title>
|
|
80
|
|
81 <para>
|
20342
|
82 <ulink url="http://ffmpeg.org">FFmpeg</ulink> enthält <systemitem class="library">libavcodec</systemitem>,
|
|
83 die führende Open-Source-Bibliothek für Video und Audio. Sie ist in der Lage, die meisten
|
|
84 Multimedia-Formate zu decodieren, normalerweise schneller als die Alternativen;
|
|
85 möglicherweise wird auch noch Unterstützung für die anderen Formate hinzugefügt.
|
|
86 Es ist der Standarddecoder für den Großteil der Codecs, die <application>MPlayer</application>
|
|
87 unterstützt. Für manche Formate ist außerdem auch Encodierung mit Hilfe von
|
|
88 <application>MEncoder</application> möglich.
|
20321
|
89 </para>
|
|
90
|
|
91 <para>
|
|
92 Es enthält eine Reihe netter Codecs, besonders wichtig sind hierbei die MPEG-4 Varianten:
|
|
93 DivX3, DivX4, DivX5, Windows Media Video 7/8 (WMV1/WMV2). Weiterhin sehr interessant ist der WMA-Decoder.
|
|
94 </para>
|
|
95
|
|
96 <para>
|
|
97 Der neueste Codec, dem hier Beachtung geschenkt werden soll, ist der
|
|
98 <emphasis role="bold">Sorenson 3</emphasis> (SVQ3) Codec. Dies ist die erste vollständig
|
|
99 quelloffene Implementation. Und sie ist sogar schneller als das Original. Ihr sollte
|
|
100 gegenüber dem Binärcodec auf jeden Fall Vorzug gegeben werden.
|
|
101 </para>
|
|
102
|
|
103 <para>
|
|
104 Für eine vollständige Liste unterstützter Codecs besuche bitte die FFmpeg Homepage.
|
|
105 Unterstützte <ulink url="http://ffmpeg.org/ffmpeg-doc.html#SEC19">Video-</ulink>
|
|
106 und <ulink url="http://ffmpeg.org/ffmpeg-doc.html#SEC20">Audio</ulink>codecs.
|
|
107 </para>
|
|
108
|
|
109 <para>
|
20342
|
110 <application>MPlayer</application> enthält <systemitem class="library">libavcodec</systemitem>.
|
|
111 Es genügt, <filename>configure</filename> laufen zu lassen und zu compilieren.
|
20321
|
112 </para>
|
|
113
|
|
114 </sect2>
|
|
115
|
|
116
|
|
117 <sect2 id="xvid">
|
|
118 <title>XviD</title>
|
|
119
|
|
120 <para>
|
|
121 <ulink url="http://www.xvid.org">XviD</ulink> ist ein freier MPEG-4 ASP konformer
|
|
122 Videocodec, der Encodierung in zwei Durchläufen und das ganze MPEG-4 ASP Spektrum
|
|
123 unterstützt, was ihn wesentlich effizienter als den gut bekannten DivX-Codec macht.
|
|
124 Er erreicht sehr gute Qualität und dank CPU-Optimierungen für die meisten modernen
|
|
125 Prozessoren gute Performance.
|
|
126 </para>
|
|
127 <para>
|
|
128 Es begann als Fork der Entwicklung des OpenDivX-Codecs.
|
|
129 Dies geschah, als ProjectMayo OpenDivX zu Closed Source DivX4 (inzwischen DivX5)
|
|
130 machte und die Leute, die an OpenDivX arbeiteten aber nicht zu ProjectMayo gehörten,
|
20322
|
131 verärgerte. Diese riefen dann XviD ins Leben. Beide Projekte haben daher denselben Ursprung.
|
20321
|
132 </para>
|
|
133
|
20342
|
134 <para>
|
|
135 Beachte, dass Xvid nicht benötigt wird, um mit Xvid encodiertes Video zu decodieren.
|
|
136 In der Standardkonfiguration wird dafür <systemitem class="library">libavcodec</systemitem>
|
|
137 benutzt, da er höhere Geschwindigkeit bietet.
|
|
138 </para>
|
|
139
|
20321
|
140 <procedure>
|
|
141 <title>Installation von <systemitem class="library">XviD</systemitem></title>
|
|
142 <para>
|
|
143 Wie die meiste Open-Source-Software gibt es zwei verfügbare Varianten:
|
|
144 <ulink url="http://www.xvid.org/downloads.html">offizielle Releases</ulink>
|
|
145 und die CVS-Version.
|
|
146 Die CVS-Version ist für die Benutzung normalerweise stabil genug, da es meistens
|
|
147 Fehlerbehebungen für Bugs enthält, die im Release vorhanden sind.
|
|
148 Hier also, was du zu tun hast, um <systemitem class="library">XviD</systemitem>
|
|
149 vom CVS mit <application>MEncoder</application> ans Laufen zu bringen
|
|
150 (du benötigst mindestens <application>autoconf</application> 2.50,
|
|
151 <application>automake</application> und <application>libtool</application>):
|
|
152 </para>
|
|
153 <step><para>
|
|
154 <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</screen>
|
|
155 </para></step>
|
|
156 <step><para>
|
|
157 <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</screen>
|
|
158 </para></step>
|
|
159 <step><para>
|
|
160 <screen>cd xvidcore/build/generic</screen>
|
|
161 </para></step>
|
|
162 <step><para>
|
|
163 <screen>./bootstrap.sh</screen>
|
|
164 </para></step>
|
|
165 <step><para>
|
|
166 <screen>./configure</screen>
|
|
167 Du musst möglicherweise ein paar Optionen hinzuzufügen (schaue dir
|
|
168 die Ausgabe von <command>./configure --help</command> an).
|
|
169 </para></step>
|
|
170 <step><para>
|
|
171 <screen>make && make install</screen>
|
|
172 </para></step>
|
|
173 <step><para>
|
|
174 Wenn du <option>--enable-divxcompat</option> angegeben hast,
|
|
175 kopiere <filename>../../src/divx4.h</filename> nach
|
|
176 <filename class="directory">/usr/local/include/</filename>.
|
|
177 </para></step>
|
|
178 <step><para>
|
|
179 Compiliere <application>MPlayer</application> erneut mit
|
|
180 <option>--with-xvidlibdir=<replaceable>/Pfad/zu/</replaceable>libxvidcore.a</option>
|
|
181 <option>--with-xvidincdir=<replaceable>/Pfad/zu/</replaceable>xvid.h</option>.
|
|
182 </para></step>
|
|
183 </procedure>
|
|
184 </sect2>
|
|
185
|
|
186
|
|
187 <sect2 id="codec-x264">
|
|
188 <title>x264</title>
|
|
189
|
|
190 <sect3 id="codec-x264-whatis">
|
|
191 <title>Was ist x264?</title>
|
|
192 <para>
|
20342
|
193 <ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink>
|
|
194 ist eine Bibliothek für die
|
20321
|
195 Erstellung von H.264-Videostreams.
|
|
196 Es ist nicht 100% vollständig, hat momentan aber zumindest eine Art
|
|
197 Unterstützung für die meisten H.264-Features, die Einfluß auf die Qualität haben.
|
|
198 Es gibt außerdem viele fortgeschrittene Features in der H.264-Spezifikation,
|
|
199 die mit Videoqualität per se nichts zu tun haben; viele davon sind in
|
|
200 <systemitem class="library">x264</systemitem> nicht implementiert.
|
|
201 </para>
|
|
202
|
|
203 <itemizedlist>
|
|
204 <title>Encoder-Features</title>
|
|
205 <listitem><para>CAVLC/CABAC</para></listitem>
|
|
206 <listitem><para>mehrere Referenzen</para></listitem>
|
|
207 <listitem><para>
|
|
208 Intra: alle Macroblock-Typen (16x16, 8x8, and 4x4 mit allen Vorhersagen)
|
|
209 </para></listitem>
|
|
210 <listitem><para>
|
|
211 Inter P: Alle Partitionen (von 16x16 bis runter zu 4x4)
|
|
212 </para></listitem>
|
|
213 <listitem><para>
|
|
214 Inter B: Partitionen von 16x16 runter zu 8x8 (inklusive SKIP/DIRECT)
|
|
215 </para></listitem>
|
|
216 <listitem><para>
|
|
217 Bitratenkontrolle: konstanter Quantisierungsparameter, konstante Bitrate,
|
|
218 einer oder mehrere Durchläufe mit durchschnittlicher Bitrate (optional VBV)
|
|
219 </para></listitem>
|
|
220 <listitem><para>Szenenwechselerkennung</para></listitem>
|
|
221 <listitem><para>Adaptive Platzierung von B-Frames</para></listitem>
|
|
222 <listitem><para>B-Frames als Referenzen / bieliebige Framereihenfolge</para></listitem>
|
|
223 <listitem><para>8x8 und 4x4 adaptive räumliche Transformierung</para></listitem>
|
|
224 <listitem><para>Verlustfreier Modus</para></listitem>
|
|
225 <listitem><para>Benutzerdefinierte Quantisierungsmatrizen</para></listitem>
|
|
226 <listitem><para>Parallele Encodierung mehrerer Scheiben</para></listitem>
|
|
227 </itemizedlist>
|
|
228
|
|
229 </sect3>
|
|
230
|
|
231 <sect3 id="codec-h264-whatis">
|
|
232 <title>Was ist H.264?</title>
|
|
233 <para>
|
|
234 H.264 ist ein Name für einen neuen digitalen Videocodec, der von
|
|
235 der ITU und MPEG zusammen entwickelt wurde.
|
|
236 Etwas umständlicher kann man ihn auch "ISO/IEC 14496-10" oder "MPEG-4 Part 10"
|
|
237 nennen. Häufiger wird er als "MPEG-4 AVC" oder einfach "AVC" bezeichnet.
|
|
238 </para>
|
|
239 <para>
|
|
240 Wie auch immer du ihn nennst, H.264 ist es eventuell wert, ausprobiert
|
20322
|
241 zu werden, da er typischerweise die Qualität von MPEG-4 ASP bei 5%-30%
|
20321
|
242 Einsparung der Bitrate erreicht.
|
|
243 Tatsächliche Ergebnisse werden sowohl vom Quellmaterial als auch dem
|
|
244 Encoder abhängen.
|
|
245 Die Gewinne durch die Benutzung von H.264 kommen nicht umsonst: Decodierung
|
|
246 von H.264-Streams hat anscheinend heftige CPU- und Speicheranforderungen.
|
|
247 Beispielsweise benötigt ein Athlon mit 1733 MHz für ein 1500kbps-H.264-Video
|
|
248 in DVD-Auflösung um die 35% CPU-Leistung für die Decodierung.
|
|
249 Im Vergleich dazu wird für einen 1500kbps MPEG-4 ASP Stream um die 10% CPU-Leistung gebraucht.
|
|
250 Dies bedeutet, dass Decodierung von High-Definition-Streams für die
|
|
251 meisten Benutzer außer Frage steht.
|
|
252 Es bedeutet auch, dass sogar ein ordentlicher DVD-Rip auf Prozessoren
|
|
253 langsamer als 2.0 GHz oder so ins Stocken geraten kann.
|
|
254 </para>
|
|
255 <para>
|
|
256 Zumindest bei <systemitem class="library">x264</systemitem> sind die Anforderungen
|
|
257 für die Encodierung nicht so viel schlimmer als das, was du von
|
|
258 MPEG-4 ASP bereits kennst.
|
|
259 Beispielsweise läuft eine DVD-Encodierung auf einem 1733 MHz Athlon bei
|
|
260 etwa 5-15 fps.
|
|
261 </para>
|
|
262 <para>
|
|
263 Dieses Dokument hat nicht die Absicht, die Details von H.264 zu erklären,
|
|
264 wenn du aber an einer ausführlichen Übersicht interessiert bist, kannst du dir
|
|
265 <ulink url="http://www.cdt.luth.se/~peppar/kurs/smd151/spie04-h264OverviewPaper.pdf">The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions</ulink>
|
|
266 durchlesen.
|
|
267 </para>
|
|
268 </sect3>
|
|
269
|
|
270 <sect3 id="codec-x264-playback">
|
|
271 <title>Wie kann ich H.264-Videos mit <application>MPlayer</application> abspielen?</title>
|
|
272 <para>
|
|
273 <application>MPlayer</application> benutzt den H.264-Decoder von
|
|
274 <systemitem class="library">libavcodec</systemitem>.
|
|
275 <systemitem class="library">libavcodec</systemitem> hat minimal nutzbare
|
|
276 H.264-Decodierung seit etwa Juli 2004, seitdem wurden jedoch große Änderungen
|
|
277 und Verbesserungen implementiert, sowohl hinsichtlich mehr unterstützten Funktionen
|
|
278 als auch CPU-Last.
|
|
279 Um einfach sicher zu sein, ist es immer eine gute Idee, einen aktuellen
|
|
280 Subversion-Checkout zu verwenden.
|
|
281 </para>
|
|
282 <para>
|
|
283 Eine schnelle und einfache Methode, festzustellen, ob kürzlich Änderungen am
|
|
284 H.264-Decoder von <systemitem class="library">libavcodec</systemitem> gemacht
|
|
285 wurden, wirf einen Blick auf
|
|
286 <ulink url="http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/h264.c?view=log">das Web-Interface des Subversion-Repository von FFmpeg</ulink>.
|
|
287 </para>
|
|
288 </sect3>
|
|
289
|
|
290 <sect3 id="codec-x264-encode">
|
|
291 <title>Wie kann ich Videos mit <application>MEncoder</application> und <systemitem class="library">x264</systemitem> encodieren?</title>
|
|
292 <para>
|
|
293 Wenn du den Subversion-Client installiert hast, erhältst du die aktuellen
|
|
294 Sourcen mit folgendem Befehl:
|
|
295 <screen>svn co svn://svn.videolan.org/x264/trunk x264</screen>
|
|
296 <application>MPlayer</application>-Sourcen werden immer aktualisiert, wenn sich
|
|
297 die API von <systemitem class="library">x264</systemitem> ändert, daher ist
|
|
298 es immer gut, auch <application>MPlayer</application> von Subversion zu benutzen.
|
|
299 Möglicherweise ändert sich das, wenn und falls es ein
|
|
300 <systemitem class="library">x264</systemitem>-"Release" gibt.
|
|
301 Bis dahin sollte <systemitem class="library">x264</systemitem>
|
|
302 hinsichtlich der Programmierschnittstelle als sehr unstabil betrachtet werden.
|
|
303 </para>
|
|
304 <para>
|
|
305 <systemitem class="library">x264</systemitem> wird gebaut und installiert
|
|
306 nach Standardmethode:
|
|
307 <screen>./configure && make && sudo make install</screen>
|
|
308 Dies installiert libx264.a nach /usr/local/lib, und x264.h landet in
|
|
309 /usr/local/include.
|
|
310
|
|
311 Mit der <systemitem class="library">x264</systemitem>-Bibliothek und dem Header
|
|
312 in den Standardverzeichnissen ist es leicht, <application>MPlayer</application>
|
|
313 mit <systemitem class="library">x264</systemitem>-Unterstützung zu bauen.
|
|
314 Führe die Standardformel aus:
|
|
315 <screen>./configure && make && sudo make install</screen>
|
|
316 Das configure-Script wird automatisch erkennen, dass du die Bedingungen
|
|
317 für <systemitem class="library">x264</systemitem> erfüllst.
|
|
318 </para>
|
|
319 </sect3>
|
|
320 </sect2>
|
|
321 </sect1>
|
|
322
|
|
323 <!-- ********** -->
|
|
324
|
|
325 <sect1 id="audio-codecs">
|
|
326
|
|
327 <title>Audiocodecs</title>
|
|
328 <itemizedlist>
|
|
329 <title>Die allerwichtigsten Audiocodecs:</title>
|
|
330 <listitem><simpara>
|
|
331 MPEG layer 1/2/3 (MP1/2/3) Audio (<emphasis role="bold">nativer</emphasis>
|
|
332 Decoder, mit MMX/SSE/3DNow! Optimierung)
|
|
333 </simpara></listitem>
|
|
334 <listitem><simpara>
|
|
335 Windows Media Audio 7 und 8 (alias WMAv1 und WMAv2) (<emphasis role="bold">nativer</emphasis> Decoder, mit
|
|
336 <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>)
|
|
337 </simpara></listitem>
|
|
338 <listitem><simpara>
|
|
339 Windows Media Audio 9 (WMAv3) (unter Verwendung der DMO-DLL)
|
|
340 </simpara></listitem>
|
|
341 <listitem><simpara>
|
|
342 AC3 Dolby Audio (<emphasis role="bold">nativer</emphasis> Decoder, mit
|
|
343 MMX/SSE/3DNow! Optimierung)
|
|
344 </simpara></listitem>
|
|
345 <listitem><simpara>
|
|
346 AC3-Passthrough unter Verwendung der Soundkartenhardware
|
|
347 </simpara></listitem>
|
|
348 <listitem><simpara>
|
|
349 AAC
|
|
350 </simpara></listitem>
|
|
351 <listitem><simpara>
|
|
352 Ogg Vorbis Audiocodec (<emphasis role="bold">native</emphasis> Bibliothek)
|
|
353 </simpara></listitem>
|
|
354 <listitem><simpara>
|
|
355 RealAudio: DNET (AC3 mit niedriger Bitrate), Cook, Sipro and ATRAC3
|
|
356 </simpara></listitem>
|
|
357 <listitem><simpara>
|
|
358 QuickTime: Qualcomm und QDesign Audio Decoder
|
|
359 </simpara></listitem>
|
|
360 <listitem><simpara>
|
|
361 VIVO Audio (g723, Vivo Siren)
|
|
362 </simpara></listitem>
|
|
363 <listitem><simpara>
|
|
364 Voxware Audio (unter Verwendung der DirectShow-DLL)
|
|
365 </simpara></listitem>
|
|
366 <listitem><simpara>
|
|
367 alaw und ulaw, verschiedene gsm, adpcm und pcm Formate und andere einfache alte
|
|
368 Audiocodecs
|
|
369 </simpara></listitem>
|
|
370 <listitem><simpara>
|
|
371 Adaptive Multi-Rate (AMR) Sprachcodecs
|
|
372 </simpara></listitem>
|
|
373 </itemizedlist>
|
|
374
|
|
375
|
|
376 <sect2 id="swac3">
|
|
377 <title>Software-AC3-Decoder</title>
|
|
378
|
|
379 <para>
|
|
380 Das ist der Standarddecoder für Dateien, die AC3-Audio enthalten.
|
|
381 </para>
|
|
382
|
|
383 <para>
|
|
384 Der AC3-Decoder kann Audio für zwei, vier oder sechs Lautsprecher ausgeben.
|
|
385 Wenn er für sechs Lautsprecher konfiguriert wurde, stellt der Decoder dem
|
|
386 Audiotreiber alle Kanäle separat zur Verfügung und erlaubt so volle
|
|
387 "Surround"-Erfahrung ohne einen externen AC3 Decoder, der gebraucht wird,
|
|
388 um hwac3 zu benutzen.
|
|
389 </para>
|
|
390
|
|
391 <para>
|
|
392 Benutze die Option <option>-channels</option>, um die Anzahl der Kanäle
|
|
393 anzugeben. Mit <option>-channels 2</option> wird Stereo-Klang erzeugt.
|
|
394 Für eine 4-Kanal-Ausgabe (links vorne, rechts vorne, links Surround und
|
|
395 rechts Surround) verwende <option>-channels 4</option>. In diesem
|
|
396 Fall wird der Kanal Center gleichmäßig auf die vorderen Kanäle verteilt.
|
|
397 <option>-channels 6</option> gibt alle AC3-Kanäle aus, wie sie codiert
|
|
398 wurden - in der Reihenfolge links vorne, rechts vorne, links Surround, rechts
|
|
399 Surround, Center und LFE.
|
|
400 </para>
|
|
401
|
|
402 <para>
|
|
403 Standard sind zwei Ausgabekanäle.
|
|
404 </para>
|
|
405
|
|
406 <para>
|
|
407 Um mehr als zwei Ausgabekanäle verwenden zu können, muss OSS verwendet werden,
|
20322
|
408 und die Soundkarte muss die entsprechende Anzahl an Kanälen mittels ioctl
|
20321
|
409 SNDCTL_DSP_CHANNELS unterstützen. Ein funktionierender Treiber ist emu10k1
|
|
410 (wird für Soundblaster Live! Karten benutzt) seit August 2001
|
|
411 (Neuere ALSA-Versionen sollten auch funktionieren).
|
|
412 </para>
|
|
413 </sect2>
|
|
414
|
|
415
|
|
416 <sect2 id="hwac3">
|
|
417 <title>Hardware-AC3-Decoder</title>
|
|
418 <para>
|
|
419 Benötigt wird eine AC3 fähige Soundkarte mit einem Digitalausgang (S/PDIF).
|
20322
|
420 Der Treiber der Karte muss das AFMT_AC3 Format korrekt unterstützen (wie
|
20321
|
421 z.B. C-Media). Verbinde dann den Hardware AC3 Decoder mit dem S/PDIF Ausgang
|
|
422 und benutze <option>-ac hwac3</option>. Die Unterstützung ist experimentell,
|
|
423 funktioniert aber z.B. mit C-Media Karten und Soundblaster Live! mit ALSA
|
|
424 (aber nicht OSS) Treibern, sowie mit DXR3/Hollywood+ MPEG Decoder Karten.
|
|
425 </para>
|
|
426 </sect2>
|
|
427
|
|
428
|
|
429 <sect2 id="libmad">
|
|
430 <title>Unterstützung für libmad</title>
|
|
431
|
|
432 <para>
|
|
433 <ulink url="http://www.underbit.com/products/mad/">libmad</ulink> ist
|
|
434 eine Integer-MPEG-Audiodecoder-Bibliothek für mehrere Plattformen, die intern mit
|
|
435 24-bittigem PCM arbeitet. Sie funktioniert nicht sehr gut mit beschädigten
|
|
436 Dateien und hat manchmal Probleme mit Sprüngen (seeks), kann aber auf
|
|
437 Platformen ohne FPU (z.B. <link linkend="arm">ARM</link>) schneller
|
|
438 sein als mp3lib.
|
|
439 </para>
|
|
440
|
|
441 <para>
|
|
442 Wenn libman bei dir korrekt installiert ist, wird <filename>configure</filename>
|
|
443 dies bemerken, und Unterstützung für MPEG-Audiodecodierung via
|
20322
|
444 <systemitem class="library">libmad</systemitem> wird automatisch eingebaut.
|
20321
|
445 </para>
|
|
446 </sect2>
|
|
447
|
|
448 <sect2 id="hwmpa">
|
|
449 <title>Hardware-MPEG-Audiodecoder</title>
|
|
450
|
|
451 <para>
|
|
452 Dieser Codec (ausgewählt durch <option>-ac hwmpa</option>) reicht
|
|
453 MPEG-Audiopakete an Hardwaredecoder durch, wie sie z.B. auf
|
|
454 voll ausgestatteten DVB-Karten und DXR2-Adaptern existieren.
|
|
455 Es bringt nichts, ihn mit einem anderen Gerät (wie z.B. OSS und ALSA)
|
|
456 zu verwenden - das führt lediglich zu Rauschen.
|
|
457 </para>
|
|
458 </sect2>
|
|
459
|
|
460
|
|
461 <sect2 id="aac">
|
|
462 <title>AAC Codec</title>
|
|
463 <para>
|
|
464 AAC (Advanced Audio Coding) ist ein Audiocodec, der vorwiegend
|
|
465 in MOV- und MP4-Dateien vorkommt. Ein Open-Source-Decoder namens
|
|
466 FAAD ist auf <ulink url="http://www.audiocoding.com"/>
|
|
467 verfügbar. <application>MPlayer</application> enthält
|
|
468 eine CVS Version von libfaad 2.1 beta, so dass es nicht extra
|
20322
|
469 installiert werden muss.
|
20321
|
470 </para>
|
|
471
|
|
472 <para>
|
|
473 Um die externe FAAD-Bibliothek verwenden zu können (z.B. um mit gcc 3.2
|
|
474 compilieren zu können, der die interne Version nicht übersetzt), muss
|
|
475 die Bibliothek von der
|
|
476 <ulink url="http://www.audiocoding.com/modules/mydownloads/">Download Seite</ulink>
|
|
477 heruntergeladen und installiert werden. Anschließend muss die Option
|
|
478 <option>--enable-faad-external</option> an <filename>configure</filename>
|
|
479 übergeben werden, damit die externe Bibliothek erkannt wird.
|
|
480 Es ist lediglich erforderlich, vorher libfaad zu installieren, und zwar so:
|
|
481 <screen>
|
|
482 cd faad2/
|
|
483 sh bootstrap
|
|
484 ./configure
|
|
485 cd libfaad
|
|
486 make
|
|
487 make install<!--
|
|
488 --></screen>
|
|
489 Binärpakete sind auf audiocoding.com nicht erhältlich, Debian-Pakete
|
|
490 können aber mit (apt-)get von
|
|
491 <ulink url="http://www.debian-multimedia.org/">Christian Marillat's Homepage</ulink>, Mandrake/Mandriva RPMs von
|
|
492 <ulink url="http://plf.zarb.org">P.L.F</ulink> und RedHat RPMs
|
|
493 von <ulink url="http://greysector.rangers.eu.org/">Grey Sector</ulink>
|
|
494 heruntergeladen werden.
|
|
495 </para>
|
|
496 </sect2>
|
|
497
|
|
498 <sect2 id="amr">
|
|
499 <title>AMR Codecs</title>
|
|
500 <para>
|
|
501 Adaptive Multi-Rate Sprachcodec, wird in 3G (UMTS) Mobiltelephonen verwendet.
|
|
502 Die Referenzimplementierung ist auf
|
|
503 <ulink url="http://www.3gpp.org">The 3rd Generation Partnership Project</ulink>
|
|
504 erhältlich (frei - wie in Freibier - für private Benutzung).
|
|
505 </para>
|
|
506 <para>
|
|
507 Für Unterstützung müssen die Codecs
|
|
508 <ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26104-610.zip">AMR-NB</ulink>
|
|
509 und
|
|
510 <ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26204-600.zip">AMR-WB</ulink>
|
|
511 heruntergeladen und in dasselbe Verzeichnis wie
|
|
512 <application>MPlayer</application> verschoben werden.
|
|
513 Anschließend folgende Befehle ausführen:
|
|
514 <screen>
|
|
515 unzip 26104-610.zip
|
|
516 unzip 26104-610_ANSI_C_source_code.zip
|
|
517 mv c-code libavcodec/amr_float
|
|
518 unzip 26204-600.zip
|
|
519 unzip 26204-600_ANSI-C_source_code.zip
|
|
520 mv c-code libavcodec/amrwb_float<!--
|
|
521 --></screen>
|
20322
|
522 Befolge danach einfach das <link linkend="features">Standardvorgehen für die Compilierung</link> von
|
|
523 <application>MPlayer</application>.
|
20321
|
524 </para>
|
|
525 </sect2>
|
20322
|
526
|
20321
|
527 </sect1>
|
|
528
|
|
529 <!-- ********** -->
|
|
530
|
|
531 <sect1 id="codec-importing">
|
|
532 <title>HOWTO Win32-Codecs-Importierung</title>
|
|
533
|
|
534 <!-- TODO: a short paragraph of text would be nice here... -->
|
|
535
|
|
536 <sect2 id="vfw-codecs">
|
|
537 <title>VFW-Codecs</title>
|
|
538
|
|
539 <para>
|
|
540 VFW (Video for Windows) ist die alte Video-API von Windows. Deren Codecs hat die
|
|
541 Dateinamenerweiterung <filename>.DLL</filename> oder (selten) <filename>.DRV</filename>.
|
|
542 Wenn <application>MPlayer</application> bei der Wiedergabe deines AVIs fehlschlägt
|
20322
|
543 mit einer Meldung wie:
|
20321
|
544 <screen>UNKNOWN video codec: HFYU (0x55594648)</screen>
|
|
545 </para>
|
|
546
|
|
547 <para>
|
20322
|
548 ..bedeutet dies, dass dein AVI mit einem Codec encodiert ist, der den fourcc HFYU
|
20321
|
549 (HFYU = HuffYUV-Codec, DIV3 = DivX Low Motion, etc.) hat. Da du dies jetzt weißt,
|
|
550 musst du herausfinden, welche DLL Windows lädt, um diese Datei abzuspielen. In
|
|
551 unserem Fall enthält die <filename>system.ini</filename> diese Information in einer
|
|
552 Zeile, die so aussieht:
|
|
553 <programlisting>VIDC.HFYU=huffyuv.dll</programlisting>
|
|
554 </para>
|
|
555
|
|
556 <para>
|
|
557 Du benötigst also die Datei <filename>huffyuv.dll</filename>. Beachte, dass
|
|
558 Audiocodecs mit dem MSACM-Präfix angegeben werden:
|
|
559 <programlisting>msacm.l3acm=L3codeca.acm</programlisting>
|
|
560 </para>
|
|
561
|
|
562 <para>
|
|
563 Dies ist der MP3-Codec. Da du nun alle nötigen Informationen hast
|
|
564 (fourcc, Codecdatei, Beispiel-AVI), gib eine Anfrage für Codecunterstützung per
|
|
565 Mail auf, und lade diese Dateien auf den FTP-Server hoch:
|
|
566 <systemitem role="url">
|
|
567 ftp://upload.mplayerhq.hu/MPlayer/incoming/[Codecname]/
|
|
568 </systemitem>
|
|
569 </para>
|
|
570
|
|
571 <note><para>
|
|
572 Suche nach dieser Information unter Windows NT/2000/XP in der Registry,
|
|
573 suche also z.B. nach "VIDC.HFYU". Um herauszufinden, wie man das
|
20322
|
574 macht, schaue dir die folgende Methode zu DirectShow an.
|
20321
|
575 </para></note>
|
|
576 </sect2>
|
|
577
|
|
578
|
|
579 <sect2 id="dshow-codecs">
|
|
580 <title>DirectShow-Codecs</title>
|
|
581
|
|
582 <para>
|
|
583 DirectShow ist die neuere Video-API, die noch schlechter ist als ihr Vorgänger.
|
|
584 Dinge sind schwieriger geworden mit DirectShow, da
|
|
585 <itemizedlist>
|
|
586 <listitem><simpara>
|
|
587 <filename>system.ini</filename> nicht die benötigten Informationen enthält,
|
|
588 die statt dessen in der Registry gespeichert ist.
|
|
589 </simpara></listitem>
|
|
590 <listitem><simpara>
|
|
591 wir die GUID des Codecs benötigen.
|
|
592 </simpara></listitem>
|
|
593 </itemizedlist>
|
|
594 </para>
|
|
595
|
|
596 <procedure>
|
|
597 <title>Neue Methode:</title>
|
|
598 <para>
|
|
599 Benutzung von <application>Microsoft GraphEdit</application> (schnell)
|
|
600 </para>
|
|
601 <step><para>
|
|
602 Beziehe <application>GraphEdit</application> entweder aus dem DirectX-SDK
|
20322
|
603 oder von <ulink url="http://doom9.net">doom9</ulink>.
|
20321
|
604 </para></step>
|
|
605 <step><para>
|
|
606 Starte <command>graphedit.exe</command>.
|
|
607 </para></step>
|
|
608 <step><para>
|
|
609 Wähle aus dem Menü Graph -> Insert Filters.
|
|
610 </para></step>
|
|
611 <step><para>
|
20322
|
612 Klappe den Eintrag <systemitem>DirectShow Filters</systemitem> aus.
|
20321
|
613 </para></step>
|
|
614 <step><para>
|
|
615 Wähle den richtigen Codecnamen und klappe den Eintrag aus.
|
|
616 </para></step>
|
|
617 <step><para>
|
|
618 Schaue im Eintrag <systemitem>DisplayName</systemitem> nach dem Text in den
|
|
619 geschweiften Klammern hinter dem Backslash und notiere ihn
|
|
620 (fünf mit Bindestrich getrennte Blöcke, die GUID).
|
|
621 </para></step>
|
|
622 <step><para>
|
|
623 Die Codecbinärdatei ist die Datei, die im Eintrag
|
|
624 <systemitem>Filename</systemitem> angegeben wird.
|
|
625 </para></step>
|
|
626 </procedure>
|
|
627
|
|
628 <note>
|
|
629 <para>
|
|
630 Wenn dort kein <systemitem>Filename</systemitem> ist und
|
|
631 <systemitem>DisplayName</systemitem> etwas wie
|
|
632 <systemitem>device:dmo</systemitem> enthält, handelt es sich um einen DMO-Codec.
|
|
633 </para>
|
|
634 </note>
|
|
635
|
|
636 <procedure>
|
|
637 <title>Alte Methode:</title>
|
|
638 <para>
|
|
639 Nimm einen tiefen Atemzug und beginne die Suche in der Registry...
|
|
640 </para>
|
|
641 <step><para>
|
|
642 Starte <command>regedit</command>.
|
|
643 </para></step>
|
|
644 <step><para>
|
|
645 Drücke <keycap>Strg</keycap>+<keycap>F</keycap>, deaktiviere die ersten beiden
|
|
646 Checkboxen und aktiviere die dritte. Gib den fourcc des Codecs ein (z.B.
|
|
647 <userinput>TM20</userinput>).
|
|
648 </para></step>
|
|
649 <step><para>
|
|
650 Du solltest ein Feld sehen, das den Pfad und den Dateinamen (z.B.
|
|
651 <filename>C:\WINDOWS\SYSTEM\TM20DEC.AX</filename>) enthält.
|
|
652 </para></step>
|
|
653 <step><para>
|
|
654 Da du jetzt die Datei hast, benötigen wir die GUID. Probiere erneut die
|
|
655 Suche, nun aber nach dem Codecnamen, nicht dem fourcc. Dessen Name kann man
|
|
656 herausfinden, indem man während der Wiedergabe mit Media Player den Eintrag von
|
|
657 <guimenu>Datei</guimenu> -> <guisubmenu>Eigenschaften</guisubmenu> ->
|
|
658 <guimenuitem>Erweitert</guimenuitem> überprüft.
|
|
659 Wenn dies nicht klappt, hast du Pech. Versuche raten (suche z.B. nach TrueMotion).
|
|
660 </para></step>
|
|
661 <step><para>
|
|
662 Wenn die GUID gefunden wurde, solltest du das Feld <guilabel>FriendlyName</guilabel>
|
|
663 und <guilabel>CLSID</guilabel> sehen. Notiere die 16-Byte-CLSID, das ist die
|
|
664 GUID, die wir brauchen.
|
|
665 </para></step>
|
|
666 </procedure>
|
|
667
|
|
668 <note>
|
|
669 <para>
|
|
670 Wenn die Suche fehlschlägt, probiere die Aktivierung aller Checkboxen. Es kann sein,
|
|
671 dass du falsche Treffer erhältst, aber vielleicht hast du Glück...
|
|
672 </para>
|
|
673 </note>
|
|
674
|
|
675 <para>
|
|
676 Da du nun alle nötigen Informationen hast (fourcc, Codecdatei, Beispiel-AVI),
|
|
677 gib eine Anfrage für Codecunterstützung per Mail auf, und lade diese Dateien
|
|
678 auf den FTP-Server hoch:
|
|
679 <systemitem role="url">
|
|
680 ftp://upload.mplayerhq.hu/MPlayer/incoming/[Codecname]/
|
|
681 </systemitem>
|
|
682 </para>
|
|
683
|
|
684 <para>
|
|
685 Wenn du einen Codec selbst hinzufügen möchtest, lies
|
|
686 <ulink url="http://www.mplayerhq.hu/MPlayer/DOCS/tech/codecs.conf.txt">DOCS/tech/codecs.conf.txt</ulink>.
|
|
687 </para>
|
|
688
|
|
689 </sect2>
|
|
690 </sect1>
|
|
691
|
|
692 </chapter>
|