view DOCS/de/codecs.html @ 17030:30e3ed9615b5

Explain -vo gl:slice-height behaviour if YUV rendering is used.
author reimar
date Tue, 22 Nov 2005 16:49:36 +0000
parents aa01df570de0
children
line wrap: on
line source

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>

<HEAD>
  <TITLE>Codecs - MPlayer - The Movie Player for Linux</TITLE>
  <LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>

<BODY>

<H2><A NAME="codecs">2.2 Unterst&uuml;tzte Codecs</A></H2>

<H3><A NAME="video_codecs">2.2.1 Video-Codecs</A></H3>

<P>Siehe
<A HREF="http://www.mplayerhq.hu/DOCS/codecs-status.html">Codec-Status</A>-Seite
f&uuml;r die komplette, t&auml;glich generierte Liste. Eine Vielzahl von
Codecs kann von unserer Homepage runtergeladen werden. Du findest sie auf der
<A HREF="http://www.mplayerhq.hu/MPlayer/releases/codecs/">Codec-Seite</A>.</P>

<P>Die wichtigsten Video-Codecs:</P>

<UL>
  <LI><B>MPEG1</B>- (<B>VCD</B>) und <B>MPEG2</B>-Video (<B>DVD</B>)</LI>
  <LI>eingebauter Dekoder f&uuml;r <B>DivX ;-)<B>, <B>OpenDivX</B>,
    <B>DivX4</B>, <B>DivX5</B>, <B>M$ MPEG4</B> v1, v2 und andere
    MPEG4-Varianten</LI>
  <LI>eingebauter Decoder f&uuml;r <B>Windows Media Video 7/8</B>
    (<B>WMV1/WMV2</B>) und Win32-DLL-Decoder f&uuml;r <B>Windows Media Video
    9</B> (<B>WMV3</B>). Beide werden in .wmv-Dateien verwendet.</LI>
  <LI>eingebauter <B>Sorenson 1 (SVQ1)</B> Decoder</LI>
  <LI>Win32/QT <B>Sorenson 3 (SVQ3)</B> Decoder</LI>
  <LI><B>3ivx</B>-Decoder f&uuml;r v1 und v2</LI>
  <LI>Cinepak und <B>Intel Indeo</B> Codecs (3.1, 3.2, 4.1, 5.0)</LI>
  <LI><B>MJPEG</B>, AVID, VCR2, ASV2 und andere Hardwareformate</LI>
  <LI>VIVO 1.0, 2.0, I263 und andere <B>h263</B>(+)-Varianten</LI>
  <LI>FLI/FLC</LI>
  <LI><B>RealVideo 1.0</B> von libavcodec und <B>RealVideo 2.0</B>, <B>3.0</B>
    und <B>4.0</B> durch die RealPlayer-Libraries</LI>
  <LI>eingebauter Decoder f&uuml;r HuffYUV</LI>
  <LI>Verschiedene alte, einfache RLE-&auml;hnliche Formate</LI>
</UL>

<P>Wenn du einen Win32-Codec hast, der noch nicht aufgelistet und
unterst&uuml;tzt ist, dann lies <A HREF="#importing">Win32
Codec-Importierungs-HOWTO</A> und hilf uns, die Unterst&uuml;tzung
hinzuzuf&uuml;gen.</P>


<H4><A NAME="divx">2.2.1.1 DivX4/DivX5</A></H4>

<P>Diese Sektion enth&auml;lt Informationen &uuml;ber den DivX4- und
Divx5-Codec vom <A HREF="http://www.projectmayo.com">Project Mayo</A>. Ihre
ersten verf&uuml;gbaren alpha-Versionen waren OpenDivX 4.0 alpha 47 und 48.
Unterst&uuml;tzung daf&uuml;r war fr&uuml;her standardgem&auml;&szlig; in
MPlayer eingebaut. Es wurde auch deren Postprocessing Code verwendet, um
optional die Bildqualit&auml;t von MPEG1/2-Filmen zu verbessern. Nun benutzen
wir unseren eigenen f&uuml;r alle Dateitypen.</P>

<P>Die neue Version dieses Codecs heisst DivX4Linux und kann sogar Filme
decodieren, die mit dem ber&uuml;chtigten DivX-Codec (DivX 3 ;-)) erzeugt
wurden!  Dazu ist sie noch um einiges schneller als die traditionelle
Win32-DivX-DLL aber immer noch langsamer als libavcodec. Vom Gebrauch dieses
Codecs wird desshalb <B>abgeraten</B>. Er l&auml;sst sich jedoch trotzdem zum
Encodieren verwenden. Ein Nachteil diese Codecs ist, dass er zurzeit
nicht unter einer OpenSource-Lizenz verf&uuml;gbar ist.</P>

