Die Wiedergabe von Videos ist ein neues, sich schnell entwickelndes, Anwendungsgebiet. Seien Sie geduldig, es wird nicht alles so glatt laufen, wie bei den Audio-Anwendungen.
Bevor Sie beginnen, sollten Sie das Modell Ihrer Videokarte und den benutzten Chip kennen. Obwohl Xorg viele Videokarten unterstützt, können nur einige Karten Videos schnell genug wiedergeben. Eine Liste der Erweiterungen, die der X-Server für eine Videokarte unterstützt, erhalten Sie unter laufendem X11 mit dem Befehl xdpyinfo(1).
Halten Sie eine kurze MPEG-Datei bereit, mit der
Sie Wiedergabeprogramme und deren Optionen testen
können. Da einige DVD-Spieler in der Voreinstellung
das DVD-Gerät mit /dev/dvd
ansprechen
oder diesen Namen fest einkodiert haben, wollen Sie
vielleicht symbolische Links auf die richtigen
Geräte anlegen:
#
ln -sf /dev/acd0 /dev/dvd
#
ln -sf /dev/acd0 /dev/rdvd
Wegen devfs(5) gehen gesondert angelegte Links
wie diese bei einem Neustart des Systems verloren.
Damit die symbolischen Links automatisch beim Neustart
des Systems angelegt werden, fügen Sie die
folgenden Zeilen in /etc/devfs.conf
ein:
Zum Entschlüsseln von DVDs müssen bestimmte DVD-ROM-Funktionen aufgerufen werden und schreibender Zugriff auf das DVD-Gerät erlaubt sein.
X11 benutzt Shared-Memory und Sie sollten die nachstehenden sysctl(8)-Variablen auf die gezeigten Werte erhöhen:
Es gibt einige Möglichkeiten, Videos unter X11 abzuspielen. Welche Möglichkeit funktioniert, hängt stark von der verwendeten Hardware ab. Ebenso hängt die erzielte Qualität von der Hardware ab. Die Videowiedergabe unter X11 ist ein aktuelles Thema, sodass jede neue Version von Xorg wahrscheinlich erhebliche Verbesserungen enthält.
Gebräuchliche Video-Schnittstellen sind:
X11: normale X11-Ausgabe über Shared-Memory.
XVideo: Eine Erweiterung der X11-Schnittstelle, die Videos in jedem X11-Drawable anzeigen kann.
SDL: Simple Directmedia Layer.
DGA: Direct Graphics Access.
SVGAlib: Eine Schnittstelle zur Grafikausgabe auf der Konsole.
Die Erweiterung XVideo (auch Xvideo, Xv oder xv) von Xorg erlaubt die beschleunigte Wiedergabe von Videos in jedem Drawable. Diese Erweiterung liefert auch auf weniger leistungsfähigen Systemen (beispielsweise einem PIII 400 MHz Laptop) eine gute Wiedergabe.
Ob die Erweiterung läuft, entnehmen Sie der
Ausgabe von xvinfo
:
%
xvinfo
XVideo wird untertsützt, wenn die Ausgabe wie folgt aussieht:
Einige der aufgeführten Formate (wie YUV2 oder YUV12) existieren in machen XVideo-Implementierungen nicht. Dies kann zu Problemen mit einigen Spielern führen.
XVideo wird wahrscheinlich von Ihrer Karte nicht unterstützt, wenn die die Ausgabe wie folgt aussieht:
Wenn die XVideo-Erweiterung auf Ihrer Karte nicht läuft, wird es nur etwas schwieriger, die Anforderungen für die Wiedergabe von Videos zu erfüllen. Abhängig von Ihrer Videokarte und Ihrem Prozessor können Sie dennoch zufriedenstellende Ergebnisse erzielen. Sie sollten vielleicht die weiterführenden Quellen in Abschnitt 8.4.3, „Weiterführende Quellen“ zu Rate ziehen, um die Geschwindigkeit Ihres Systems zu steigern.
Die Simple Directmedia Layer, SDL, ist eine zwischen Microsoft® Windows®, BeOS und UNIX® portable Schnittstelle. Mit dieser Schnittstelle können Anwendungen plattformunabhängig und effizient Ton und Grafik benutzen. SDL bietet eine hardwarenahe Schnittstelle, die manchmal schneller als die X11-Schnittstelle sein kann.
SDL finden Sie in den Ports
im Verzeichnis devel/sdl12
.
Die X11-Erweiterung
Direct Graphics Access (DGA) erlaubt es
Anwendungen, am X-Server vorbei direkt in den Framebuffer
zu schreiben. Da die Anwendung und der X-Server auf gemeinsame
Speicherbereiche zugreifen, müssen die Anwendungen
unter dem Benutzer root
laufen.
Die DGA-Erweiterung kann mit dga(1) getestet
werden. Das Kommando dga
wechselt,
jedes Mal wenn eine Taste gedrückt wird, die Farben
der Anzeige. Sie können das Programm mit der
Taste q verlassen.
Dieser Abschnitt behandelt Anwendungen aus der FreeBSD-Ports-Sammlung, die Videos abspielen. An der Videowiedergabe wird derzeit aktiv gearbeitet, sodass der Funktionsumfang der Anwendungen von dem hier beschriebenen abweichen kann.
Viele unter FreeBSD laufende Videoanwendungen wurden unter Linux entwickelt und befinden sich noch im Beta-Status. Der Betrieb dieser Anwendungen unter FreeBSD stößt vielleicht auf einige der nachstehenden Probleme:
Eine Anwendung kann eine Datei einer anderen Anwendung nicht abspielen.
Eine Anwendung kann eine selbst produzierte Datei nicht abspielen.
Wenn dieselbe Anwendung auf unterschiedlichen Maschinen gebaut wird, wird ein Video unterschiedlich wiedergegeben.
Ein vergleichsweise einfacher Filter, wie die Skalierung eines Bildes, führt zu deutlichen Artefakten in der Darstellung.
Eine Anwendung stürzt häufig ab.
Die Dokumentation wird bei der Installation des Ports
nicht installiert. Sie befindet sich entweder auf
dem Internet oder im Verzeichnis
work
des Ports.
Viele Anwendungen sind zudem sehr „Linux-lastig“. Probleme entstehen durch die Implementierung von Standard-Bibliotheken in Linux-Distributionen oder dadurch, dass die Anwendung bestimmte Linux-Kernelfunktionen voraussetzt. Diese Probleme werden nicht immer vom Betreuer eines Ports bemerkt und umgangen. In der Praxis entstehen dadurch folgende Probleme:
Eigenschaften des Prozessors werden über
/proc/cpuinfo
ermittelt.
Die falsche Anwendung von Threads führt dazu, dass sich ein Programm aufhängt statt sich zu beenden.
Die Anwendung hängt von anderen Anwendungen ab, die sich noch nicht in der FreeBSD-Ports-Sammlung befinden.
Allerdings arbeiten die Anwendungsentwickler bislang mit den Betreuern der Ports zusammen, sodass zusätzlicher Portierungsaufwand minimiert wird.
MPlayer ist ein kürzlich entstandener und sich stark weiterentwickelnder Video-Spieler. Das Hauptaugenmerk des MPlayer-Teams liegt auf Geschwindigkeit und Flexibilität auf Linux und anderen UNIX® Systemen. Das Projekt entstand weil der Gründer des Teams unzufrieden mit der Geschwindigkeit bestehender Video-Spieler war. Kritiker behaupten, dass die Benutzeroberfläche der einfachen Gestaltung zum Opfer fiel. Wenn Sie sich allerdings erstmal an die Kommandozeilenoptionen und die Tastensteuerung gewöhnt haben, funktioniert die Anwendung sehr gut.
MPlayer finden Sie in der
Ports-Sammlung unter
multimedia/mplayer
.
Der Bau von MPlayer
berücksichtigt die vorhandene Harware und erzeugt
ein Programm, das nicht auf ein anderes System übertragbar
ist. Es ist daher wichtig, dass Sie das Programm aus
den Ports bauen und nicht das fertige Paket installieren.
Zusätzlich können Sie auf der Kommandozeile
von make
noch einige Optionen angeben,
die im Makefile
beschrieben sind
und am die Anfang des Baus ausgegeben werden:
#
cd /usr/ports/multimedia/mplayer
#
make
N - O - T - E
Take a careful look into the Makefile in order
to learn how to tune mplayer towards you personal preferences!
For example,
make WITH_GTK1
builds MPlayer with GTK1-GUI support.
If you want to use the GUI, you can either install
/usr/ports/multimedia/mplayer-skins
or download official skin collections from
http://www.mplayerhq.hu/homepage/dload.htmlFür die meisten Benutzer sind die
voreingestellten Option in Ordnung. Wenn Sie
den XviD-Codec benötigen, müssen
Sie auf der Kommandozeile die Option
WITH_XVID
angeben. Das
DVD-Gerät können Sie mit der
Option WITH_DVD_DEVICE
angeben. Wenn Sie die Option nicht angeben,
wird /dev/acd0
benutzt.
Als dieser Abschnitt verfasst wurde, baute der
MPlayer-Port die
HTML-Dokumentation sowie die beiden Programme
mplayer
und
mencoder
. Mit
mencoder
können Sie
Videodateien umwandeln.
Die HTML-Dokumentation von MPlayer ist sehr lehrreich. Wenn Sie in diesem Kapitel Informationen über Video-Hardware oder Schnittstellen vermissen, ist die MPlayer-Dokumentation eine ausgezeichnete Quelle. Wenn Sie Informationen über die Video-Unterstützung unter UNIX® benötigen, sollten Sie die MPlayer-Dokumentation auf jeden Fall lesen.
Jeder Benutzer von MPlayer
muss in seinem Heimatverzeichnis das Verzeichnis
.mplayer
anlegen. Dieses Verzeichnis können Sie
wie folgt anlegen:
%
cd /usr/ports/multimedia/mplayer
%
make install-user
Die Kommandozeilenoptionen von mplayer
sind in der Hilfeseite aufgeführt. Eine genaue
Beschreibung befindet sich in der HTML-Dokumentation.
In diesem Abschnitt wird nur der normale Gebrauch
von mplayer
beschrieben.
Um eine Datei, wie
,
unter verschiedenen Video-Schnittstellen abzuspielen,
benutzen Sie die Option testfile.avi
-vo
:
%
mplayer -vo xv testfile.avi
%
mplayer -vo sdl testfile.avi
%
mplayer -vo x11 testfile.avi
#
mplayer -vo dga testfile.avi
#
mplayer -vo 'sdl:dga' testfile.avi
Es lohnt sich, alle Option zu testen. Die erzielte Geschwindigkeit hängt von vielen Faktoren ab und variiert beträchtlich je nach eingesetzter Hardware.
Wenn Sie eine DVD abspielen wollen, ersetzen Sie
durch
testfile.avi
-dvd://
.
N
Gerät
N
ist die Nummer des
Stücks, das Sie abspielen wollen und
Gerät
gibt den
Gerätenamen des DVD-ROMs an. Das nachstehende
Kommando spielt das dritte Stück von
/dev/dvd
:
#
mplayer -vo dga -dvd://3 /dev/dvd
Das standardmäßig verwendete
DVD-Laufwerk kann beim Bau des
MPlayer-Ports
mit der Option WITH_DVD_DEVICE
festgelegt werden. Die Voreinstellung verwendet
das Gerät /dev/acd0
.
Genaueres finden Sie im Makefile
des Ports.
Die Tastenkombinationen zum Abbrechen, Anhalten
und Weiterführen der Wiedergabe entnehmen Sie
bitte der Ausgabe von mplayer -h
oder der Hilfeseite.
Weitere nützliche Optionen für die
Wiedergabe sind -fs -zoom
zur Wiedergabe
im Vollbild-Modus und -framedrop
zur Steigerung der Geschwindigkeit.
Damit die Kommandozeile von mplayer
kurz bleibt, kann ein Benutzer Vorgaben in der Datei
.mplayer/config
hinterlegen:
Schließlich kann mplayer
noch DVD-Stücke in .vob
-Dateien
rippen. Das zweite Stück einer DVD wandeln Sie
wie folgt in eine Datei um:
#
mplayer -dumpstream -dumpfile out.vob -dvd://2 /dev/dvd
Die Ausgabedatei out.vob
wird im MPEG-Format abgespeichert und kann mit
anderen Werkzeugen aus diesem Abschnitt bearbeitet
werden.
Sie sollten die HTML-Dokumentation lesen, bevor
Sie mencoder
benutzen. Es gibt
zwar eine Hilfeseite, die aber ohne die HTML-Dokumentation
nur eingeschräkt nützlich ist. Es gibt
viele Möglichkeiten die Qualität zu verbessern,
die Bitrate zu verringern und Formate zu konvertieren.
Einige davon haben erhebliche Auswirkungen auf die
Geschwindigkeit der Wiedergabe. Zum Start finden
Sie im Folgenden einige Kommandozeilen. Die erste
kopiert einfach eine Datei:
%
mencoder input.avi
-oac copy -ovc copy -o output.avi
Falsche Kombinationen von Kommandozeilenparametern
ergeben eventuell Dateien, die selbst
mplayer
nicht mehr abspielen kann.
Wenn Sie in eine Datei rippen, sollten Sie daher auf
jeden Fall die Option -dumpfile
von
mplayer
verwenden.
Die nachstehende Kommandozeile wandelt die Datei
nach
MPEG4 mit MPEG3 für den Ton um (hierfür wird der Ports
input.avi
audio/lame
benötigt):
%
mencoder input.avi
-oac mp3lame -lameopts br=192 \
-ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi
Die Ausgabedatei lässt sowohl mit
mplayer
als auch
xine
abspielen.
Wenn Sie
durch
input.avi
-dvd://1 /dev/dvd
ersetzen und das
Kommando unter root
laufen lassen,
können Sie ein DVD-Stück direkt konvertieren.
Da Sie wahrscheinlich beim ersten Mal unzufrieden mit
den Ergebnissen sind, sollten Sie das Stück zuerst
in eine Datei schreiben und anschließend
die Datei weiterverarbeiten.
Der Video-Spieler xine
ist ein Projekt mit großem Umfang. Das Projekt
will nicht nur ein Programm für alle Video-Anwendungen
bieten, sondern auch eine wiederverwendbare Bibliothek
und ein Programm, das durch Plugins erweiterbar ist.
Das Programm steht als fertiges Paket oder als Port
unter multimedia/xine
zur Verfügung.
Der multimedia/xine
-Spieler
hat noch ein paar Ecken und Kanten, macht aber insgesamt
einen guten Eindruck. Für einen reibungslosen
Betrieb benötigt xine
entweder eine schnelle CPU oder
die XVideo-Erweiterung. Das GUI
ist etwas schwerfällig.
Zurzeit gibt es kein xine-Modul, das CSS-kodierte DVDs abspielen kann und sich in der FreeBSD Ports-Sammlung befindet.
xine ist benutzerfreundlicher als MPlayer, bietet allerdings nicht soviele Möglichkeiten. Am schnellsten läuft xine mit der XVideo-Erweiterung.
In der Voreinstellung startet xine eine grafische Benutzeroberfläche. Über Menüs können Sie Dateien öffnen:
%
xine
Alternativ können Sie das Programm auch ohne GUI aufrufen und Dateien direkt abspielen:
%
xine -g -p mymovie.avi
transcode ist kein Spieler,
sondern eine Sammlung von Werkzeugen zur Umwandlung von
Video- und Sounddateien.
transcode mischt Video-Dateien
und kann kaputte Video-Dateien reparieren. Die
Werkzeuge werden als Filter verwendet, das heißt
die Ein- und Ausgaben verwenden
stdin/stdout
.
Beim Bau von transcode
über den Port multimedia/transcode
können
zwar zahreiche Optionen angegeben werden. Empfehlenswert
ist es aber, den Bau mit folgendem Befehl zu starten:
#
make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \
WITH_MJPEG=yes -DWITH_XVID=yes
Diese Einstellungen sollen für die meisten Anwender ausreichend sein.
Um die Fähigkeiten von
transcode
zu illustrieren, wird im
folgenden Beispiel eine DivX-Datei in eine PAL MPEG-1-Datei
konvertiert:
%
transcode -i input.avi
-V --export_prof vcd-pal -o output_vcd
%
mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpa
Die daraus resultierende MPEG-Datei,
,
kann beispielsweise mit MPlayer abgespielt
werden. Sie können sie sogar als Video-CD auf eine CD-R brennen.
Wenn Sie diese Funktion benötigen, müssen Sie
zusätzlich die beiden Programme output_vcd.mpg
multimedia/vcdimager
und sysutils/cdrdao
installieren.
Zwar gibt es eine Manualpage zu
transcode
, Sie sollen aber auf jeden Fall
auch die Informationen und Beispiele im
transcode-Wiki lesen.
Die Video-Software für FreeBSD entwickelt sich sehr schnell. Es ist wahrscheinlich, dass die hier angesprochenen Probleme bald gelöst sind. Bis dahin müssen Anwender, die das meiste aus den Audio- und Video-Fähigkeiten von FreeBSD machen wollen, Informationen aus mehreren FAQs und Tutorien zusammensuchen und verschiedene Anwendungen nebeneinander betreiben. Dieser Abschnitt weist auf weitere Informationsquellen hin.
Die MPlayer-Dokumentation ist sehr aufschlussreich. Die Dokumente sollten wahrscheinlich von jedem gelesen werden, der hohe Fachkenntnisse über Video auf UNIX® Systemen erlangen will. Die MPlayer-Mailinglisten reagiert feindselig auf Personen, die es nicht für nötig halten, die Dokumentation zu lesen. Wenn Sie Fehlerberichte an die Liste schicken wollen, lesen Sie bitte vorher die ausgezeichnete Dokumentation (RTFM).
Das xine HOWTO enthält allgemein gültige Hinweise zur Verbesserung der Wiedergabegeschwindigkeit.
Schließlich gibt es noch weitere vielversprechende Anwendungen, die Sie vielleicht ausprobieren wollen:
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.