Hallo zusammen,
ich habe in der letzten Zeit einiges Bereich Streaming mit dem VDR ausprobiert. Da das ja regelmäßig ein Thema ist, fasse ich das mal hier zusammen, vielleicht hilft es ja anderen. Ich stecke jetzt aber ein wenig fest, deshalb habe ich auch noch einige Fragen.
Und ich möchte einmal auf das ffnetdev Plugin hinweisen. Ich finde das ist ein echtes Highlight im VDR-Plugin-Dschungel
Mein Ziel ist es, über WLAN auf Laptops fernzusehen, mit folgenden Funktionen, komplett vom PC gesteuert:
- Live TV mit Programm-Umschaltung
- Wiedergabe von Aufnahmen mit Vor/Zurück-Spulen
- Live TV pausieren
- Diese Funktionen gleichzeitig auf mehreren Laptops
Ich habe nacheinander einige Alternativen ausprobiert:
1) streamdev-server plus VLC
VLC hängt per HTTP-Streaming am streamdev-server Plugin. Damit funktioniert Live-TV. Umschalten kann ich über die Playliste, der VLC holt die dynamisch bei jedem Start vom VDR.
Wiedergabe von Aufnahmen erfordert wohl eine NFS-Freigabe der Aufnahmeverzeichnisse. Das habe ich aber nicht ausprobiert. Pausieren von Live TV ist mit diesem Ansatz nicht möglich, wenn ich das richtig verstanden habe.
Wenn der Laptop per Kabel am Switch hängt, dann läuft das super-stabil, ich hatte bis zu vier VLCs mit unterschiedlichen TV-Programmen auf einmal laufen.
Über WLAN reagiert das HTTP-Streaming recht empfindlich auf Störungen. Ich habe einen 54 Mbit Access Point hinter einer Mauer. Da führt bereits eine Person zwischen Laptop und Access Point zu Aussetzern. Der VLC kommt da teilweise selber nicht wieder "auf die Füße". Das erfordert dann ein Pause/Play oder sogar Stop/Play im VLC um wieder ein Bild zu bekommen.
2) vomp-server plus MediaMVP Client für Windows
Damit könnte man wohl Live TV und Aufnahmen schauen. Live TV pausieren geht wohl nicht. Leider habe ich das nicht zum Laufen bekommen, der Client zeigt kein Bild und keinen Ton. Ich habe die Codecs von PowerDVD verwendet.
3) ffnetdev plus VLC mit OSD
Das ffnetdev Plugin stellt als Device Live TV und Aufnahmen zur Verfügung. Der VLC kann damit auch das VDR OSD anzeigen. Damit kann man am Laptop alles machen was auch eine FF-Karte am Fernseher ermöglicht.
Ich habe das OSD mit dem VLC nicht benutzbar zum Laufen bekommen. Ich habe Darstellungsfehler und die OSD Reaktionszeiten sind sehr langsam. Die OSD-Bedienung ist auch nicht so ganz glücklich, man kann nur die Tastatur verwenden und auch nur die Tasten die VLC nicht schon belegt hat, das ist nicht so intuitiv.
ffnetdev streamt zu VLC über WLAN allerdings wesetlich stabiler als streamdev. Aussetzer sind viel kürzer und VLC nimmt den Stream normalerweise wieder auf.
Ich hatte allerdings einmal einen VDR der nach 22h Leerlauf 100% CPU-Last verursacht hat, ich weiss aber nicht ob ffnetdev die Ursache war.
4) ffnetdev plus VLC plus tightVNC
Alternativ kann man das OSD per tightVNC benutzen. Man hat dann kein OSD-Overlay sondern zwei Fenster, VNC mit dem TV-Programm und tightVNC mit dem OSD auf schwarzem Grund. Das läßt sich sogar ganz gut bedienen, aber auch nur mit der Tastatur. Nicht wirklich schön.
5) ffnetdev plus VLC plus live
In dieser Variante habe ich das OSD von ffnetdev nicht benutzt und stattdessen das live Plugin zur Steuerung des VDR eingesetzt. Das funktioniert richtig gut. VLC zeigt das TV Bild an, zum Programmwechsel verwendet man den Web Browser.
Man kann auch Aufnahmen abspielen, nur Vor/Zurück-Spulen klappt nicht wirklich, man kann spulen aber nicht wieder aufhören (oder ich kapiere das noch nicht).
Für Pausieren von Live TV müsste man das live Plugin wohl erweitern, aber grundsätzlich sollte die nötigen Funktionen da sein.
Nachteil bei der Sache ist dass man nur einen VLC an das ffnetdev Plugin hängen kann weil es nur ein einziges Ausgabedevice implementiert.
So, jetzt habe ich ein paar Fragen, die zielen darauf ab, ffnetdev mit mehreren Clients betreiben zu können. Das erfordert sicher Source-Code-Lesen aber mit einigen Hinweisen geht's vielleicht schneller... Mir ist klar dass ffnetdev mit mehreren Clients Code-Änderungen erfordert, aber das ist ja nix schlimmes
Was ist das Primary Device? Dazu habe ich keine Beschreibung gefunden. Was unterscheidet das Primary Device von anderen Ausgabe-Devices? Welche Funktionalität funktioniert nur auf dem Primary Device?
Wenn ein VDR zwei FF-Karten hat, kann man dann an beiden Karten sinnvoll je einen Fernseher anschließen und die unabhängig voneinander betreiben? Bekommt man dann auf jedem Fernseher ein OSD?
Wie kann man im VDR mehrere Ausgabe-Devices parallel steuern? Geht das mit dem live Plugin oder mit SVDRP?
Kann ein Plugin im VDR dynamisch, während er in der Hauptschleife ist, Ausgabe-Devices hinzufügen? Dann könnte man vielleicht ffnetdev so umbauen dass es bei einem Client-Connect eine neue Device-Instanz erzeugt.
Vielen Dank,
Bernd