<P>MPlayer erkennt automatisch, ob DivX4/DivX5 korrekt installiert ist,
du kannst ihn wie gew&ouml;hnlich kompilieren. Wenn es nicht erkannt wird,
wurde es nicht korrekt installiert oder konfiguriert.</P>

<P>DivX4Linux arbeitet in zwei verschiedenen Modi:</P>

<DL>
  <DT><CODE>-vc odivx</CODE></DT>
  <DD>Spricht den Codec so wie den alten OpenDivX-Codec an. In diesem Fall
    produziert der Codec YV12-Bilder in seinem eigenen Puffer, und
    MPlayer nimmt die Farbraumkonvertierung mittels libvo vor
    (<B>schneller und empfohlener Modus!</B>).</DD>
  <DT><CODE>-vc divx4</CODE></DT>
  <DD>Benutzt die Farbraumkonvertierung des Codecs. In diesem Modus kannst
    du auch YUY2/UYVY benutzen (<B>LANGSAM</B>).</DD>
</DL>

<P>Der <CODE>-vc odivx</CODE>-Modus ist normalerweise schneller, da er die
Daten in einem YV12-Format (planares YUV 4:2:0) &uuml;bermittelt, was weniger
Bandbreite f&uuml;r den Bus bedeutet. F&uuml;r gepackte YUV-Formate (YUY2,
UYVY) verwende den <CODE>-vc divx4</CODE>-Modus. F&uuml;r den RGB-Modus ist die
Geschwindigkeit gleich und h&auml;ngt am ehesten von deiner momentanen
Farbtiefe ab.</P>

<P><B>Hinweis:</B> Wenn der -vo-Treiber "direct rendering" unterst&uuml;tzt,
ist <CODE>-vc divx4</CODE> wahrscheinlich die schnellere oder sogar die 
schnellste L&ouml;sung.</P>

<P>Die bin&auml;re DivX4/5-Bilbiothek kann von
<A HREF="http://avifile.sourceforge.net">avifile</A> oder
<A HREF="http://www.divx.com">divx.com</A> heruntergeladen werden.
heruntergeladen werden. Entpacke ihn, starte <CODE>./install.sh</CODE> als
root, und vergiss nicht, <CODE>/usr/local/lib</CODE> deiner
<CODE>/etc/ld.so.conf</CODE> hinzuzuf&uuml;gen und <CODE>ldconfig</CODE>
aufzurufen.</P>

<P>Besorge dir die CVS-Version der ALTEN OpenDivX-Kernbibliothek wie folgt:</P>

<OL>
  <LI><CODE>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot
     login</CODE></LI>
  <LI><CODE>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co
     divxcore</CODE></LI>
  <LI>Diese Kernbibliothek inst in eine Dekodierbibliothek und eine
    Enkodierbibliothek aufgeteilt, sie separat compiliert werden m&uuml;ssen.
    Bei der Dekodierbibliothek gibst du einfach folgendes ein:
    <PRE>
      cd divxcore/decore/build/linux
      make
      cp libdivxdecore.so /usr/local/lib 
      ln -s libdivxdecore.so /usr/local/lib/libdivxdecore.so.0 
      cp ../../src/decore.h /usr/local/include
    </PRE>
    </LI>
  <LI>F&uuml;r die Enkodierbibliothek gibt es leider kein Linux-Makefile,
    und der MMX-optimierte Code funktioniert auch nur unter Windows. Du kannst
    die Bibliothek aber trotzdem compilieren, wenn du dieses
    <A HREF="ftp://ftp.mplayerhq.hu/MPlayer/contrib/divx-mf/Makefile">
    Makefile</A> benutzt:
    <PRE>
      cd ../../../encore/build
      mkdir linux
      cd linux
      cp path/Makefile .
      make
      cp libdivxencore.so /usr/local/lib
      ln -s libdivxencore.so /usr/local/lib/libdivxencore.so.0
      cp ../../src/encore.h /usr/local/include
    </PRE>
    </LI>
</OL>

<P>MPlayer findet DivX4/DivX5 automatisch, sofern es richtig installiert
wurde. Compiliere also einfach wie sonst auch. Wenn <CODE>configure</CODE>
die Bibliothek nicht findet, dann hast du DivX4/5 einfach nicht richtig
installiert.</P>


<H4><A NAME="libavcodec">2.2.1.2 FFmpeg's DivX/libavcodec</A></H4>

