Ich habe Pipelight im Zusammenspiel mit Maxdome, Watchever, Amazon Instant Video und Co. inzwischen auf diversen Rechnern probiert, doch ausgerechnet auf meinem „Stärksten“ mit Intel-Core-i7-CPU stotterte das Videobild unsäglich vor sich hin. Der Bubblemark-Silverlight-Test zeigte zwar über 330 fps, doch Videos ruckelten deutlich — ohne aber, dass die CPU-Last auffällig hoch wäre. Die von Microsoft gestellten Tests Experience IIS Smooth Streaming und Experience IIS Smooth Streaming 1080 zeigten nur 10 fps an. Kein Wunder also, dass Watchever und Co. deutlich ruckelten. Hilfe für dieses Problem findet ihr zum einen in der Pipelight-FAQ, zum anderen galt es Pulesaudio zu tunen, den hier lag der Hase bei mir begraben.

Zuerst solltet ihr prüfen, ob ihr auch die von eurem System benötigten 32-Bit-Grafiktreiber installiert habt. Da die Silverlight-Plugins nur mit 32-Bit arbeiten, ist eben die Installation von 32-Bit-Treibern nötig. Die fehlenden Treiber bekommt ihr signalisiert, wenn ihr den Browser aus dem Terminal heraus startet und die von Pipelight generierten Ausgaben betrachtet. Der Hinweis auf fehlende 32-Bit-Treiber für die im Rechner verbaute Intel-Grafikkarte sieht wie folgt aus, bei anderen Modellen oder anderen Grafikchips sehen die Fehlermeldungen natürlich ein wenig anders aus.

libGL error: dlopen /usr/lib32/xorg/modules/dri/i965_dri.so failed (/usr/lib32/xorg/modules/dri/i965_dri.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden)
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965

Wer eine Nvidia-Grafikkarte zusammen mit Ubuntu und dem proprietären Nvidia-Treiber benutzt, der hat die passenden Treiber eigentlich schon auf dem System. Auf anderen Systemen und mit anderen Grafikkarten gilt es nun ein wenig Hand anzulegen, die schon oben verlinkte Pipelight-FAQ gibt euch eigentlich die nötigen Information an die Hand. Für Ubuntu-Systeme mit den Open-Source-Treibern für Intel- und Nvidia-Karten (Nouveau) und Rechner mit Arch Linux führe ich die Kommandos an diese Stelle kurz auf.

32-Bit-Grafiktreiber installieren

Für Ubuntu

# Für aktuelle 64-Bit-Ubuntus
$ sudo apt-get install libgl1-mesa-dri:i386
# Für Ubuntu 12.04 64-Bit
$ sudo apt-get install libgl1-mesa-dri-lts-saucy:i386

Für Arch Linux

$ sudo pacman -S lib32-intel-dri    # Intel
$ sudo pacman -S lib32-nouveau-dri  # Nouveau
$ sudo pacman -S lib32-ati-dri      # AMD

Nach der Installation der Treiber müsst ihr euer System nicht neu starten, es reicht den Browser zu schließen und neu zu öffnen. Dann sollten die Fehlermeldungen bezüglich des fehlenden Grafiktreibers eigentlich gegessen sein und Pipelight die Grafikausgabe über die Grafikkarte beschleunigen können.

Pulseaudio für Pipelight tunen

Was noch fehlt ist das leidige Thema Pulseaudio, denn hier findet man den eigentliche Flaschenhals. Ihr solltet euch Pulseaudio widmen, wenn die Smooth-Streaming-Tests (hier und hier für 1080p) eine niedrige Framerate liefern und neben dem Videobild auch Aussetzer und Hänger im Ton zu hören sind, der Bubblemark-Silverlight-Test jedoch mit hoher Framerate läuft. Pipelight hält nämlich das Videobild ab, wenn die Audioausgabe nicht hinterherkommt — Was bei Pulseaudio leider gerne mal passiert.

Kommt Pipelight über 10 fps nicht hinaus, liegt es nicht zwangsläufig am Pipelight-Plugin.
Kommt Pipelight über 10 fps nicht hinaus, liegt es nicht zwangsläufig am Pipelight-Plugin.
Richtig konfiguriert bremst Pulseaudio das Pipelight-Playback nicht mehr ein.
Richtig konfiguriert bremst Pulseaudio das Pipelight-Playback nicht mehr ein.

Bei mir hat es geholfen die „default-fragment-size-msec“ von 25 auf 5 herunterzusetzen. Dazu bearbeitet ihr die /etc/pulse/daemon.conf mit Root-Rechten und setzt den entsprechenden Parameter. Eventuell hilft es auch die „default-fragments“ hochzusetzen. Anschließend muss Pulseaudio beendet werden, der Soundserver startet danach eigentlich immer automatisch neu. Die Wikis der Ubuntu- und Arch-Communitys widmen sich beide dem Thema, dort bekommt ihr weitere Tipps zu den optimalen Werten.

$ sudo nano /etc/pulse/daemon.conf
[...]
; default-fragments = 4
; default-fragment-size-msec = 25
default-fragment-size-msec = 5
[...]
$ pulseaudio -k

Nach dem Anpassen von Pulseaudio laufen bei mir nun endlich auf auf dem Core-i7 Silverlight-Videos ohne nerviges Ruckeln. Getestet habe die Funktionalität erneut mit Watchever, Maxdome und Amazon Instant Video. Auch der Online-TV-Anbieter Magine läuft mit Pipelight (und den richtigen Pulseaudio-Einstellungen) unter Linux rund.

5 Kommentare

  1. Hallo,

    unter 64 Bit Ubuntu 12.04 wird mit der Installation des Pakets libgl1-mesa-dri:i386 das Paket ubuntu-desktop sowie weitere Grafiktreiber durch die Abhängigkeiten deinstalliert. Anschließend ist keine Nutzung des Desktops mehr möglich. Wird das Paket ubuntu-desktop anschließend wieder nachinstalliert, werden anschließend die Pakete libgl1-mesa-dri:i386 und deren Abhängigkeiten wieder entfernt. Bitte den Beitrag um diesen Hinweis anpassen.

    • Hi Steven, danke für den Hinweis. Ich habs mir gerade in einer Ubuntu-12.04-VM angesehen, da passiert das auch. Unter Ubuntu 12.04 musst du wohl statt libgl1-mesa-dri:i386 das Paket libgl1-mesa-dri-lts-saucy:i386 nehmen.

      $ sudo apt-get install libgl1-mesa-dri-lts-saucy:i386
      

      Ich habs im Artikel entsprechend eingebaut.

      Grüße
      Christoph

  2. Hi, ich hatte auch das Pulseaudio Problem. Das Video und der Ton hatten immer gemeinsam Aussetzer. Durch deinen Tipp spielt das Video jetzt ohne Ruckeln ab. Super vielen Dank!

  3. Vielen Dank für deine Lösung mit Pulseaudio! Durch einen Versatz von ca. 2 Sekunden zwischen Bild und Ton war Lovefilm vorher unzumutbar. Jetzt klappt es 1a!

  4. Ich habe mir Linux auf den PC geladen Und würde gern megantv ansehen Aber es läuft nicht auch wen ich ersucht habe pipelight zu programmieren was kann ich machen

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein