aboutsummaryrefslogtreecommitdiffhomepage
path: root/DOCS/xml/de/codecs.xml
blob: 0174044b4bcb442a4012937be7e4e31352d2b05d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
<?xml version="1.0" encoding="utf-8"?>
<!-- in sync with r24082 -->
<!-- missing cosmetic commit 21537 -->
<chapter id="codecs">
  <title>Codecs</title>

  <sect1 id="video-codecs">
    <title>Videocodecs</title>

    <para>
      Die <ulink url="../../codecs-status.html">Codecstatustabelle</ulink> ist eine vollständige
      Liste aller unterstützten Codecs, die täglich neu erstellt wird.
      Einige Binärcodecs zum Gebrauch mit MPlayer sind im
      <ulink url="http://www.mplayerhq.hu/design7/dload.html#binary_codecs">Downloadbereich</ulink>
      unserer Homepage verfügbar.
    </para>

    <para>
      Die Allerwichtigsten:
    </para>

    <itemizedlist>
      <listitem><para>
          <emphasis role="bold">MPEG-1</emphasis> (<emphasis role="bold">VCD</emphasis>) und
          <emphasis role="bold">MPEG-2</emphasis> (<emphasis role="bold">DVD</emphasis>) Video
        </para></listitem>
      <listitem><para>
          Native Decoder für
          <emphasis role="bold">alle DivX-Varianten, 3ivX, M$ MPEG-4</emphasis>
          v1, v2 und andere MPEG-4 Varianten
        </para></listitem>
      <listitem><para>
          Nativer Decoder für <emphasis role="bold">Windows Media Video 7/8</emphasis>
          (<emphasis role="bold">WMV1/WMV2</emphasis>) und Win32 DLL Decoder
          für <emphasis role="bold">Windows Media Video 9</emphasis>
          (<emphasis role="bold">WMV3</emphasis>), beide in Gebrauch in <filename>.wmv</filename>-Dateien
        </para></listitem>
      <listitem><para>
          Nativer <emphasis role="bold">Sorenson 1 (SVQ1)</emphasis> Decoder
        </para></listitem>
      <listitem><para>
          Nativer <emphasis role="bold">Sorenson 3 (SVQ3)</emphasis> Decoder
        </para></listitem>
      <listitem><para>
          <emphasis role="bold">3ivx</emphasis> v1, v2 Decoder
        </para></listitem>
      <listitem><para>
          Cinepak und <emphasis role="bold">Intel Indeo</emphasis> Codecs (3.1,3.2,4.1,5.0)
        </para></listitem>
      <listitem><para>
          <emphasis role="bold">MJPEG</emphasis>, AVID, VCR2, ASV2 und andere Hardwareformate
        </para></listitem>
      <listitem><para>
          VIVO 1.0, 2.0, I263 und andere <emphasis role="bold">H.263(+)</emphasis>-Varianten
        </para></listitem>
      <listitem><para>
          FLI/FLC
        </para></listitem>
      <listitem><para>
          <emphasis role="bold">RealVideo 1.0 &amp; 2.0</emphasis> von
          <systemitem class="library">libavcodec</systemitem> und
          <emphasis role="bold">RealVideo 3.0 &amp; 4.0</emphasis> Codecs mittels der RealPlayer Bibliotheken
        </para></listitem>
      <listitem><para>
          Native Decoder für HuffYUV
        </para></listitem>
      <listitem><para>
          Verschiedene alte und simple RLE-ähnliche Formate
        </para></listitem>
    </itemizedlist>

    <para>
      Falls du einen Win32 Codec hast, der hier nicht aufgeführt ist und noch nicht unterstützt wird, lies bitte die
      <link linkend="codec-importing">Codec Importing HOWTO</link>
      und hilf uns, Unterstützung hinzuzufügen.
    </para>


    <sect2 id="ffmpeg" xreflabel="FFmpeg/libavcodec">
      <title>FFmpeg/libavcodec</title>

      <para>
        <ulink url="http://ffmpeg.org">FFmpeg</ulink> enthält <systemitem class="library">libavcodec</systemitem>,
        die führende Open-Source-Bibliothek für Video und Audio. Sie ist in der Lage, die meisten
        Multimedia-Formate zu decodieren, normalerweise schneller als die Alternativen;
        möglicherweise wird auch noch Unterstützung für die anderen Formate hinzugefügt.
        Es ist der Standarddecoder für den Großteil der Codecs, die <application>MPlayer</application>
        unterstützt. Für manche Formate ist außerdem auch Encodierung mit Hilfe von
        <application>MEncoder</application> möglich.
      </para>

    <para>
      Für eine vollständige Liste unterstützter
      <ulink url="http://ffmpeg.org/ffmpeg-doc.html#SEC19">Video-</ulink>
      und <ulink url="http://ffmpeg.org/ffmpeg-doc.html#SEC20">Audio</ulink>codecs
      besuche bitte die FFmpeg-Homepage.
    </para>

    <para>
      <application>MPlayer</application> enthält <systemitem class="library">libavcodec</systemitem>.
      Es genügt, <filename>./configure</filename> laufen zu lassen und zu compilieren.
    </para>

  </sect2>


  <sect2 id="xvid">
    <title>Xvid</title>

    <para>
      <ulink url="http://www.xvid.org">Xvid</ulink> ist ein freier MPEG-4 ASP konformer
      Videocodec, der Encodierung in zwei Durchläufen und das ganze MPEG-4 ASP Spektrum
      unterstützt, was ihn wesentlich effizienter als den gut bekannten DivX-Codec macht.
      Er erreicht sehr gute Qualität und dank CPU-Optimierungen für die meisten modernen
      Prozessoren gute Performance.
    </para>
    <para>
      Es begann als Fork der Entwicklung des OpenDivX-Codecs.
      Dies geschah, als ProjectMayo OpenDivX zu Closed Source DivX4
      machte und die Leute, die an OpenDivX arbeiteten aber nicht zu ProjectMayo gehörten,
      verärgerte. Diese riefen dann Xvid ins Leben. Beide Projekte haben daher denselben Ursprung.
    </para>

    <para>
      Beachte, dass Xvid nicht benötigt wird, um mit Xvid encodiertes Video zu decodieren.
      In der Standardkonfiguration wird dafür <systemitem class="library">libavcodec</systemitem>
      benutzt, da er höhere Geschwindigkeit bietet.
    </para>

    <procedure>
      <title>Installation von <systemitem class="library">Xvid</systemitem></title>
      <para>
        Wie die meiste Open-Source-Software gibt es zwei verfügbare Varianten:
        <ulink url="http://www.xvid.org/downloads.html">offizielle Releases</ulink>
        und die CVS-Version.
        Die CVS-Version ist für die Benutzung normalerweise stabil genug, da es meistens
        Fehlerbehebungen für Bugs enthält, die im Release vorhanden sind.
        Hier also, was du zu tun hast, um <systemitem class="library">Xvid</systemitem>
        vom CVS mit <application>MEncoder</application> ans Laufen zu bringen
        (du benötigst mindestens <application>autoconf</application> 2.50,
        <application>automake</application> und <application>libtool</application>):
      </para>
      <step><para>
          <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</screen>
        </para></step>
      <step><para>
          <screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</screen>
        </para></step>
      <step><para>
          <screen>cd xvidcore/build/generic</screen>
        </para></step>
      <step><para>
          <screen>./bootstrap.sh</screen>
        </para></step>
      <step><para>
          <screen>./configure</screen>
          Du musst möglicherweise ein paar Optionen hinzuzufügen (schaue dir
          die Ausgabe von <command>./configure --help</command> an).
        </para></step>
      <step><para>
          <screen>make &amp;&amp; make install</screen>
        </para></step>
      <step><para>
          Wenn du <option>--enable-divxcompat</option> angegeben hast,
          kopiere <filename>../../src/divx4.h</filename> nach
          <filename class="directory">/usr/local/include/</filename>.
        </para></step>
      <step><para>
          Compiliere <application>MPlayer</application> erneut mit
          <option>--with-xvidlibdir=<replaceable>/Pfad/zu/</replaceable>libxvidcore.a</option>
          <option>--with-xvidincdir=<replaceable>/Pfad/zu/</replaceable>xvid.h</option>.
        </para></step>
    </procedure>
  </sect2>


  <sect2 id="codec-x264">
    <title><systemitem class="library">x264</systemitem></title>

    <sect3 id="codec-x264-whatis">
      <title>Was ist <systemitem class="library">x264?</systemitem></title>
      <para>
        <ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink>
        ist eine Bibliothek für die
        Erstellung von H.264-Videostreams.
        Es ist nicht 100% vollständig, hat momentan aber zumindest eine Art
        Unterstützung für die meisten H.264-Features, die Einfluß auf die Qualität haben.
        Es gibt außerdem viele fortgeschrittene Features in der H.264-Spezifikation,
        die mit Videoqualität per se nichts zu tun haben; viele davon sind in
        <systemitem class="library">x264</systemitem> nicht implementiert.
      </para>

      <itemizedlist>
        <title>Encoder-Features</title>
        <listitem><para>CAVLC/CABAC</para></listitem>
        <listitem><para>mehrere Referenzen</para></listitem>
        <listitem><para>
            Intra: alle Macroblock-Typen (16x16, 8x8, and 4x4 mit allen Vorhersagen)
          </para></listitem>
        <listitem><para>
            Inter P: Alle Partitionen (von 16x16 bis runter zu 4x4)
          </para></listitem>
        <listitem><para>
            Inter B: Partitionen von 16x16 runter zu 8x8 (inklusive SKIP/DIRECT)
          </para></listitem>
        <listitem><para>
            Bitratenkontrolle: konstanter Quantisierungsparameter, konstante Bitrate,
            einer oder mehrere Durchläufe mit durchschnittlicher Bitrate (optional VBV)
          </para></listitem>
        <listitem><para>Szenenwechselerkennung</para></listitem>
        <listitem><para>Adaptive Platzierung von B-Frames</para></listitem>
        <listitem><para>B-Frames als Referenzen / bieliebige Framereihenfolge</para></listitem>
        <listitem><para>8x8 und 4x4 adaptive räumliche Transformierung</para></listitem>
        <listitem><para>Verlustfreier Modus</para></listitem>
        <listitem><para>Benutzerdefinierte Quantisierungsmatrizen</para></listitem>
        <listitem><para>Parallele Encodierung mehrerer Scheiben</para></listitem>
        <listitem><para>Interlacing</para></listitem>
      </itemizedlist>

    </sect3>

    <sect3 id="codec-h264-whatis">
      <title>Was ist H.264?</title>
      <para>
        H.264 ist ein Name für einen neuen digitalen Videocodec, der von
        der ITU und MPEG zusammen entwickelt wurde.
        Etwas umständlicher kann man ihn auch "ISO/IEC 14496-10" oder "MPEG-4 Part 10"
        nennen. Häufiger wird er als "MPEG-4 AVC" oder einfach "AVC" bezeichnet.
      </para>
      <para>
        Wie auch immer du ihn nennst, H.264 ist es eventuell wert, ausprobiert
        zu werden, da er typischerweise die Qualität von MPEG-4 ASP bei 5%-30%
        Einsparung der Bitrate erreicht.
        Tatsächliche Ergebnisse werden sowohl vom Quellmaterial als auch dem
        Encoder abhängen.
        Die Gewinne durch die Benutzung von H.264 kommen nicht umsonst: Decodierung
        von H.264-Streams hat anscheinend heftige CPU- und Speicheranforderungen.
        Beispielsweise benötigt ein Athlon mit 1733 MHz für ein 1500kbps-H.264-Video
        in DVD-Auflösung um die 35% CPU-Leistung für die Decodierung.
        Im Vergleich dazu wird für einen 1500kbps MPEG-4 ASP Stream um die 10% CPU-Leistung gebraucht.
        Dies bedeutet, dass Decodierung von High-Definition-Streams für die
        meisten Benutzer außer Frage steht.
        Es bedeutet auch, dass sogar ein ordentlicher DVD-Rip auf Prozessoren
        langsamer als 2.0 GHz oder so ins Stocken geraten kann.
      </para>
      <para>
        Zumindest bei <systemitem class="library">x264</systemitem> sind die Anforderungen
        für die Encodierung nicht so viel schlimmer als das, was du von
        MPEG-4 ASP bereits kennst.
        Beispielsweise läuft eine DVD-Encodierung auf einem 1733 MHz Athlon bei
        etwa 5-15 fps.
      </para>
      <para>
        Dieses Dokument hat nicht die Absicht, die Details von H.264 zu erklären,
        wenn du aber an einer ausführlichen Übersicht interessiert bist, kannst du dir
        <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>
        durchlesen.
      </para>
    </sect3>

    <sect3 id="codec-x264-playback">
      <title>Wie kann ich H.264-Videos mit <application>MPlayer</application> abspielen?</title>
      <para>
        <application>MPlayer</application> benutzt den H.264-Decoder von
        <systemitem class="library">libavcodec</systemitem>.
        <systemitem class="library">libavcodec</systemitem> hat minimal nutzbare
        H.264-Decodierung seit etwa Juli 2004, seitdem wurden jedoch große Änderungen
        und Verbesserungen implementiert, sowohl hinsichtlich mehr unterstützten Funktionen
        als auch CPU-Last.
        Um einfach sicher zu sein, ist es immer eine gute Idee, einen aktuellen
        Subversion-Checkout zu verwenden.
      </para>
      <para>
        Eine schnelle und einfache Methode, festzustellen, ob kürzlich Änderungen am
        H.264-Decoder von <systemitem class="library">libavcodec</systemitem> gemacht
        wurden, wirf einen Blick auf
        <ulink url="http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/h264.c?view=log">das Web-Interface des Subversion-Repository von FFmpeg</ulink>.
      </para>
    </sect3>

    <sect3 id="codec-x264-encode">
      <title>Wie kann ich Videos mit <application>MEncoder</application> und <systemitem class="library">x264</systemitem> encodieren?</title>
      <para>
        Wenn du den Subversion-Client installiert hast, erhältst du die aktuellen
        Sourcen mit folgendem Befehl:
        <screen>svn co svn://svn.videolan.org/x264/trunk x264</screen>
        <application>MPlayer</application>-Sourcen werden immer aktualisiert, wenn sich
        die API von <systemitem class="library">x264</systemitem> ändert, daher ist
        es immer gut, auch <application>MPlayer</application> von Subversion zu benutzen.
        Möglicherweise ändert sich das, wenn und falls es ein
        <systemitem class="library">x264</systemitem>-"Release" gibt.
        Bis dahin sollte <systemitem class="library">x264</systemitem>
        hinsichtlich der Programmierschnittstelle als sehr unstabil betrachtet werden.
      </para>
      <para>
        <systemitem class="library">x264</systemitem> wird gebaut und installiert
        nach Standardmethode:
        <screen>./configure &amp;&amp; make &amp;&amp; sudo make install</screen>
        Dies installiert libx264.a nach /usr/local/lib, und x264.h landet in
        /usr/local/include.

        Mit der <systemitem class="library">x264</systemitem>-Bibliothek und dem Header
        in den Standardverzeichnissen ist es leicht, <application>MPlayer</application>
        mit <systemitem class="library">x264</systemitem>-Unterstützung zu bauen.
        Führe die Standardformel aus:
        <screen>./configure &amp;&amp; make &amp;&amp; sudo make install</screen>
        Das <filename>./configure</filename>-Script wird automatisch erkennen, dass du die Bedingungen
        für <systemitem class="library">x264</systemitem> erfüllst.
      </para>
    </sect3>
  </sect2>