<P>Das <A HREF="http://ffmpeg.sourceforge.net">FFmpeg</A>-Projekt enth&auml;lt
ein <B>Open-Source</B>-Codec-Paket, das f&auml;hig ist, mit
H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1/WMV2/HuffYUV codiertes Video
und mit WMA (Windows Media Audio) codiertes Audio zu decodieren. Man kann nicht
nur einige dieser Codecs zum Encodieren benutzen, sondern die Geschwindigkeit
ist sogar um einiges h&auml;her als die der Win32-Codecs oder der ProjectMayo
DivX4/5-Bibliothek!</P>

<P>FFmpeg beinhaltet auch viele nette Codecs. Die wichtigsten sind die
MPEG4-Varianten: DivX3, DivX4, DivX5, Windows Media Video 7 (WMV1). Ein
weiterer sehr interessanter Deocder ist der f&uuml;r WMA.</P>

<P>Wenn ein offizielles MPlayer-Release verwendet wird, befindet sich
libavcodec (die Codec-Bilbiothek des FFmpeg-Projektes) bereits im Paket,
welches normal kompiliert werden kann. Wenn du die MPlayer-Sourcen per
CVS runterl&auml;dst, musst du die libavcodec vom FFmpeg CVS-Server verwenden,
da das offizielle FFmpeg-Release 0.4.5 <B>nicht</B> mit MPlayer
zusammen l&auml;uft. Um dies zu erreichen gibst du folgendes ein:</P>

<OL>
  <LI><CODE>cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg
    login</CODE></LI>
  <LI><CODE>cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg
    co ffmpeg</CODE></LI>
  <LI>Das <CODE>libavcodec</CODE>-Verzeichnis von den FFmpeg-Sourcen muss in's
    Hauptverzeichnis des MPlayer CVS-Baums verschoben/kopiert werden.
    Es sollte etwa so aussehen:
    <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>main/libavcodec</CODE></P>
    Das Erstellen eines symbolischen Links ist <B>nicht</B> genug; es muss
    kopiert/verschoben werden!</LI>
  <LI>Es folgt die Compilierung. configure sollte Probleme vor der
    Compilierung erkennen.</LI>
</OL>

<P><B>Hinweis:</B> Die MPlayer-Sourcen im CVS enthalten ein
libavcodec-Unterverzeichnis. Es enth&auml;lt jedoch <B>nicht</B> den Quellcode
von libavcodec! Du musst - wie oben beschrieben - dir die CVS-Version von 
FFmpeg besorgen.</P>

<P>Mit FFmpeg und meiner Matrox G400 kann ich sogar DivX-Filme in hoher 
Aufl&ouml;sung auf meinem K6/2 500 ohne Framedrops betrachten.</P>


<H4><A NAME="xanim">2.2.1.3 XAnim-Codecs</A></H4>

<H4>VORWORT</H4>

<P>Es ist darauf hinzuweisen, dass die XAnim-Binary-Codecs mit
einem Textst&uuml;ck geliefert werden, das eine legal bindende Softwarelizenz
sein soll, welche (neben einigen anderen Einschr&auml;nkungen) dem Benutzer das
Verwenden der Codecs mit anderen Programmen als XAnim verbietet. Der
XAnim-Autor hat jedoch noch keine rechtliche Schritte gegen irgendjemanden
wegen Codec bezogenen Fragen unternommen.</P>

<H4>INSTALLATION UND BEDIENUNG</H4>

<P>MPlayer kann XAnims Codecs f&uuml;r das Decodieren verwenden. Um
diese zu aktivieren, solltest folgenden Anweisungen folgen:</P>

<OL>
  <LI>Lade dir die Codecs, die du verwenden willst, von der 
    <A HREF="http://xanim.va.pubnix.com">XAnim-Seite</A> herunter. 
    Der <B>3ivx</B> Codec befindet sich nicht dort. Er kann jedoch von der
    <A HREF="http://www.3ivx.com">3ivx-Seite</A> heruntergeladen werden.</LI>
  <LI><B>ODER</B> lade dir das Codec-Paket von unserer
    <A HREF="http://www.mplayerhq.hu/MPlayer/releases/codecs/">Codecseite</A>
    herunter.</LI>
  <LI>Verwende die <CODE>--with-xanimlibdir</CODE>-Option, um configure zu
    sagen, wo es die XAnim-Codecs finden kann. Normalerweise werden diese in 
    <CODE>/usr/local/lib/xanim/mods</CODE>, <CODE>/usr/lib/xanim/mods/</CODE>
    und <CODE>/usr/lib/xanim</CODE> gesucht. Weiterhin kannst du auch die
    Umgebungsvariable <I>XANIM_MOD_DIR</I> auf den Verzeichnisnamen
    der XAnim-Codecs setzen.</LI>
  <LI>Entferne/Symlinke die Dateinamen, wobei du das Architektur-Zeugs
    l&ouml;schst, sodass die Dateinamen etwa so aussehen:
    <CODE>vid_cvid.xa</CODE>, <CODE>vid_h263.xa</CODE>,
    <CODE>vid_iv50.xa</CODE>.</LI>
