mirror of https://github.com/mpv-player/mpv
597 lines
25 KiB
HTML
597 lines
25 KiB
HTML
<!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ü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ür die komplette, täglich generierte Liste.</P>
|
|
|
|
<P>Die wichtigsten Video-Codecs:</P>
|
|
|
|
<UL>
|
|
<LI>MPEG1 (VCD) und MPEG2 (DVD) Video</LI>
|
|
<LI>eingebauter Dekoder für DivX ;-), OpenDivX, DivX4, DivX5,
|
|
M$ MPEG4 v1, v2 und andere MPEG4-Varianten</LI>
|
|
<LI>eingebauter Decoder für Windows Media Video 7 (WMV1) und
|
|
Win32-DLL-Decoder für Windows Media Video 8 (WMV2). Beide werden in
|
|
.wmv-Dateien verwendet</LI>
|
|
<LI><B>eingebauter Sorenson 1 (SVQ1) Decoder</B></LI>
|
|
<LI><B>Win32/QT Sorenson 3 (SVQ3) Decoder</B></LI>
|
|
<LI>3ivx-Decoder</LI>
|
|
<LI>Cinepak und Intel Indeo Codecs (3.1, 3.2, 4.1, 5.0)</LI>
|
|
<LI>MJPEG, AVID, VCR2, ASV2 und andere Hardwareformate</LI>
|
|
<LI>VIVO 1.0, 2.0, I263 und andere h263(+)-Varianten</LI>
|
|
<LI>FLI/FLC</LI>
|
|
<LI>RealVideo 1.0 von libavcodec und RealVideo 2.0, 3.0 und 4.0
|
|
durch die RealPlayer-Libraries</LI>
|
|
<LI>eingebauter Decoder für HuffYUV</LI>
|
|
<LI>Verschiedene alte, einfache RLE-ähnliche Formate</LI>
|
|
</UL>
|
|
|
|
<P>Wenn du einen Win32-Codec hast, der noch nicht aufgelistet und
|
|
unterstützt ist, dann lies <A HREF="#importing">Win32
|
|
Codec-Importierungs-HOWTO</A> und hilf uns, die Unterstützung
|
|
hinzuzufügen.</P>
|
|
|
|
|
|
<H4><A NAME="divx">2.2.1.1. DivX4/DivX5</A></H4>
|
|
|
|
<P>Diese Sektion enthält Informationen über den DivX4- und
|
|
Divx5-Codec vom <A HREF="http://www.projectmayo.com">Project Mayo</A>. Ihre
|
|
ersten verfügbaren alpha-Versionen waren OpenDivX 4.0 alpha 47 und 48.
|
|
Unterstützung dafür war früher standardgemäß in
|
|
MPlayer eingebaut. Es wurde auch deren Postprocessing Code verwendet, um
|
|
optional die Bildqualität von MPEG1/2-Filmen zu verbessern. Nun benutzen
|
|
wir unseren eigenen für alle Dateitypen.</P>
|
|
|
|
<P>Die neue Version dieses Codecs heisst DivX4Linux und kann sogar Filme
|
|
decodieren, die mit dem berü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ässt sich jedoch trotzdem zum
|
|
Encodieren verwenden. Ein Nachteil diese Codecs ist, dass er zurzeit
|
|
nicht unter einer OpenSource-Lizenz verfügbar ist.</P>
|
|
|
|
<P>MPlayer erkennt automatisch, ob DivX4/DivX5 korrekt installiert ist,
|
|
du kannst ihn wie gewö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) übermittelt, was weniger
|
|
Bandbreite für den Bus bedeutet. Für gepackte YUV-Formate (YUY2,
|
|
UYVY) verwende den <CODE>-vc divx4</CODE>-Modus. Für den RGB-Modus ist die
|
|
Geschwindigkeit gleich und hängt am ehesten von deiner momentanen
|
|
Farbtiefe ab.</P>
|
|
|
|
<P><B>Hinweis:</B> Wenn der -vo-Treiber "direct rendering" unterstützt,
|
|
ist <CODE>-vc divx4</CODE> wahrscheinlich die schnellere oder sogar die
|
|
schnellste Lösung.</P>
|
|
|
|
<P>Der codec kann von <A HREF="http://avifile.sourceforge.net">avifile</A>
|
|
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ügen und <CODE>ldconfig</CODE>
|
|
aufzurufen.</P>
|
|
|
|
<P>Besorge dir die CVS-Version der 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üssen.
|
|
Bei der Dekodierbibliothek gibst du einfach folgendes ein:
|
|
<PRE>
|
|
cd divxcore/decore/build/linux
|
|
make
|
|
cp libdivxdecore.so /usr/local/lib
|
|
ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0
|
|
cp ../../src/decore.h /usr/local/include
|
|
</PRE>
|
|
</LI>
|
|
<LI>Fü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 /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.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ält
|
|
ein <B>Open-Source</B>-Codec-Paket, das fähig ist, mit
|
|
H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1 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ä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ü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ä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ä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> <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ä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ösung auf meinem K6/2 500 ohne Framedrops betrachten.</P>
|
|
|
|
|
|
<H4><A NAME="xanim">2.2.1.3. XAnim-Codecs</A></H4>
|
|
|
|
<P>Vorwort:<BR> Es ist darauf hinzuweisen, dass die XAnim-Binary-Codecs mit
|
|
einem Textstück geliefert werden, das eine legal bindende Softwarelizenz
|
|
sein soll, welche (neben einigen anderen Einschrä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>
|
|
|
|
<P>MPlayer kann XAnims Codecs fü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>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ö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 Nummer 10. Du kannst also die
|
|
<CODE>-vfm 10</CODE>-Option verwenden, um MPlayer zu sagen, dass er
|
|
sie, wenn mö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ür 1.0-Dateien ist FFmpegs H263-Decoder. Du kannst ihn mit der
|
|
<CODE>-vc ffh263</CODE>-Option aufrufen (standard) (benötigt die neuesten
|
|
libavcodecs). Für 2.0-Dateien verwende die <A
|
|
HREF="http://www.mplayerhq.hu/MPlayer/samples/drivers32/ivvideo.dll">
|
|
ivvideo.dll</A> Win32-DLL und installiere sie unter <CODE>/usr/lib/win32</CODE>
|
|
oder wo auch immer du deine Win32-Codecs speicherst.</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 anschliessend schnelle neue Initialisierung 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ähigen Cinepak-Decoder. Er unterstützt YUV-Ausgabe,
|
|
was Hardwarescaling ermöglicht, wenn dies vom Videoausgabetreiber
|
|
unterstützt wird.</P>
|
|
|
|
|
|
<H4><A NAME="realvideo">2.2.1.8. RealVideo</A></H4>
|
|
|
|
<P>MPlayer unterstützt die Dekodierung aller Versionen von
|
|
RealVideo:</P>
|
|
|
|
<UL>
|
|
<LI>RealVideo 1.0 (fourcc RV10) - En/Dekodierung durch <B>libavcodec</B>
|
|
unterstützt</LI>
|
|
<LI>RealVideo 2.0, 3.0, 4.0 (fourcc RV20, RV30, RV40) - Dekodierung durch die
|
|
<B>RealPlayer Libraries</B> unterstü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>
|
|
ü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>
|
|
|
|
<P><B>Hinweis2:</B> Wir können die RealPlayer-Bibliotheken nicht zum
|
|
Download zur Verfügung stellen oder sie mit MPlayer vertreiben, da
|
|
die Lizenz es nicht erlaubt. Du musst sie selbst runterladen.</P>
|
|
|
|
|
|
<H4><A NAME="xvid">2.2.1.9. XviD</A></H4>
|
|
|
|
<P><B>XviD</B> ist eine abgespaltene Entwicklung des OpenDivX-Codecs. Es
|
|
geschah, als ProjectMayo OpenDivX in das ClosedSource-Projekt DivX4 (jetzt
|
|
DivX5) ä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ützung dafür einzubauen.</LI>
|
|
<LI>2-Pass Encodierungs-Unterstützung</LI>
|
|
<LI>gute Encodierungsqualität, höhere Geschwindigkeit als DivX4
|
|
(man kann es während des Compilierens fü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ür die DivX4- <B>ODER</B>
|
|
XviD-Unterstützung entscheiden.</LI>
|
|
<LI>in der Entwicklung</LI>
|
|
</UL>
|
|
|
|
<H4>Installation:</H4>
|
|
|
|
<P>Es ist momentan nur als CVS erhä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>ändere <CODE>Makefile.linux</CODE> deinen Bedü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ächlich gibt es zwei (qualitativ nahezu identische)
|
|
Decoder fü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.</LI>
|
|
<LI>Sorenson 3 (fourcc <I>SVQ3</I>) - Decodierung mit den
|
|
<B>Win32-QuickTime-Bibliotheken</B></LI>
|
|
</UL>
|
|
|
|
<H4>Compilierung von MPlayer mit Support für die
|
|
QuickTime-Bibliotheken</H4>
|
|
|
|
<P><B>Anmerkung:</B> Momentan wird nur die 32bit-Intel-Architektur
|
|
unterstü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äßig <CODE>/usr/lib/win32</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äße Dekoder für Dateien mit
|
|
AC3-Audio.</P>
|
|
|
|
<P>Der AC3 Dekoder kann die Audio-Ausgabe für 2, 4 oder 6 Lautsprecher
|
|
erzeugen. Wenn er für 6 Lautsprecher konfigieriert ist, unterstützt
|
|
dieser Decoder die Ausgabe aller AC3-Kanäle an den Soundtreiber. Damit
|
|
ermöglicht er die vollständige "Surround Sound"-Erfahrung ohne einen
|
|
externen AC3-Decoder, der bei der Verwendung des hwac3-Codecs nötig
|
|
ist.</P>
|
|
|
|
<P>Verwende die <CODE>-channels</CODE>-Option um die Anzahl der
|
|
Ausgabekanäle zu wählen. Verwende <CODE>-channels 2</CODE> für
|
|
Downmix auf Stereo. Für Downmix auf 4 Kanäle (links vorne, rechts
|
|
vorne, links Surround und rechts Surround) verwende <CODE>-channels 4</CODE>.
|
|
In diesem Fall werden alle Center-Känale gleichmäßig den
|
|
Frontkanälen beigemischt. <CODE>-channels 6</CODE> gibt alle
|
|
AC3-Kanäle wie Aufgezeichnet in der Reihenfolge links, rechts,
|
|
links Surround, rechts Surround, Center und LFE aus.</P>
|
|
|
|
<P>Die Standardanzahl der Ausgabekanäle ist 2.</P>
|
|
|
|
<P>Um mehr als 2 Kanäle zu verwenden, musst du OSS verwenden und eine
|
|
Soundkarte besitzen, die die Anzahl der Ausgabekanäle via
|
|
SNDCTL_DSP_CHANNELS ioctl unterstü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ähige Soundkarte mit einem Digitalausgang
|
|
(SP/DIF). Der Treiber muss das AFMT_AC3 Format richtig unterstützen (wie
|
|
z.B. der fü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ß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ützung</A></H4>
|
|
|
|
<P><A HREF="http://mad.sourceforge.net">libmad</A> ist eine
|
|
Multiplattform-Bibliothek fü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ü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ä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ützt. Du kannst dafür die <A
|
|
HREF="http://www.mplayerhq.hu/MPlayer/samples/drivers32/vivog723.acm">g.723/Siren</A>-Win32-DLL
|
|
von der MPlayer-Seite herunterladen und in in das
|
|
<CODE>/usr/lib/win32</CODE>-Verzeichnis kopieren.</P>
|
|
|
|
|
|
<H4><A NAME="realaudio">2.2.2.5. RealAudio</A></H4>
|
|
|
|
<P>MPlayer unterstü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ö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önnen mit den
|
|
QuickTime-Bibliotheken decodiert werden. Schau in der <A
|
|
HREF="#sorenson">Sorenson-Video-Codec-Sektion</A> fü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önnen mit den Quicktime-Bibliotheken decidiert werden.
|
|
Installationsanweisungen findest du in der Sektion ü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ür Windows.
|
|
Diese Codecs haben die Erweiterung .DLL oder (eher selten) .DRV.
|
|
Wenn MPlayer mit folgender Meldung fehlschlägt, ein AVI
|
|
abzuspielen:</P>
|
|
|
|
<P> <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ädt, um diese Datei
|
|
abzuspielen. In diesem Fall enthält die <CODE>System.ini</CODE> diese
|
|
Information in solch einer Zeile:</P>
|
|
|
|
<P> <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> <CODE>msacm.l3acm=L3codeca.acm</CODE></P>
|
|
|
|
<P>Dies ist ein MP3 Codec. Da du nun alle nötigen Informationen hast
|
|
(fourcc, Codec-Datei, AVI-Beispiel), solltest du per Mail um Unterstützung
|
|
für diesen Codec bitten und die Dateien auf folgenden FTP-Server
|
|
hochladen:</P>
|
|
|
|
<P> <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änger ist. Den Namen der DLL herauszufinden ist bei
|
|
DirectShow schwieriger, weil...</P>
|
|
|
|
<UL>
|
|
<LI>die <CODE>system.ini</CODE> nicht mehr die benötigten Informationen
|
|
enthä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ähle im Menü "Graph -> Insert Filters".</LI>
|
|
<LI>Klappe <CODE>DirectShow Filters</CODE> auf.</LI>
|
|
<LI>Suche und wähle den richtigen Codec, dann klappe auch diesen auf.
|
|
</LI>
|
|
<LI>Der Eintrag <CODE>DisplayName</CODE> enthält die gesuchte GUID.
|
|
Diese steht nach dem Backslash (\) in geschweiften Klammern und besteht
|
|
aus fünf Blö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ält, so handelt es sich um einen DMO-Codec,
|
|
der momentan nicht von MPlayer unterstützt wird.</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ü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ä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 -> Eigenschaften ->
|
|
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ötigte GUID.</LI>
|
|
</OL>
|
|
|
|
<P><B>Hinweis:</B> Wenn die Suche fehlschlägt, versuche alle Auswahlfelder
|
|
zu aktivieren. Du wirst möglicherweise falsche Ergebnisse finden, aber
|
|
vielleicht hast du auch Glück...</P>
|
|
|
|
<P>Da du nun alle nötigen Informationen hast (fourcc, GUID, Codec-Datei,
|
|
AVI-Beispiel), solltest du per Mail um Unterstützung für diesen Codec
|
|
bitten und die Dateien auf folgenden FTP-Server hochladen:</P>
|
|
|
|
<P> <CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/
|
|
</CODE></P>
|
|
|
|
</BODY>
|
|
</HTML>
|