mirror of
https://github.com/mpv-player/mpv
synced 2024-12-25 00:02:13 +00:00
a26046efe6
r20870: Restore PowerPC gcc note that I mistakenly removed. r20872: Clarify -dumpaudio, it is not useful normally r20873: Misc issues noticed by Torinthiel. r20876: rename: XviD -> Xvid git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20877 b3059339-0415-0410-9bf9-f77b7e298cf2
680 lines
29 KiB
XML
680 lines
29 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- synced with r20876 -->
|
|
<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><simpara>
|
|
<emphasis role="bold">MPEG-1</emphasis> (<emphasis role="bold">VCD</emphasis>) und
|
|
<emphasis role="bold">MPEG-2</emphasis> (<emphasis role="bold">DVD</emphasis>) Video
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
Native Decoder für
|
|
<emphasis role="bold">alle DivX-Varianten, 3ivX, M$ MPEG-4</emphasis>
|
|
v1, v2 und andere MPEG-4 Varianten
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
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
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
Nativer <emphasis role="bold">Sorenson 1 (SVQ1)</emphasis> Decoder
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
Nativer <emphasis role="bold">Sorenson 3 (SVQ3)</emphasis> Decoder
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
<emphasis role="bold">3ivx</emphasis> v1, v2 Decoder
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
Cinepak und <emphasis role="bold">Intel Indeo</emphasis> Codecs (3.1,3.2,4.1,5.0)
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
<emphasis role="bold">MJPEG</emphasis>, AVID, VCR2, ASV2 und andere Hardwareformate
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
VIVO 1.0, 2.0, I263 und andere <emphasis role="bold">H.263(+)</emphasis>-Varianten
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
FLI/FLC
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
<emphasis role="bold">RealVideo 1.0 & 2.0</emphasis> von
|
|
<systemitem class="library">libavcodec</systemitem> und
|
|
<emphasis role="bold">RealVideo 3.0 & 4.0</emphasis> Codecs mittels der RealPlayer Bibliotheken
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
Native Decoder für HuffYUV
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
Verschiedene alte und simple RLE-ähnliche Formate
|
|
</simpara></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 && 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>
|
|
</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 && make && 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 && make && 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><simpara>
|
|
MPEG layer 1/2/3 (MP1/2/3) Audio (<emphasis role="bold">nativer</emphasis>
|
|
Decoder, mit MMX/SSE/3DNow! Optimierung)
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
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>)
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
Windows Media Audio 9 (WMAv3) (unter Verwendung der DMO-DLL)
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
AC3 Dolby Audio (<emphasis role="bold">nativer</emphasis> Decoder, mit
|
|
MMX/SSE/3DNow! Optimierung)
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
AC3-Passthrough unter Verwendung der Soundkartenhardware
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
AAC
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
Ogg Vorbis Audiocodec (<emphasis role="bold">native</emphasis> Bibliothek)
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
RealAudio: DNET (AC3 mit niedriger Bitrate), Cook, Sipro and ATRAC3
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
QuickTime: Qualcomm und QDesign Audio Decoder
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
VIVO Audio (g723, Vivo Siren)
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
Voxware Audio (unter Verwendung der DirectShow-DLL)
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
alaw und ulaw, verschiedene gsm, adpcm und pcm Formate und andere einfache alte
|
|
Audiocodecs
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
Adaptive Multi-Rate (AMR) Sprachcodecs
|
|
</simpara></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).
|
|
</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><Codecname></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><simpara>
|
|
<filename>system.ini</filename> nicht die benötigten Informationen enthält,
|
|
die statt dessen in der Registry gespeichert ist.
|
|
</simpara></listitem>
|
|
<listitem><simpara>
|
|
wir die GUID des Codecs benötigen.
|
|
</simpara></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ü Graph -> Insert Filters.
|
|
</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 <keycap>Strg</keycap>+<keycap>F</keycap>, 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
|
|
<guimenu>Datei</guimenu> -> <guisubmenu>Eigenschaften</guisubmenu> ->
|
|
<guimenuitem>Erweitert</guimenuitem> ü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>>Codecname></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>
|