</OL>
  
<P>XAnim ist die Videocodec-Familie <CODE>xanim</CODE>. Du kannst also die
<CODE>-vfm xanim</CODE>-Option verwenden, um MPlayer zu sagen, dass er
sie, wenn m&ouml;glich, verwenden soll.</P>
	  
<P>Die getesteten Codecs beinhalten: <B>Indeo 3.2</B>, <B>4.1</B>, <B>5.0</B>,
<B>CVID</B>, <B>3ivX</B>, <B>h263</B>.</P>


<H4><A NAME="vivo_video">2.2.1.4 VIVO-Video</A></H4>

<P>MPlayer kann VIVO (1.0 und 2.0) Videos abspielen. Der beste geeignete Codec
f&uuml;r 1.0-Dateien ist FFmpegs H263-Decoder. Du kannst ihn mit der <CODE>-vc
ffh263</CODE>-Option aufrufen. F&uuml;r v2.0-Dateien musst du die Win32-DLLs
mit der Option <CODE>-vc vivo</CODE> benutzen. Wenn du keine expliziten Angaben
zum Codec auf der Kommandozeile machst, so w&auml;hlt MPlayer automatisch den
besten aus.</P>


<H4><A NAME="mpeg">2.2.1.5 MPEG 1/2-Video</A></H4>

<P>MPEG1 und MPEG2 werden von der eingebauten Multiplatform-Bibliothek
<B>libmpeg2</B> decodiert, deren Source in MPlayer enthalten ist. Wir
spielen fehlerhafte MPEG1/2-Videos durch das Abfangen des sig11 (segmentation
fault) und die anschlie&szlig;end schnelle Neuinitialisierung des Codecs ab.
Dadurch kann exakt an der Stelle des Fehlers fortgefahren werden. Es ist dabei
kein Geschwindigkeitsverlust messbar.</P>


<H4><A NAME="ms_video1">2.2.1.6 MS Video 1</A></H4>

<P>Dies ist dein sehr alter und sehr schlechter Codec von Microsoft. In der
Vergangenheit wurde es mit dem <CODE>msvidc32.dll</CODE> Win32-Codec decodiert,
aber nun haben wir einen Open-Source-Codec (von <A
HREF="mailto:melanson@pcisys.net">Mike Melanson</A>) eingebaut.</P>


<H4><A NAME="cinepak">2.2.1.7 Cinepak CVID</A></H4>

<P>MPlayer verwendet normalerweise seinen eigenen, Open-Source
multiplatformf&auml;higen Cinepak-Decoder, der von <A
HREF="mailto:timf@csse.monash.edu.au">Dr. Tim Ferguson</A> geschrieben wurde.
Er unterst&uuml;tzt YUV-Ausgabe, was Hardwarescaling erm&ouml;glicht, wenn dies
vom Videoausgabetreiber unterst&uuml;tzt wird.</P>


<H4><A NAME="realvideo">2.2.1.8 RealVideo</A></H4>

<P>MPlayer unterst&uuml;tzt die Dekodierung aller Versionen von
RealVideo:</P>

<UL>
  <LI>RealVideo 1.0 (fourcc RV10) - En/Dekodierung durch <B>libavcodec</B>
    unterst&uuml;tzt</LI>
  <LI>RealVideo 2.0, 3.0, 4.0 (fourcc RV20, RV30, RV40) - Dekodierung durch die
    <B>RealPlayer Libraries</B> unterst&uuml;tzt</LI>
</UL>

<P> Es wird empfohlen, RealPlayer8 oder RealONE herunterzuladen und zu
installieren, da MPlayer deren Bibliotheken verwenden kann, um RealVideo
2.0, 3.0 oder 4.0 zu decodieren. Das <CODE>configure</CODE>-Script von
MPlayer sollte die RealPlayer-Bibliotheken an der normalen Stelle der
Vollinstallation finden. Falls nicht, kannst du <CODE>configure</CODE>
&uuml;ber die Option <CODE>--with-reallibdir</CODE> mitteilen, wo sie zu
suchen/finden sind.</P>

