Ubuntu 10.10 Maverick mit nvidia + mplayer + smplayer + vdpau

SMPlayer

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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/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

SMPlayer-Einstellungen

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.

Quellen

How to compile mplayer with vdpau support on Ubuntu

MPlayer patches for VDPAU

Schreibe einen Kommentar

Mit Absenden des Kommentars akzeptieren Sie die Datschutzerklärung.
Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.