</sect1>

<!-- ********** -->

<sect1 id="audio-codecs">

  <title>Audiocodecs</title>
  <itemizedlist>
    <title>Die allerwichtigsten Audiocodecs:</title>
    <listitem><para>
        MPEG layer 1/2/3 (MP1/2/3) Audio (<emphasis role="bold">nativer</emphasis>
        Decoder, mit MMX/SSE/3DNow! Optimierung)
      </para></listitem>
    <listitem><para>
        Windows Media Audio 7 und 8 (alias WMAv1 und WMAv2) (<emphasis role="bold">nativer</emphasis> Decoder, mit
        <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>)
      </para></listitem>
    <listitem><para>
        Windows Media Audio 9 (WMAv3) (unter Verwendung der DMO-DLL)
      </para></listitem>
    <listitem><para>
        AC3 Dolby Audio (<emphasis role="bold">nativer</emphasis> Decoder, mit
        MMX/SSE/3DNow! Optimierung)
      </para></listitem>
    <listitem><para>
        AC3-Passthrough unter Verwendung der Soundkartenhardware
      </para></listitem>
    <listitem><para>
        AAC
      </para></listitem>
    <listitem><para>
        Ogg Vorbis Audiocodec (<emphasis role="bold">native</emphasis> Bibliothek)
      </para></listitem>
    <listitem><para>
        RealAudio: DNET (AC3 mit niedriger Bitrate), Cook, Sipro and ATRAC3
      </para></listitem>
    <listitem><para>
        QuickTime: Qualcomm und QDesign Audio Decoder
      </para></listitem>
    <listitem><para>
        VIVO Audio (g723, Vivo Siren)
      </para></listitem>
    <listitem><para>
        Voxware Audio (unter Verwendung der DirectShow-DLL)
      </para></listitem>
    <listitem><para>
        alaw und ulaw, verschiedene gsm, adpcm und pcm Formate und andere einfache alte
        Audiocodecs
      </para></listitem>
    <listitem><para>
        Adaptive Multi-Rate (AMR) Sprachcodecs
      </para></listitem>
  </itemizedlist>


  <sect2 id="swac3">
    <title>Software-AC3-Decoder</title>

    <para>
      Das ist der Standarddecoder für Dateien, die AC3-Audio enthalten.
    </para>

    <para>
      Der AC3-Decoder kann Audio für zwei, vier oder sechs Lautsprecher ausgeben.
      Wenn er für sechs Lautsprecher konfiguriert wurde, stellt der Decoder dem
      Audiotreiber alle Kanäle separat zur Verfügung und erlaubt so volle
      "Surround"-Erfahrung ohne einen externen AC3 Decoder, der gebraucht wird,
      um hwac3 zu benutzen.
    </para>

    <para>
      Benutze die Option <option>-channels</option>, um die Anzahl der Kanäle
      anzugeben. Mit <option>-channels 2</option> wird Stereo-Klang erzeugt.
      Für eine 4-Kanal-Ausgabe (links vorne, rechts vorne, links Surround und
      rechts Surround) verwende <option>-channels 4</option>. In diesem
      Fall wird der Kanal Center gleichmäßig auf die vorderen Kanäle verteilt.
      <option>-channels 6</option> gibt alle AC3-Kanäle aus, wie sie codiert
      wurden - in der Reihenfolge links vorne, rechts vorne, links Surround, rechts
      Surround, Center und LFE.
    </para>

    <para>
      Standard sind zwei Ausgabekanäle.
    </para>

    <para>
      Um mehr als zwei Ausgabekanäle verwenden zu können, muss OSS verwendet werden,
      und die Soundkarte muss die entsprechende Anzahl an Kanälen mittels ioctl
      SNDCTL_DSP_CHANNELS unterstützen. Ein funktionierender Treiber ist emu10k1
      (wird für Soundblaster Live! Karten benutzt) seit August 2001
      (Neuere ALSA-Versionen sollten auch funktionieren).
    </para>
  </sect2>


  <sect2 id="hwac3">
    <title>Hardware-AC3-Decoder</title>
    <para>
      Benötigt wird eine AC3 fähige Soundkarte mit einem Digitalausgang (S/PDIF).
      Der Treiber der Karte muss das AFMT_AC3 Format korrekt unterstützen (wie
      z.B. C-Media). Verbinde dann den Hardware AC3 Decoder mit dem S/PDIF Ausgang
      und benutze <option>-ac hwac3</option>. Die Unterstützung ist experimentell,
      funktioniert aber z.B. mit C-Media Karten und Soundblaster Live! mit ALSA
      (aber nicht OSS) Treibern, sowie mit DXR3/Hollywood+ MPEG Decoder Karten.
    </para>
  </sect2>


  <sect2 id="libmad">
    <title>Unterstützung für <systemitem class="library">libmad</systemitem></title>

    <para>
      <ulink url="http://www.underbit.com/products/mad/"><systemitem class="library">libmad</systemitem></ulink> ist
      eine Integer-MPEG-Audiodecoder-Bibliothek für mehrere Plattformen, die intern mit
      24-bittigem PCM arbeitet. Sie funktioniert nicht sehr gut mit beschädigten
      Dateien und hat manchmal Probleme mit Sprüngen (seeks), kann aber auf
      Platformen ohne FPU (z.B. <link linkend="arm">ARM</link>) schneller
      sein als <systemitem class="library">mp3lib</systemitem>.
    </para>

    <para>
      Wenn <systemitem class="library">libmad</systemitem> bei dir korrekt installiert ist, wird
      <filename>./configure</filename>
      dies bemerken, und Unterstützung für MPEG-Audiodecodierung via
      <systemitem class="library">libmad</systemitem> wird automatisch eingebaut.
    </para>
  </sect2>

  <sect2 id="hwmpa">
    <title>Hardware-MPEG-Audiodecoder</title>

    <para>
      Dieser Codec (ausgewählt durch <option>-ac hwmpa</option>) reicht
      MPEG-Audiopakete an Hardwaredecoder durch, wie sie z.B. auf
      voll ausgestatteten DVB-Karten und DXR2-Adaptern existieren.
      Es bringt nichts, ihn mit einem anderen Gerät (wie z.B. OSS und ALSA)
      zu verwenden - das führt lediglich zu Rauschen.
    </para>
  </sect2>


  <sect2 id="aac">
    <title>AAC Codec</title>
    <para>
      AAC (Advanced Audio Coding) ist ein Audiocodec, der vorwiegend
      in MOV- und MP4-Dateien vorkommt. Ein Open-Source-Decoder namens
      FAAD ist auf <ulink url="http://www.audiocoding.com"/>
      verfügbar. <application>MPlayer</application> enthält
      eine CVS Version von libfaad 2.1 beta, so dass es nicht extra
      installiert werden muss.
    </para>

    <para>
      Um die externe FAAD-Bibliothek verwenden zu können (z.B. um mit gcc 3.2
      compilieren zu können, der die interne Version nicht übersetzt), muss
      die Bibliothek von der
      <ulink url="http://www.audiocoding.com/modules/mydownloads/">Download Seite</ulink>
      heruntergeladen und installiert werden. Anschließend muss die Option
      <option>--enable-faad-external</option> an <filename>./configure</filename>
      übergeben werden, damit die externe Bibliothek erkannt wird.
      Es ist lediglich erforderlich, vorher libfaad zu installieren, und zwar so:
      <screen>