<P><B>Hinweis:</B> Momentan <B>funktionieren die RealPlayer-Bibliotheken nur
mit Linux, FreeBSD, NetBSD und Cygwin auf der x86 oder der Alpha-Plattform.</B>
</P>


<H4><A NAME="xvid">2.2.1.9 XviD</A></H4>

<P><A HREF="http://www.xvid.org/"><B>XviD</B></A> ist eine abgespaltene
Entwicklung des OpenDivX-Codecs. Es geschah, als ProjectMayo OpenDivX in das
ClosedSource-Projekt DivX4 (jetzt DivX5) &auml;nderte, woraufhin die Leute, die
an OpenDivX aber nicht beim ProjectMayo arbeiteten, sauer wurden und XviD
starteten. Beide Projekte haben also den selben Urpsrung.</P>

<H4>VORTEILE</H4>

<UL>
  <LI>Open Source</LI>
  <LI>Das API ist kompatibel mit DivX4, sodass es leicht ist,
    Unterst&uuml;tzung daf&uuml;r einzubauen.</LI>
  <LI>2-Pass Encodierungs-Unterst&uuml;tzung</LI>
  <LI>gute Encodierungsqualit&auml;t, h&ouml;here Geschwindigkeit als DivX4
    (man kann es w&auml;hrend des Compilierens f&uuml;r den jeweiligen Rechner
    optimieren)</LI>
</UL>

<H4>NACHTEILE</H4>

<UL>
  <LI>Es <B>decodiert</B> momentan nicht alle DivX/DivX4-Dateien sauber
    (kein Problem, da man sie ja immer noch mit der libavcodec abspielen kann).
    </LI>
  <LI>Man muss sich beim Compilieren f&uuml;r die DivX4- <B>ODER</B> 
    XviD-Unterst&uuml;tzung entscheiden.</LI>
  <LI>in der Entwicklung</LI>
</UL>

<H4>INSTALLATION DER XVID-CVS-VERSION</H4>

<P>XviD ist momentan nur als CVS erh&auml;ltlich. Hier sind die
Download- und Installations-Anweisungen:</P>

<OL>
  <LI><CODE>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</CODE></LI>
  <LI><CODE>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co
    xvidcore</CODE></LI>
  <LI><CODE>cd xvidcore/build/generic</CODE></LI>
  <LI>&auml;ndere <CODE>Makefile.linux</CODE> deinen Bed&uuml;rfnissen
    entsprechend</LI>
  <LI><CODE>make -f Makefile.linux</CODE><LI>
  <LI>Nimm die <CODE>encore2.h</CODE> und <CODE>decore.h</CODE> vom 
    Divx4linux-Paket und kopiere diese nach <CODE>/usr/local/include/</CODE>.
    </LI>
  <LI>compiliere MPlayer neu mit
    <CODE>--with-xvidcore=/pfad/zu/libcore.a</CODE>.</LI>
</OL>


<H4><A NAME="sorenson">2.2.1.10 Sorenson</A></H4>

<P><B>Sorenson</B> ist eine von Sorenson Media entwickelte und von Apple
lizensierte Videocodecfamilie. Wir sind momentan in der Lage, alle Videos zu
decodieren, die mit einer der folgenden Sorenson-Versionen erstellt wurden:</P>

<UL>
  <LI>Sorenson 1 (fourcc <I>SVQ1</I>) - Decodierung durch <B>selbstentwickelte
    Codecs</B>. Tats&auml;chlich gibt es zwei (qualitativ nahezu identische)
    Decoder f&uuml;r SVQ1: Einer ist der in MPlayer enthaltene
    OpenSource-Codec, der andere ist der in libavcodec vorhandene Decoder.
    Du kannst sie mit <CODE>-vc svq1</CODE> respektive <CODE>-vc ffsvq1</CODE>
    benutzen. Manche Dateien funktionieren eventuell nur mit einem der beiden
    Decoder. Probier als bei problematischen Dateien beide Decoder aus.
    Der Decoder wurde von den
    <A HREF="http://www.xinehq.de">xine</A>-Autoren geschrieben.</LI>
  <LI>Sorenson 3 (fourcc <I>SVQ3</I>) - Decodierung mit den
    <B>Win32-QuickTime-Bibliotheken</B></LI>
</UL>

<H4>COMPILIERUNG VON MPLAYER MIT UNTERST&Uuml;TZUNG F&Uuml;R
QUICKTIME-BIBLIOTHEKEN</H4>

<P><B>Anmerkung:</B> Momentan wird nur die 32bit-Intel-Architektur
unterst&uuml;tzt. </P>

