Vdr2qiv-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Vdr2qiv dokumentiert)
 
(Schlussbemerkung)
Zeile 48: Zeile 48:
 
Lösung auftreiben konnte. Ich würde mich über eine kurze Mail an jan@uos.de freuen, falls dem so war. Dann weiß
 
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
 
ich auch, ob ich auch in Zukunft solche Hacks dokumentieren sollte oder ob sie einfach viel zu speziell und
auf meine Situation zugeschnitten sind, dass sie kaum für jemand anderen nützlich sein können.
+
auf meine Situation zugeschnitten sind, als dass sie für jemand anderen nützlich sein können.

Version vom 6. August 2006, 16:45 Uhr

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.

Download

Alle nötigen Dateien finden sich in diesem Archiv: http://www.jan.vornberger.net/sonstiges/vdr2qiv.tar.gz

Installation

Der Plugin-Teil sollte sich wie jedes VDR-Plugin übersetzen und einbinden lassen. 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.

Schlussbemerkung

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önnen.