Die Codecstatustabelle ist eine vollständige Liste aller unterstützten Codecs, die täglich neu erstellt wird. Einige Binärcodecs zum Gebrauch mit MPlayer sind im Downloadbereich unserer Homepage verfügbar.
Die Allerwichtigsten:
MPEG-1 (VCD) und MPEG-2 (DVD) Video
Native Decoder für alle DivX-Varianten, 3ivX, M$ MPEG-4 v1, v2 und andere MPEG-4 Varianten
Nativer Decoder für Windows Media Video 7/8 (WMV1/WMV2) und Win32 DLL Decoder für Windows Media Video 9 (WMV3), beide in Gebrauch in .wmv-Dateien
Nativer Sorenson 1 (SVQ1) Decoder
Nativer Sorenson 3 (SVQ3) Decoder
3ivx v1, v2 Decoder
Cinepak und Intel Indeo Codecs (3.1,3.2,4.1,5.0)
MJPEG, AVID, VCR2, ASV2 und andere Hardwareformate
VIVO 1.0, 2.0, I263 und andere H.263(+)-Varianten
FLI/FLC
RealVideo 1.0 & 2.0 von
libavcodec
und
RealVideo 3.0 & 4.0 Codecs mittels der RealPlayer Bibliotheken
Native Decoder für HuffYUV
Verschiedene alte und simple RLE-ähnliche Formate
Falls du einen Win32 Codec hast, der hier nicht aufgeführt ist und noch nicht unterstützt wird, lies bitte die Codec Importing HOWTO und hilf uns, Unterstützung hinzuzufügen.
FFmpeg enthält libavcodec
,
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 MPlayer
unterstützt. Für manche Formate ist außerdem auch Encodierung mit Hilfe von
MEncoder möglich.
Für eine vollständige Liste unterstützter Video- und Audiocodecs besuche bitte die FFmpeg-Homepage.
MPlayer enthält libavcodec
.
Es genügt, ./configure laufen zu lassen und zu compilieren.
Xvid 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.
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.
Beachte, dass Xvid nicht benötigt wird, um mit Xvid encodiertes Video zu decodieren.
In der Standardkonfiguration wird dafür libavcodec
benutzt, da er höhere Geschwindigkeit bietet.
Installation von Xvid
Wie die meiste Open-Source-Software gibt es zwei verfügbare Varianten:
offizielle Releases
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 Xvid
vom CVS mit MEncoder ans Laufen zu bringen
(du benötigst mindestens autoconf 2.50,
automake und libtool):
cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login
cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore
cd xvidcore/build/generic
./bootstrap.sh
./configure
Du musst möglicherweise ein paar Optionen hinzuzufügen (schaue dir die Ausgabe von ./configure --help an).
make && make install
Wenn du --enable-divxcompat angegeben hast, kopiere ../../src/divx4.h nach /usr/local/include/.
Compiliere MPlayer erneut mit
--with-xvidlibdir=/Pfad/zu/
libxvidcore.a
--with-xvidincdir=/Pfad/zu/
xvid.h.
x264
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
x264
nicht implementiert.
Encoder-Features
CAVLC/CABAC
mehrere Referenzen
Intra: alle Macroblock-Typen (16x16, 8x8, and 4x4 mit allen Vorhersagen)
Inter P: Alle Partitionen (von 16x16 bis runter zu 4x4)
Inter B: Partitionen von 16x16 runter zu 8x8 (inklusive SKIP/DIRECT)
Bitratenkontrolle: konstanter Quantisierungsparameter, konstante Bitrate, einer oder mehrere Durchläufe mit durchschnittlicher Bitrate (optional VBV)
Szenenwechselerkennung
Adaptive Platzierung von B-Frames
B-Frames als Referenzen / bieliebige Framereihenfolge
8x8 und 4x4 adaptive räumliche Transformierung
Verlustfreier Modus
Benutzerdefinierte Quantisierungsmatrizen
Parallele Encodierung mehrerer Scheiben
Interlacing
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.
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.
Zumindest bei x264
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.
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 The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions durchlesen.
MPlayer benutzt den H.264-Decoder von
libavcodec
.
libavcodec
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.
Eine schnelle und einfache Methode, festzustellen, ob kürzlich Änderungen am
H.264-Decoder von libavcodec
gemacht
wurden, wirf einen Blick auf
das Web-Interface des Subversion-Repository von FFmpeg.
Wenn du den Subversion-Client installiert hast, erhältst du die aktuellen Sourcen mit folgendem Befehl:
svn co svn://svn.videolan.org/x264/trunk x264
MPlayer-Sourcen werden immer aktualisiert, wenn sich
die API von x264
ändert, daher ist
es immer gut, auch MPlayer von Subversion zu benutzen.
Möglicherweise ändert sich das, wenn und falls es ein
x264
-"Release" gibt.
Bis dahin sollte x264
hinsichtlich der Programmierschnittstelle als sehr unstabil betrachtet werden.
x264
wird gebaut und installiert
nach Standardmethode:
./configure && make && sudo make install
Dies installiert libx264.a nach /usr/local/lib, und x264.h landet in
/usr/local/include.
Mit der x264
-Bibliothek und dem Header
in den Standardverzeichnissen ist es leicht, MPlayer
mit x264
-Unterstützung zu bauen.
Führe die Standardformel aus:
./configure && make && sudo make install
Das ./configure-Script wird automatisch erkennen, dass du die Bedingungen
für x264
erfüllst.