<OL>
  <LI>Lade die CVS-Version von  MPlayer herunter.</LI>
  <LI>Compiliere MPlayer mit:<BR>
    <CODE>$ ./configure --enable-qtx-codecs</CODE></LI>
  <LI>Lade dir das QuickTime-DLL-Paket von
    <A HREF="http://www.mplayerhq.hu/MPlayer/releases/codecs">http://www.mplayerhq.hu/MPlayer/releases/codecs</A>
    herunter.</LI>
  <LI>Entapcke die QuickTime-DLLs in dein Win32-Codec-Verzeichnis, das
    standardm&auml;&szlig;ig <CODE>/usr/lib/codecs</CODE> ist.</LI>
</OL>

s
<H3><A NAME="audio_codecs">2.2.2 Audio-Codecs</A></H3>

<P>Die wichtigsten Audiocodecs als erstes:</P>

<UL>
  <LI>MPEG layer 2 und layer 3 (MP3) Audio (<B>eingebauter</B> Code, mit
    MMX/SSE/3DNow!-Optimierungen)</LI>
  <LI>MPEG layer 1 Audio (<B>eingebauter</B> Code, mit libavcodec)</LI>
  <LI>Windows Media Audio 9 (WMAv3) (mit der DMO-DLL)</LI>
  <LI>AC3 Dolby Audio (<B>eingebauter</B> Code, mit
    MMX/SSE/3DNow!-Optimierungen)</LI>
  <LI>Ogg Vorbis Audiocodec (<B>eingebaute</B> Bibliothek)</LI>
  <LI>RealAudio: DNET (AC3 mit niedriger Bitrate), Cook, Sipro, Atrac</LI>
  <LI>QuickTime: Qualcomm und QDesign Audiocodecs</LI>
  <LI>VIVO Audio (G723, Vivo Siren)</LI>
  <LI>Voxware Audio (Verwendung der DirectShow-DLL)</LI>
  <LI>alaw, MSGSM, PCM und andere einfache, alte Audioformate</LI>
</UL>


<H4><A NAME="software_ac3">2.2.2.1 AC3-Decodierung in Software</A></H4>

<P>Dieser ist der standardm&auml;&szlig;e Dekoder f&uuml;r Dateien mit
AC3-Audio.</P>

<P>Der AC3 Dekoder kann die Audio-Ausgabe f&uuml;r 2, 4 oder 6 Lautsprecher
erzeugen. Wenn er f&uuml;r 6 Lautsprecher konfigieriert ist, unterst&uuml;tzt
dieser Decoder die Ausgabe aller AC3-Kan&auml;le an den Soundtreiber. Damit
erm&ouml;glicht er die vollst&auml;ndige "Surround Sound"-Erfahrung ohne einen
externen AC3-Decoder, der bei der Verwendung des hwac3-Codecs n&ouml;tig
ist.</P>

<P>Verwende die <CODE>-channels</CODE>-Option um die Anzahl der
Ausgabekan&auml;le zu w&auml;hlen. Verwende <CODE>-channels 2</CODE> f&uuml;r
Downmix auf Stereo. F&uuml;r Downmix auf 4 Kan&auml;le (links vorne, rechts
vorne, links Surround und rechts Surround) verwende <CODE>-channels 4</CODE>.
In diesem Fall werden alle Center-K&auml;nale gleichm&auml;&szlig;ig den
Frontkan&auml;len beigemischt. <CODE>-channels 6</CODE> gibt alle
AC3-Kan&auml;le wie Aufgezeichnet in der Reihenfolge links, rechts, 
links Surround, rechts Surround, Center und LFE aus.</P>

<P>Die Standardanzahl der Ausgabekan&auml;le ist 2.</P>

<P>Um mehr als 2 Kan&auml;le zu verwenden, musst du OSS verwenden und eine
Soundkarte besitzen, die die Anzahl der Ausgabekan&auml;le via
SNDCTL_DSP_CHANNELS ioctl unterst&uuml;tzt.  Ein Beispiel eines passenden
Treibers ist emu10k1 (verwendet bei SB Live! Karten) vom August 2001 oder neuer
(ALSA CVS sollte auch funktionieren).</P>


<H4><A NAME="hardware_ac3">2.2.2.2 AC3 Decodierung in Hardware</A></H4>