cd faad2/
sh bootstrap
./configure
cd libfaad
make
make install<!--
      --></screen>
      Binärpakete sind auf audiocoding.com nicht erhältlich, Debian-Pakete
      können aber mit (apt-)get von
      <ulink url="http://www.debian-multimedia.org/">Christian Marillat's Homepage</ulink>, Mandrake/Mandriva RPMs von
      <ulink url="http://plf.zarb.org">P.L.F</ulink> und RedHat RPMs
      von <ulink url="http://greysector.rangers.eu.org/">Grey Sector</ulink>
      heruntergeladen werden.
    </para>
  </sect2>

  <sect2 id="amr">
    <title>AMR Codecs</title>
    <para>
      Adaptive Multi-Rate Sprachcodec, wird in 3G (UMTS) Mobiltelephonen verwendet.
      Die Referenzimplementierung ist auf
      <ulink url="http://www.3gpp.org">The 3rd Generation Partnership Project</ulink>
      erhältlich (frei - wie in Freibier - für private Benutzung).
      Um die Unterstützung zu aktiveren, lade die Bibliotheken für
      <ulink url="http://www.penguin.cz/~utx/amr">AMR-NB and AMR-WB</ulink>
      runter und installiere sie, indem du die Anweisungen auf dieser Seite befolgst.
      Compiliere MPlayer danach erneut.
    </para>
    <para>
      Für Unterstützung müssen die Codecs
      <ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26104-610.zip">AMR-NB</ulink>
      und
      <ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26204-600.zip">AMR-WB</ulink>
      heruntergeladen und in dasselbe Verzeichnis wie
      <application>MPlayer</application> verschoben werden.
      Anschließend folgende Befehle ausführen:
      <screen>
