nach vielem Lesen, Copy/Past und Trial&Error habe ich endlich rausgefunden wie es geht. Ich war bei der Suche letztendlich ziemlich überrascht, dass ich dazu keine Anleitung gefunden habe, sondern nur Fragmente und diverse Fragen zum Thema, aber vielleicht kann ich auch nicht Suchen.
Ziel war es das laufende dbox-Programm ins Netzwerk zu streamen und an mehreren PC sehen zu können. Das Problem dabei ist die 10 MBit Anbindung der dbox, also kann zwar ein PC und vielleicht noch ein Zweiter mit der JtG-Option "Im VLC abspielen" auf das Programm zugreifen, aber dann ist sicher Schluß.
Die angestrebe Lösung war, dass ein einzelner PC das Programm von der dbox holt und dieses seinerseits ins Netzwerk streamt. Alle weiteren PCs holen sich den Stream vom ersten PC und nicht von der dbox. Damit ist die mögliche Anzahl der gleichzeitigen Clients sicher deutlich höher.
Und so sollte es funktionieren:
1. An der Dbox den SPTS-Mudus aktivieren: Einstellungen -> diverse Einstellungen -> SPTS-Mode Treiber laden (ein).
2. Auf allen Rechnern VLC 0.8.0 installieren. (Andere Versionen funktionieren eventuell auch.) (Download)
3. An der dbox auf das gewünschte Programm zappen. (z.B.: MGM)
4. An der FB die rote Taste -> technische Informationen -> PMTpid: 0x0066, Vpid: 0x02ff, Apid(s): 0x300, 301
5. 66, 2ff und 300 merken. (Andere Sender haben andere Pids.)
6. Am ersten PC (Server) vlc.exe mit diversen Parametern starten.
7. An "beliebig" vielen, weiteren PCs (Clients) vlc.exe mit Parameter starten.
8. In der Küche, im Schlafzimmer und auf der Terrasse nach Herzenslust Fernsehen.
Der VLC-Aufruf für den Server:
C:\Programme\VideoLAN\VLC\vlc.exe http://192.168.0.202:31339/0,0x66,0x2ff,0x300 :sout=#duplicate{dst=std{access=udp,url=192.168.0.100:1234},dst=std{access=udp,url=192.168.0.15:1234},dst=std{access=udp,url=192.168.0.225:1234}}
(Das ist eine einzige Befehlszeile, auch wenn hier sicher ein Zeilenumbruch dargestellt wird.)
Das Fettgedruckte muss individuell angepasst werden.
Das sendet den Stream an drei Clients: 192.168.0.100, 192.168.0.15 und 192.168.0.225.
Die Liste kann natürlich auch bei gleicher Syntax länger sein.
192.168.0.202 ist hierbei die IP der dbox.
66, 2ff,300 ist das PMT-, V- und das Apid des laufenden Programmes.
Der Server kann auch gleichzeitig ein Client sein, dazu muss er in der "IP-Liste" aufgeführt werden und vlc zusätzlich auch als Client aufrufen.
Alternativ kann zur Wiedergabe am Server auch dst=display, statt dst=std{access=udp,url=192.168.0.100:1234}, verwendet werden, dann muss am Server kein weiterer vlc zur Wiedergabe gestartet werden.
Der VLC-Aufruf an den Clients:
C:\Programme\VideoLAN\VLC\vlc.exe udp://
Nicht jeder Client, muss gestartet werden, es funktioniert auch wenn nur einer oder zwei empfangen, auch wenn an drei oder mehr gesendet wird.
Der Stream wird nirgends gespeichert, ein Timeshift geht mit diesem Beispiel nicht.
Falls die Verteilung einer anderen Sendung gewünscht wird, so ist der vlc am Server mit den entsprechenden neuen Pids neu zu starten. Die Clients müssen nicht neu gestartet werden, die setzen die Wiedergabe einfach fort, sobald wieder etwas vom Server gesendet wird.
Der Server könnte auch an die Multicast-Adresse (239.10.20.30, für alle Netzwerke identisch) senden, dann müsste man nicht jeden Client einzeln auflisten, aber dann wird auch an die dbox gesendet und das geht von deren 10 MBit halfduplex Bandbreite ab, auch wenn sie den Stream nicht entgegen nimmt. Das führt dazu, dass eine ruckelfreie Übertragung praktisch ausgeschlossen ist.
Alternativ und eigenlich eleganter, kann am Server auch http, statt udp benutzt werden.
Der Unterschied ist, dass der Server nicht den Stream an eine vordefinierte Liste von Clients schickt, sondern für beliebige Clients den Stream zur Abholung bereit stellt.
Das entbindet von der Notwendigkeit die Client-IPs beim Server zu benennen und entlastet das Netzwerk, da nicht alle gelisteten Clients beliefert werden, egal ob sie die Wiedergabe gestartet haben oder nicht. Der Stream geht dann nur zu den Clients, die ihn auch tatsächlich abrufen.
Der VLC-Aufruf für den Server:
C:\Programme\VideoLAN\VLC\vlc.exe http://192.168.0.202:31339/0,0x66,0x2ff,0x300 :sout=#duplicate{dst=std{access=http,mux=ts,dst=0.0.0.0:1234}}
(Das ist eine einzige Befehlszeile, auch wenn hier sicher ein Zeilenumbruch dargestellt wird.)
Das Fettgedruckte muss individuell angepasst werden.
Der VLC-Aufruf an den Clients:
C:\Programme\VideoLAN\VLC\vlc.exe http://192.168.0.108:1234
192.168.0.108 ist hier die IP des Servers, 1234 ist der Port, der auch beim Server benutzt wird, statt 1234 kann auch am Server und am Client ein anderer Port benutzt werden.
Die letzte erfolgreich getestete VLC-Version ist 0.8.6d.
Gruß Frank
Die Bestimmungen von GEZ, Gema, Premiere usw. sind zu beachten!
Diese Funktion wurde von x3r0 in JackTV umgesetzt, so dass man sich das manuelle Eingeben der langen Befehlszeilen sparen kann und ein Umschalten per JackTV auch möglich ist. JackTV war anfangs Freeware. Die Weiterentwicklung von JackTV heißt XLiveGrabber und ist Shareware.
Ebenso hat arno diese Funktion auch in neutrinoTV eingebaut.
Nachtrag:arno hat geschrieben:Das geht indem Du in neutrinoTV unter Settings->VLC die Options-Datei "EnableHTTPStreamingServer.nvo" lädst. Du kannst auch mal mit einem Texteditor in die Datei reinsehen, da ist das nochmal erklärt. Dann in neutrinoTV ein beliebiges Programm wählen und "Go Live" drücken. Jetzt kannst Du aus dem Netz mit anderen VLCs darauf zugreifen (Port 1234).
Da seit Erstellung dieses Beitrags einige Erkenntnisse hinzukamen, habe ich ihn schon mehrfach überarbeitet. Hier sei noch erwähnt, dass mittlerweile nicht mehr alles auf meinem Mist gewachsen ist, sondern ich auch viel von x3r0 und von arno gelernt habe.
Hier meinen Dank an die Beiden.