<P>Du brauchst eine AC3-f&auml;hige Soundkarte mit einem Digitalausgang
(SP/DIF). Der Treiber muss das AFMT_AC3 Format richtig unterst&uuml;tzen (wie
z.B. der f&uuml;r die C-Media-Karten). Verbinde den AC3-Decoder mit dem
SP/DIF-Ausgang, und benutze die Option <CODE>-ac hwac3</CODE>. Dieser Code
ist not experimentell, laeuft aber bekannterma&szlig;en mit C-Media-Karten,
SoundBlaster Live!-Karten mit dem ALSA-Treiber (aber nicht mit dem OSS-Treiber)
und mit den DXR3/Hollywood+-MPEG-Decoderkarten.</P>


<H4><A NAME="libmad">2.2.2.3 libmad-Unterst&uuml;tzung</A></H4>

<P><A HREF="http://mad.sourceforge.net">libmad</A> ist eine
Multiplattform-Bibliothek f&uuml;r die Decodierung von MPEG-Audio. Sie
verarbeitet kaputte Dateien nicht so gut und hat teilweise Probleme mit dem
Suchen.</P>

<P>Um die Unterst&uuml;tzung zu aktivieren, verwende configure mit der Option
<CODE>--enable-mad</CODE>.</P>


<H4><A NAME="vivo_audio">2.2.2.4 VIVO-Audio</A></H4>

<P>Der verwendete Audiocodec in VIVO-Dateien h&auml;ngt davon ab, ob es eine
VIVO/1.0- oder VIVO/2.0-Datei ist. VIVO/1.0-Dateien verwenden
<B>g.723</B>-Audio und VIVO/2.0-Dateien <B>Vivo-Siren</B>-Audio.  Beide werden
unterst&uuml;tzt.</P>


<H4><A NAME="realaudio">2.2.2.5 RealAudio</A></H4>

<P>MPlayer unterst&uuml;tzt die Dekodierung fast aller
RealAudio-Versionen:</P>

<UL>
  <LI>RealAudio DNET - Decodierung durch <B>liba52</B></LI>
  <LI>RealAudio Cook/Sipro/Atrac - Decodierung durch die
    <B>RealPlayer-Bibliotheken</B></LI>
</UL>

<P>Wie die RealPlayer Libraries installiert werden k&ouml;nnen, wird in der
<A HREF="#realvideo">RealVideo-Sektion</A> behandelt.</P>


<H4><A NAME="qdesign">2.2.2.6 QDesign-Codecs</A></H4>

<P>QDesign-Audio (fourcc: <I>QDMC</I>, <I>QDM2</I>) findest du in
MOV/QT-Dateien. Beide Versionen dieses Codecs k&ouml;nnen mit den 
QuickTime-Bibliotheken decodiert werden. Schau in der <A
HREF="#sorenson">Sorenson-Video-Codec-Sektion</A> f&uuml;r
Installationsanweisungen nach.</P>

<H4><A NAME="qclp">2.2.2.7 Qualcomm-Codec</A></H4>

<P>Qualcomm-Audiostreams (FourCC: <I>Qclp</I>) finden sich in MOV/QT-Dateien.
Sie k&ouml;nnen mit den Quicktime-Bibliotheken decidiert werden.
Installationsanweisungen findest du in der Sektion &uuml;ber den
<A HREF="#sorenson">Sorenson Videocodec</A>.</P>


<H3><A NAME="importing">2.2.3 Win32 Codec-Importierungs-HOWTO</A></H3>

<H4><A NAME="importing_vfw">2.2.3.1 VfW-Codecs</A></H4>

<P>VfW (Video for Windows) ist die alte Video-Schnittstelle f&uuml;r Windows.
Diese Codecs haben die Erweiterung .DLL oder (eher selten) .DRV.
Wenn MPlayer mit folgender Meldung fehlschl&auml;gt, ein AVI
abzuspielen:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>UNKNOWN video codec: HFYU (0x55594648)</CODE>
</P>

<P>...bedeutet es, dass das AVI mit einem Codec erstellt wurde, der den fourcc
HFYU besitzt (HFYU = HuffYUV-Codec, DIV3 = DivX Low Motion, usw...). Jetzt
musst du nur noch herausgefunden, welche DLL Windows l&auml;dt, um diese Datei
abzuspielen. In diesem Fall enth&auml;lt die <CODE>System.ini</CODE> diese
Information in solch einer Zeile:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>VIDC.HFYU=huffyuv.dll</CODE></P>

<P>Also braucht man die Datei huffyuv.dll. Hinweis: die Audio-Codecs werden
durch das MSACM-Prefix angegeben:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>msacm.l3acm=L3codeca.acm</CODE></P>

<P>Dies ist ein MP3 Codec. Da du nun alle n&ouml;tigen Informationen hast
(fourcc, Codec-Datei, AVI-Beispiel), solltest du per Mail um Unterst&uuml;tzung
f&uuml;r diesen Codec bitten und die Dateien auf folgenden FTP-Server
hochladen:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/</CODE></P>