unzip 26104-610.zip
unzip 26104-610_ANSI_C_source_code.zip
mv c-code libavcodec/amr_float
unzip 26204-600.zip
unzip 26204-600_ANSI-C_source_code.zip
mv c-code libavcodec/amrwb_float<!--
      --></screen>
      Befolge danach einfach das <link linkend="features">Standardvorgehen für die Compilierung</link> von
      <application>MPlayer</application>.
    </para>
  </sect2>

</sect1>

<!-- ********** -->

<sect1 id="codec-importing">
  <title>HOWTO Win32-Codecs-Importierung</title>

  <!-- TODO: a short paragraph of text would be nice here... -->

  <sect2 id="vfw-codecs">
    <title>VFW-Codecs</title>

    <para>
      VFW (Video for Windows) ist die alte Video-API von Windows. Deren Codecs hat die
      Dateinamenerweiterung <filename>.DLL</filename> oder (selten) <filename>.DRV</filename>.
      Wenn <application>MPlayer</application> bei der Wiedergabe deines AVIs fehlschlägt
      mit einer Meldung wie:
      <screen>UNKNOWN video codec: HFYU (0x55594648)</screen>
      ..bedeutet dies, dass dein AVI mit einem Codec encodiert ist, der den fourcc HFYU
      (HFYU = HuffYUV-Codec, DIV3 = DivX Low Motion, etc.) hat. Da du dies jetzt weißt,
      musst du herausfinden, welche DLL Windows lädt, um diese Datei abzuspielen. In
      unserem Fall enthält die <filename>system.ini</filename> diese Information in einer
      Zeile, die so aussieht:
      <programlisting>VIDC.HFYU=huffyuv.dll</programlisting>
    </para>

    <para>
      Du benötigst also die Datei <filename>huffyuv.dll</filename>. Beachte, dass
      Audiocodecs mit dem MSACM-Präfix angegeben werden:
      <programlisting>msacm.l3acm=L3codeca.acm</programlisting>
    </para>

    <para>
      Dies ist der MP3-Codec. Da du nun alle nötigen Informationen hast
      (fourcc, Codecdatei, Beispiel-AVI), gib eine Anfrage für Codecunterstützung per
      Mail auf, und lade diese Dateien auf den FTP-Server hoch:
      <systemitem role="url">
        ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable>&lt;Codecname&gt;</replaceable>/
      </systemitem>
    </para>

    <note><para>
        Suche nach dieser Information unter Windows NT/2000/XP in der Registry,
        suche also z.B. nach "VIDC.HFYU". Um herauszufinden, wie man das
        macht, schaue dir die folgende Methode zu DirectShow an.
      </para></note>
  </sect2>


  <sect2 id="dshow-codecs">
    <title>DirectShow-Codecs</title>

    <para>
      DirectShow ist die neuere Video-API, die noch schlechter ist als ihr Vorgänger.
      Dinge sind schwieriger geworden mit DirectShow, da
      <itemizedlist>
        <listitem><para>
            <filename>system.ini</filename> nicht die benötigten Informationen enthält,
            die statt dessen in der Registry gespeichert ist.
          </para></listitem>
        <listitem><para>
            wir die GUID des Codecs benötigen.
          </para></listitem>
      </itemizedlist>
    </para>

    <procedure>
      <title>Neue Methode:</title>
      <para>
        Benutzung von <application>Microsoft GraphEdit</application> (schnell)
      </para>
      <step><para>
          Beziehe <application>GraphEdit</application> entweder aus dem DirectX-SDK
          oder von <ulink url="http://doom9.net">doom9</ulink>.
        </para></step>
      <step><para>
          Starte <command>graphedit.exe</command>.
        </para></step>
      <step><para>
          Wähle aus dem Menü
          <menuchoice><guimenu>Graph</guimenu><guisubmenu>Insert Filters</guisubmenu></menuchoice>.
        </para></step>
      <step><para>
          Klappe den Eintrag <systemitem>DirectShow Filters</systemitem> aus.
        </para></step>
      <step><para>
          Wähle den richtigen Codecnamen und klappe den Eintrag aus.
        </para></step>
      <step><para>
          Schaue im Eintrag <systemitem>DisplayName</systemitem> nach dem Text in den
          geschweiften Klammern hinter dem Backslash und notiere ihn
          (fünf mit Bindestrich getrennte Blöcke, die GUID).
        </para></step>
      <step><para>
          Die Codecbinärdatei ist die Datei, die im Eintrag
          <systemitem>Filename</systemitem> angegeben wird.
        </para></step>
    </procedure>

    <note>
      <para>
        Wenn dort kein <systemitem>Filename</systemitem> ist und
        <systemitem>DisplayName</systemitem> etwas wie
        <systemitem>device:dmo</systemitem> enthält, handelt es sich um einen DMO-Codec.
      </para>
    </note>

    <procedure>
      <title>Alte Methode:</title>
      <para>
        Nimm einen tiefen Atemzug und beginne die Suche in der Registry...
      </para>
      <step><para>
          Starte <command>regedit</command>.
        </para></step>
      <step><para>
          Drücke <keycombo><keycap>Strg</keycap><keycap>F</keycap></keycombo>, deaktiviere die ersten beiden
          Checkboxen und aktiviere die dritte. Gib den fourcc des Codecs ein (z.B.
          <userinput>TM20</userinput>).
        </para></step>
      <step><para>
          Du solltest ein Feld sehen, das den Pfad und den Dateinamen (z.B.
          <filename>C:\WINDOWS\SYSTEM\TM20DEC.AX</filename>) enthält.
        </para></step>
      <step><para>
          Da du jetzt die Datei hast, benötigen wir die GUID. Probiere erneut die
          Suche, nun aber nach dem Codecnamen, nicht dem fourcc. Dessen Name kann man
          herausfinden, indem man während der Wiedergabe mit Media Player den Eintrag von
          <menuchoice><guimenu>File</guimenu> <guisubmenu>Properties</guisubmenu>
            <guimenuitem>Advanced</guimenuitem></menuchoice> überprüft.
          Wenn dies nicht klappt, hast du Pech. Versuche raten (suche z.B. nach TrueMotion).
        </para></step>
      <step><para>
          Wenn die GUID gefunden wurde, solltest du das Feld <guilabel>FriendlyName</guilabel>
          und <guilabel>CLSID</guilabel> sehen. Notiere die 16-Byte-CLSID, das ist die
          GUID, die wir brauchen.
        </para></step>
    </procedure>

    <note>
      <para>
        Wenn die Suche fehlschlägt, probiere die Aktivierung aller Checkboxen. Es kann sein,
        dass du falsche Treffer erhältst, aber vielleicht hast du Glück...
      </para>
    </note>

    <para>
      Da du nun alle nötigen Informationen hast (fourcc, Codecdatei, Beispiel-AVI),
      gib eine Anfrage für Codecunterstützung per Mail auf, und lade diese Dateien
      auf den FTP-Server hoch:
      <systemitem role="url">
        ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable>&gt;Codecname&gt;</replaceable>/
      </systemitem>
    </para>

    <para>
      Wenn du einen Codec selbst hinzufügen möchtest, lies
      <ulink url="http://www.mplayerhq.hu/MPlayer/DOCS/tech/codecs.conf.txt">DOCS/tech/codecs.conf.txt</ulink>.
    </para>

  </sect2>
</sect1>

</chapter>