Streamdev-plugin
Inhaltsverzeichnis |
Beschreibung
Das Streamdevice Plugin ist die Netzwerkerweiterung des VDR. Es wurde von Sascha Volkenandt geschrieben und besteht aus zwei Teilen:
- Streamdev-server
- Streamdev-client
Für das Verständnis des Plugins betrachten wir das Linux-Programm "sort". Es empfängt einen Datenstrom von der Standardeingabe, sortiert ihn und schickt ihn zur Standardausgabe. Die Standardeingabe ist normalerweise am Gerät "Tastatur" und die Ausgabe am Gerät "Monitor" angeschlossen. Effektiver ist es natürlich, die Datenströme umzuleiten und an Dateien anzuschließen:
sort < unsortiert.txt > sortiert.txt
Beim VDR kann es mehrere Ein- und Ausgabedatenströme geben. Diese sind normalerweise an den Geräten Tuner und Decoder angeschlossen, können aber auch an Plugins umgeleitet werden. Aufnahmen kann man in diesem Zusammenhang wie "eingefrorene" Datenströme auffassen.
Das Streamdev Plugin ist nun in der Lage, Ausgabedatenströme entgegenzunehmen, über das Netzwerk an andere Rechner zu versenden und dort als Eingabedatenströme wieder abzuliefern.
Streamdev-server
Dieses Plugin stellt für den VDR, welcher das Plugin gestartet hat, ein Ausgabegerät dar. Der VDR kann es wie den Decoderteil einer Fullfeatured DVB-Karte benutzen und MPEG2-Daten von Live-TV oder von VDR-Aufnahmen dorthin senden, auch mehrere gleichzeitig. Das Plugin zeigt natürlich die Daten nicht an, sondern packt die Videoströme in ein anderes Streamingformat und versendet sie per Netzwerk an einen anderen Rechner.
Es wird dann noch ein Eingabegerät für den VDR benötigt.
Streamdev-client
Dieses Plugin verhält sich gegenüber VDR, welcher das Plugin gestartet hat, wie ein Eingabegerät. Es empfängt Videoströme per Netzwerk, wandelt das Streamingformat erneut und übergibt die Ströme an VDR. Die Daten werden vom VDR verarbeitet, als kämen sie von einer DVB-Karte.
Ein Ausgabegerät muss noch bereitgestellt werden, entweder mit einer echten Fullfeatured DVB-Karte oder über ein anderes Plugin (Dxr3-, Softdevice-, Xine-plugin).
Zusammenspiel
- VDR1
- Eingabedatenströme von
- DVB-Karte(n)
- Ausgabedatenströme an
- Decoder
- Streamdev-server Plugin (sendet an VDR2 und VDR3)
- Eingabedatenströme von
- VDR2
- Eingabedatenströme von
- DVB-Karte(n)
- Streamdev-client Plugin (empfängt von VDR1)
- Ausgabedatenströme an
- Decoder
- Eingabedatenströme von
- VDR3
- Eingabedatenstrom von
- Streamdev-client Plugin (empfängt von VDR1)
- Ausgabedatenstrom an
- Softdevice Plugin
- Eingabedatenstrom von
Dabei kann man die Verbindungen auch mischen. Zwei VDR können sich ihre DVB-Karten gegenseitig zur Verfügung stellen.
Der Fantasie sind dabei (fast) keine Grenzen gesetzt. Es muss aber gesichert sein, dass mindestens ein Eingabedatenstrom mit dem Gerät "Tuner" und ein Ausgabedatenstrom mit dem Gerät "Decoder" (Fernseher) verbunden ist.
Soweit die idealisierte Theorie. In der Praxis gibt es da noch einige Schwierigkeiten zu überwinden, da der VDR von sich aus eigentlich nicht netzwerkfähig ist. So haben wir weitere Verbindungen für die Steuerung und das OSD zu berücksichtigen.
Installation
Da es keine externen Abnängigkeiten gibt, gestaltet sich die Installation recht einfach. Es wird installiert, wie jedes andere Plugin. Eine Besonderheit besteht darin, dass beim Übersetzen gleich zwei Plugins entstehen, der server und der client.
Probleme
TODO
Vielen Dank an Sascha für dieses großartige Stück Software.