<P><B>Anmerkung:</B> Auf Windows NT/2000/XP-Systemem solltest du in der Registry
nach diesen Informationen suchen, also z.B. nach "VIDC.HFYU". Um herauszufinden,
wie das geht, lies die Sektion "alte DirectShow-Methode".</P>


<H4><A NAME="importing_directshow">2.2.3.2 DirectShow Codecs</A></H4>

<P>DirectShow ist die neuere Video-Programmierschnittstelle, welche noch
schlimmer als ihr Vorg&auml;nger ist. Den Namen der DLL herauszufinden ist bei
DirectShow schwieriger, weil...</P>

<UL>
  <LI>die <CODE>system.ini</CODE> nicht mehr die ben&ouml;tigten Informationen
    enth&auml;lt (stattdessen stehen diese in der Registry), und weil</LI
  <LI>man die GUID des Codecs braucht.</LI>
</UL>

<P><B>Neue Methode:</B> mittels Microsoft GraphEdit (schnell)</P>

<OL>
  <LI>Besorg dir GraphEdit entweder aus dem DirectX-SDK oder von
    <A HREF="http://doom9.org">Doom9</A>.</LI>
  <LI>Starte <CODE>graphedit.exe</CODE>.</LI>
  <LI>W&auml;hle im Men&uuml; "Graph -&gt; Insert Filters".</LI>
  <LI>Klappe <CODE>DirectShow Filters</CODE> auf.</LI>
  <LI>Suche und w&auml;hle den richtigen Codec, dann klappe auch diesen auf.
    </LI>
  <LI>Der Eintrag <CODE>DisplayName</CODE> enth&auml;lt die gesuchte GUID.
    Diese steht nach dem Backslash (\) in geschweiften Klammern und besteht
    aus f&uuml;nf Bl&ouml;cken mit Ziffern und Buchstaben, die jeweils mit
    Punkten voneinander getrennt sind. Schreib diese GUID auf.</LI>
  <LI>Der Dateiname des Codecs steht im Eintrag <CODE>Filename</CODE>.
</OL>

<P><B>Anmerkdung:</B> Wenn es keinen Eintrag namens <CODE>Filename</CODE> gibt
und der <CODE>DisplayName</CODE>-Eintrag etwas in der Art
<CODE>device:dmo</CODE> enth&auml;lt, so handelt es sich um einen DMO-Codec.</P>

<P><B>Alte Methode</B>: Atme tief durch und beginne mit dem Durchsuchen der
Registry...</P>

<OL>
  <LI>Starte <CODE>regedit</CODE></LI>
  <LI>Dr&uuml;cke <CODE>Strg-f</CODE>, deaktiviere die ersten beiden
    Auswahlfelder und aktiviere das Dritte. Nun gib den fourcc des Codecs ein
    (z.B.: TM20).</LI>
  <LI>Du solltest ein Feld sehen, welches den Pfad und Dateinamen enth&auml;lt
    (z.B.: <CODE>C:\WINDOWS\SYSTEM\TM20DEC.AX</CODE>).</LI>
  <LI>Jetzt da man die Datei hat, braucht man die GUID. Versuche erneut zu
    suchen, aber nun nach dem Codec-Namen, nicht nach der fourcc. Der
    Codec-Name kann bei der Wiedergabe mit dem Windows Media Player
    herausgefunden werden, indem man unter Datei -&gt; Eigenschaften -&gt; 
    Erweitert nachschaut. Falls dies nichts bringt, hast du Pech. Versuche zu
    raten (suche z.B. nach: TrueMotion).</LI>
  <LI>Wenn die GUID gefunden wurde, sollte ein FriendlyName- und ein CLSID-Feld
    auftauchen. Schreibe die 16 Byte lange CLSID auf, dies ist die von uns
    ben&ouml;tigte GUID.</LI>
</OL>

<P><B>Hinweis:</B> Wenn die Suche fehlschl&auml;gt, versuche alle Auswahlfelder
zu aktivieren. Du wirst m&ouml;glicherweise falsche Ergebnisse finden, aber
vielleicht hast du auch Gl&uuml;ck...</P>

<P>Da du nun alle n&ouml;tigen Informationen hast (fourcc, GUID, Codec-Datei,
AVI-Beispiel), solltest du per Mail um Unterst&uuml;tzung f&uuml;r diesen Codec
bitten und die Dateien auf folgenden FTP-Server hochladen:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/
</CODE></P>

</BODY>
</HTML>