Autor Thema: omxplayer - Hardware-Wiedergabe auf dem Desktop  (Gelesen 2793 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Jürgen

  • der Löter
  • User a.D.
  • ****
  • Beiträge: 4999
  • white LED trough prism - WTF is cyan?
omxplayer - Hardware-Wiedergabe auf dem Desktop
« 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 layers
Die 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
 
Kein Support per persönlicher Mitteilung!
Fragen gehören in's Forum.

Veränderungen stehen an. Dies ist der bisherige Stand:
28,x°,23.5°,19,2°,13°Ost
,1mØ Multifeed, mit Quattro LNBs; Multiswitches 4x 5/10(+x) - alle ohne Terrestrik und modifiziert für nur ein 12V DC Steckernetzteil (Verbrauch insgesamt 15 Watt)
1mØ mit DiSEqC 1.3/USALS als LNB2 an DVB-S2 STB, aktuell 30°W bis 55°O
1.) FM2A88X Extreme6+, A8-6600K (APU mit 4x 3,9 GHz und Radeon HD8570D), 16GB DDR3 1866, 128GB SSD, 3TB HDD, Win10 x64 Pro 1909 / 10.0.17763.107, Terratec T-Stick Plus (für DAB+), Idle Verbrauch ca. 35 Watt
2.) FM2A75 Pro 4, A8-5600K (APU mit 4x 3,6 GHz und Radeon HD7530D), 8GB DDR3 1600, 128GB SSD, 2TB HDD, Win10 x64 Pro, Idle Verbrauch ca. 45 Watt
3.) Raspberry Pi 512MB u.a. mit Raspbian
4.) GA-MA770-UD3, Phenom II x4 940, 8GB DDR2, Radeon HD6570, 2TiB, USB 3.0, 10 Pro x64 (+ XP Pro 32bit (nur noch offline)), Ubuntu 10.4 64bit, Cinergy S2 USB HD, NOXON DAB+ Stick, MovieBox Plus USB, ...

Samsung LE32B530 + Benq G2412HD @ HDMI 4:2; Tokaï LTL-2202B
XORO HRS-9200 CI+ (DVB-S2); XORO HRT-8720 (DVB-T2 HD)
Empfänger nur für FTA genutzt / ohne Abos
YAMAHA RX-V663 (AV-Receiver); marantz 7MKII; Philips SHP2700 ...
FritzBox 7590 mit VDSL2 50000