Die bekannten Repositorien (etwa Nvidia Vdpau Team PPA) haben bisher (11.01.2011) noch keine VDPAU-Pakete für Ubuntu 10.10 Maverick im Angebot. Wer die Harwarebeschleunigung der Nvidia-Grafikkarte über vdpau bei der Wiedergabe von vor allem bei MKV-Video (1080p) nutzen möchte, muss daher selbst Hand anlegen. Außerdem schadet es ja auch nichts, hin und wieder einmal etwas selbst zu kompilieren – dann bleibt man in Übung;-)
In diesem Artikel erkläre ich, wie man den Treiber von nvidia.com einrichtet, dann mplayer mit vdpau-Unterstützung erstellt und anschließend noch das grafische mplayer-Frontend smplayer zum Laufen bringt.
1. System vorbereiten
Bevor Sie ans Werk gehen, lesen Sie zuerst den Artikel „Manuelle Treiberinstallation“ im ubuntuusers-Wiki. Wie hier angegeben, ist es wichtig, die vorhanden Nvidia-Pakete zu entfernen und das Laden des Nouveau-Treibers zu unterbinden.Zusätzlich sollten Sie auch die Paket „libvdpau1“ und „libvdpau-dev“ entfernen, wen diese installiert sind. Der Nvidia-Linux-Treiber installiert eine eigene vdpau-Bibliothek.
Deinstallieren Sie außerdem eventuelle bereits installierte mplayer- und smplayer-Pakete.
2. Mplayer mit vdpau erstellen
Schritt 1: Öffnen Sie über „Anwendungen -> Zubehör -> Terminal“ ein Terminal-Fenster. Erstellen Sie zuerst ein Arbeitsverzeichnis, das die nötigen Dateien aufnehmen kann. Beispielsweise mit
mkdir ~/src/mplayer cd ~/src/mplayer
Schritt 2: Installieren Sie dann folgenden zusätzliche Pakete:
sudo apt-get install subversion sudo apt-get install checkinstall sudo apt-get install yasm sudo apt-get build-dep mplayer
Schritt 3: Laden Sie über diese Adresse die Dateien vdpau.h und vdpau_x11.h herunter. Erstellen Sie (als root) das Verzeichnis /usr/inckude/vdpau und kopieren Sie beide Dateien in dieses Verzeichnis. Sollten hier schon gleichnamige Dateien liegen, überschreiben Sie diese.
Update: Vdpau ist inzwischen auch in die aktuellen, offiziellen mplayer-Quellen eingeflossen. Sie können für Schritt 4 also auch den letzten Subversion Snapshot herunterladen. Zusätzliche Patches sind dann nicht nötig. Wenn Sie dieses Verfahren wählen, fahren Sie bei Schritt 5 fort.
Schritt 4: Laden Sie über diese Adresse das aktuellste Installationsscript von Nvidia herunter. Als ich diesen Artikel erstellt habe, hieß die Datei mplayer-vdpau-4789364.tar.bz2. Entpacken Sie den Inhalt der Datei in das vorhin angelegte Verzeichnis ~/src/mplayer. Unter /src/mplayer/mplayer-vdpau-4789364 liegt jetzt das Script checkout-patch-build.sh. Öffne Sie dieses in einem Texteditor. Kommentieren Sie die letzten beiden Zeilen mit einem „#“ aus. Das Script sieht dann so aus:
#!/usr/bin/env sh
set -e
set -x
co_dir=mplayer-vdpau
mplayer_rev=29354
ffmpeg_rev=19156
dvdnav_rev=1174
svn co --ignore-externals -r ${mplayer_rev} svn://svn.mplayerhq.hu/mplayer/trunk ${co_dir}
cd ${co_dir}
svn co -r ${ffmpeg_rev} svn://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec
svn co -r ${ffmpeg_rev} svn://svn.mplayerhq.hu/ffmpeg/trunk/libavformat
svn co -r ${ffmpeg_rev} svn://svn.mplayerhq.hu/ffmpeg/trunk/libavutil
svn co -r ${ffmpeg_rev} svn://svn.mplayerhq.hu/ffmpeg/trunk/libpostproc
svn co -r ${dvdnav_rev} svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdread/src libdvdread4
svn co -r ${dvdnav_rev} svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav/src libdvdnav
patch -p0 < ../mplayer-vdpau-mplayer.patch
patch -p0 < ../mplayer-vdpau-libavcodec.patch
patch -p0 < ../mplayer-vdpau-libavutil.patch
#./configure --disable-x264-lavc --disable-x264
#make
Starten Sie das Script auf der Kommandozeile mit dem Befehl:
./checkout-patch-build.sh
Das Script lädt dann die nötigen Dateien aus dem SVN-Repository herunter. Diese liegen anschließend im Verzeichnis /src/mplayer/mplayer-vdpau-4789364\mplayer-vdpau.
Schritt 5: Zum Kompilieren legen Sie sich am besten ein weiteres Script mit dem Namen MyConf.sh an und speichern dieses im Verzeichnis /src/mplayer/mplayer-vdpau-4789364\mplayer-vdpau
#!/bin/bash
CFLAGS="-O2 -fomit-frame-pointer" ./configure --disable-x264-lavc --disable-x264 --enable-vdpau --target=i686-linux --prefix=/usr/local --confdir=/usr/local/etc/mplayer --mandir=/usr/local/share/man
make -j 4
Die zusätzliche Konfiguration hinter „CFLAGS“ ist wegen eines GCC-Problems bei der mplayer-Version von Nvidia nötig. Ist sie hier nicht vorhanden, stürzt mplayer bei der Wiedergabe mit dem Fehler „signal 11 init_audio_codec“ ab. Wenn Sie mplayer von mplayerhq.hu heruntergeladen haben, ist diese Angabe nicht nötig.
„make ‑j 4“ optimiert den Kompiliervorgang für Quad-Code-CPUs. Bei einer Dual-Core-CPU verwenden Sie stattdessen „make ‑j 2“, bei einem Prozessor mit nur einem Kern verwenden Sie nur „make“.
Wechseln Sie mit „cd“ in das Verzeichis src/mplayer/mplayer-vdpau-4789364\mplayer-vdpau. Machen Sie das Script mit dem Befehl
chmod 764 MyConf.sh
ausführbar. Mit den beiden Zeilen
./MyConf sudo make install
starten Sie dann die Konfiguration, erstellen das Programm und installieren es nach /usr/local/bin. Schritt 6: Probieren Sie die Wiedergabe mit dem Befehl
/usr/local/bin/mplayer -vo vdpau -vc ffh264vdpau,ffmpeg12vdpau,ffvc1vdpau,ffwmv3vdpau pfad_zur_video_datei
aus. Die Wiedergabe sollte einwandfrei und ohne Ruckler funktionieren. Beachten Sie, dass die hardwarebeschleunigte Wiedergabe über vdpau nur für die hinter „vc“ angegebenen Video-Codecs funktioniert (MPEG‑4 Part 2, DivX 4 und DivX 5).
Mit dem Befehl
make uninstall
deinstallieren Sie mplayer wieder, denn es ist besser und sinnvoll, ein Debian-Paket zu erzeugen und zu installieren. Das erledigen Sie mit
sudo checkinstall
als Name für das Paket geben Sie „mplayer“ ein, die Version können Sie auf „vdpau“ belassen. Checkinstall erstellt das Deb-Paket mplayer_vdpau-1_i386.deb und installiert es auch gleich.
3. Smplayer installieren und konfigurieren
Das grafische Frontend zu mplayer mit dem Namen smplayer installieren Sie wie gewohnt über die Synaptic-Paketverwaltung oder auf der Kommandozeile mit
sudo apt-get install smplayer
Starten Sie das Programm dann über „Anwendungen -> Multimedia -> SMPlayer“. Gehen Sie auf „Opti
onen -> Einstellungen“ dann links auf „Allgemein“ und auf die Registerkarte „Video“. Stellen Sie hier hinter „Ausgabe-Treiber“ die Ausgabe „vdpau“ ein, und klicken Sie auf „OK“.
Wenn Sie jetzt ein Video abspielen oder abgespielt haben, können Sie über „Optionen -> Protokolle -> Mplayer“ die Mplayer-Log-Datei ansehen. Hier sollte am Ende beispielsweise
VO: [vdpau] 1920x792 => 1920x792 H.264 VDPAU acceleration
stehen.
Schreibe einen Kommentar