Vdr2qiv-plugin
Aus VDR Wiki
Inhaltsverzeichnis |
Beschreibung
Dieses Plugin wurde für folgendes Szenario geschrieben: Der VDR ist "normal" über den Ausgang der Videokarte an einem Fernseher angeschlossen. Der Fernseher hat jedoch einen zusätzlichen VGA-Eingang, an dem die Grafikkarte des VDR angeschlossen wird und das Bild eines X-Servers zeigt.
Man möchte nun den VGA-Ausgang nur zum Anzeigen von Digitalbildern benutzen, während alle anderen Funktionen weiter über den bisherigen Weg laufen. Dieses Plugin fungiert als eine Art Gateway zwischen dem VDR und dem Image-Viewer Qiv, der beim Starten des Plugins auf dem X-Server gestartet wird und das Plugin leitet daraufhin die Befehle der Fernbedienung an Qiv weiter.
Warnung: Dieses Plugin ist ein totaler Hack. Ich dokumentiere es hier nur in der Hoffnung, dass es für andere vielleicht trotzdem hilfreich ist. Es ist jedoch etwas Handarbeit nötig, um es zum Laufen zu bekommen.
Installation
Der Plugin-Teil sollte sich wie jedes VDR-Plugin übersetzen und einbinden lassen.
Konfiguration
Dem Plugin liegt ein Wrapper-Skript namens vdr2qiv.sh bei, dass beim Starten des Plugins gestartet wird und sich um das Öffnen des externen Image-Viewer kümmert. Das Plugin erwartet dieses Skript in /usr/local/bin/ zu finden. Ggf. muss hier der Pfad in vdr2qiv.c geändert werden, falls das Skript an einem anderen Ort liegen soll.
Das Wrapper-Skript erwartet den veränderten Image-Viewer Qiv (http://www.klografx.net/qiv/) ebenfalls in /usr/local/bin unter dem Namen "qiv_vdr" zu finden.
Der verwendete Image-Viewer wurde von mir gepatcht (ebenfalls ein ziemlicher Hack *g*), um die Befehle des Plugins entgegennehmen zu können. Dazu wird das Prozess-Signal USR2 verwendet und eine Pipe mit dem Pfad /video/vdr2qiv.pipe die vorher per "mkfifo /video/vdr2qiv.pipe" angelegt werden muss. Falls auch hier ein anderer Pfad verwendet werden soll, muss sowohl das Plugin, als auch der Qiv-Patch angepasst werden.
Die verwendete Qiv-Version lässt sich hier beziehen: http://www.klografx.net/qiv/download/qiv-2.0-src.tgz Das Archiv enthält den Patch, der sich mit "patch < qiv-2.0_vdr.patch" anwenden lassen sollte. Danach kann qiv kompiliert werden und das Binary nach /usr/local/bin/qiv_vdr kopiert werden.
Damit das Wrapper-Skript qiv starten kann, muss der X-Server bereits laufen und der User, unter dem VDR läuft, die entsprechenden Rechte haben ein Programm zu starten. Der Image-Viewer erwartet die Bilder in /video/images.
Das Plugin zeigt nach dem Starten eine Hilfeseite an die erläutert welche Tasten der Fernbedienung welche Qiv-Funktionen ansteueren.
Sonstiges
Probleme
- Jep, es ist ein ziemlicher Hack und absolut auf mein System zugeschnitten (ala hardgecodete Pfade), aber vielleicht ist es trotzdem für jemanden nützlich, der ein ähnliches Vorhaben hat und wie ich keine bestehende Lösung auftreiben konnte. Ich würde mich über eine kurze Mail an jan@uos.de freuen, falls dem so war. Dann weiß ich auch, ob ich auch in Zukunft solche Hacks dokumentieren sollte oder ob sie einfach viel zu speziell und auf meine Situation zugeschnitten sind, als dass sie für jemand anderen nützlich sein könnten.