DVB-Cube BETA <<< Das deutsche PC und DVB-Forum >>>
Diverse DVB Software für verschiedene Karten => # ARM Boxen (Raspberry Pi ect.) => Thema gestartet von: Jürgen am 20 Juli, 2013, 00:47
-
Weil ich meinen Pi nicht überwiegend als reine Mediaplayer-Box nutzen will, mit Raspbmc o.ä., sondern eigentlich primär als sparsamen Desktop-Ersatz, habe ich natürlich in letzter Zeit herumgesucht und -probiert, ob es nicht auch z.B. unter Raspbian Wheezy möglich ist, Medien wie unsere geliebten DVB-Mitschnitte wiederzugeben.
Was man dabei leider zuerst lernt ist, dass kaum einer der üblichen Linux-Mediaplayer dazu zu bewegen ist, auch nur normales MPEG2 in SD wiederzugeben.
Zwar wissen wir, dass so etwas mit einer 700MHz CPU auf dem PC unter Windows schon ewig ganz gut klappt.
Das ist aber u.a. den Multimedia-Erweiterungen der Prozessoren zu verdanken, seit MMX, und der ziemlich effizienten Nutzung dieser durch das Betriebssystem samt Erweiterungen wie DirectShow.
So läuft fast alles dort mit fast jedem Player.
Beim Pi ist aber jede Hardware-Unterstützung /-Beschleunigung einzig und allein von der GPU abhängig.
Und so erfahren auch solche Player keinerlei Unterstützung, die sonst mit fast allem kompatibel sind, eingeschlossen Distro-eigene und VLC.
Damit ist vorläufig offenbar der omxplayer der einzige, der Videodekodierung an die Grafik übergeben und so System und CPU weitestgehend entlasten kann.
Der Haken daran ist, dass dieser Player eigentlich gar kein ordentliches eigenes Produkt darstellt, sondern nur eine frühe Entwicklungskomponente für / vor XBMC für den Pi ist.
Das bedeutet nicht nur, dass der omxplayer nur per Kommandozeile zu steuern ist, sondern zudem auch überhaupt nicht auf die Koexistenz mit einer normalen Desktopoberfläche ausgelegt.
Er überdeckt von daher gnadenlos wirklich jedes Fenster, jede Leiste usw. mit seinem Videooverlay.
Bei FullHD-Wiedergabe auf einem FullHD-Bildschirm ist daher nix mehr vom Desktop zu sehen oder gar zu bedienen, und bei 4:3 Material nur die nicht überlagerten seitlichen Ränder.
Zwar übernimmt der omxplayer nicht den Maus- oder Tastatur-Fokus, sondern überlässt ihn der Anwendung, von der er gestartet wurde.
Typischerweise also dem Terminal.
Und dafür gibt es ja die Kommandozeilen-Befehle zur Player-Steuerung.
Aber ein einziger ungeschickter Mausklick (oder eine entsprechende Tastatureingabe) kann ja den Desktop oder ein beliebiges anderes Fenster fokussieren, und dann ist jegliche Kontrolle verloren.
Selbst herunterfahren gelingt allenfalls noch im Blindflug...
Wer den Pi als sparsamen Desktop(-Ersatz) einsetzt, der wird ja in der Regel nicht nebenbei den hungrigen großen PC laufen haben, um den Pi alternativ remote zu bedienen.
Daher habe ich mich einige Zeit mit der Suche nach einem GUI für den omxplayer beschäftigt.
Leider muss ich feststellen, dass es derzeit keine wirkliche Lösung gibt.
Der populärste Ansatz dafür ist der tboplayer, der ein kleines Fenster mit Bedienknöpfen und Menü bietet.
Das Wiederholen des Fokus bei Fehlklick ist damit recht einfach, wenn - und nur wenn - man das Fenster VOR der Wiedergabe an eine blind reproduzierbare Stelle geschoben hat, z.B. rechts oben in der Ecke.
Dennoch, auch die Steuerung tboplayer wird - je nach Videoformat - gnadenlos vom Videooverlay verdeckt.
So wäre die einzige wirkliche Lösung für eine normale Bedienbarkeit des omxplayer eine entsprechende Funktionalität in einem OSD, wie bei den XBMC-Systemen.
Die oder überhaupt ein OSD gibt es für ihn aber offensichtlich nicht, und es ist äußerst fraglich, ob es noch jemals dazu kommt.
Nun gut, mit diesen Einschränkungen wird man wohl leben müssen, bis vielleicht eines Tages eine andere Abspielsoftware kommt, die in einer Desktop-Umgebung die Hardware-Beschleunigung der Grafik zu nutzen versteht.
Hier noch ein paar Dinge, die mir nebenbei aufgefallen sind:
- Video-Wiedergabe per omxplayer wird offenbar stets auf volle Höhe skaliert, SD wie HD.
- das Aktivieren des Hardware-Deinterlacing ist mit "-d" möglich.
Das funktioniert allerdings bei mir nur mit SD-Material (576i). Setze ich dagegen den Schalter bei Material in 720p oder 1080i ein, erscheint gar kein Bild und die Ton-Wiedergabe bleibt nach Sekunden stehen.
Das gilt sowohl für das Einsetzen von "-d" in das omxplayer Script, als auch bei Aufruf direkt per Kommandozeile oder per tboplayer.cfg Option.
- eine Anpassung des Videooverlay an die Overscan-Parameter in der config.txt (--> /boot) ist möglich durch Einfügen folgender Zeile(n) dort:overscan_scale=1
# uncomment to apply overscan settings to non-framebuffer layersDie Kommentarzeile ist natürlich nicht obligatorisch.
Mit dieser Option stimmen bei mir die Ränder bzw. das Seitenverhältnis exakt, auch bei den bekanntlich leicht anamorphen alten 4:3 SD-Materialien.
Reboot tut not.
Jürgen