Hallo zusammen und ein gutes neues Jahr erst mal!
Nachdem ich auch vor dieser "Aufgabe" stand und ich nirgends eine "fertige" Lösung gefunden hab, hab ich mal ein wenig experimentiert.
Ausgangspunkt war der Thread
http://www.jackthegrabber.de/viewtopic.php?t=4948, den torre weiter oben ja schon mal erwähnt hat und ein Artikel in der c't vom Januar.
Ich hab es geschafft, qualitativ garnicht mal so übel übers Internet zu streamen.

Hab mir heute mal Pre****e ins Büro gestreamt und da angeschaut - nur kurz natürlich
Das ganze ist noch sehr experimentell und mit einiger Handarbeit verbunden, bevor man die ersten Bilder sieht, für's erste wollte ich aber nur mal schauen, ob es überhaupt geht und welche Qualität man übertragen kann.
Erst mal kurz zur grundsätzlichen Funktionsweise: Im gleichen Netzwerk wie die dBox läuft ein PC, auf dem ein VLC per HTTP den Stream aus der Box holt.
VLC rekodiert den Stream mit geringer Bitrate nach MPEG4 und schickt das per Internet/UDP in die weite Welt hinaus zum Zielrechner. Dort läuft ein VLC als Client.
Das ganze hat natürlich noch enormes Verbesserungspotenzial. Angefangen von Umschalten, PIDs ermitteln bis hin zur automatischen Erkennung der Ziel-IP im Internet geht da noch nichts mit Programmunterstützung.
Denkbar wäre auch noch, das ganze am Ziel wieder in MPEG2 zurückzuverwandeln und auf einer dBox abzuspielen. Aber soweit bin ich noch nicht....
Vielleicht schreib ich dazu mal ein kleines Progrämmchen, "but don't hold your breath for it"
Hier für die Experimentierfreudigen eine kleine Schritt für Schritt-Anleitung:
Erst mal die dBox auf das gewünschte Programm stellen und über die "Technischen Informationen" die PIDs ermitteln (PMT, VPid und APid).
In meinem Beispiel hier ist das 0x65, 0x1ff und 0x200.
Nun erst mal VLC starten um zu sehen, ob man einen Stream von der Box bekommt:
vlc http://192.168.2.100:31339/0,0x65,0x1ff,0x200
Die IP der Box (192.168.2.100) müsst Ihr natürlich anpassen, die Ziffern hinten sind die vorher ermittelten PIDs.
In meinem Fall ging das nicht auf Anhieb, ich musste meine Box erst in den Record-Mode versetzen und Playback ausschalten.
Dazu einfach ein Browserfenster aufmachen und diese URL eintragen:
http://192.168.2.100/control/setmode?re ... yback=true
(Ebenfalls wieder die IP der Box anpassen).

Vielleicht kann mir jemand noch einen Tip geben, wieso das nur mit diesem Aufruf ging (JTG Image Snapshot vom 26.12.05)
Wenn das dann funktioniert, machen wir VLC wieder zu und starten es neu, diesmal mit umkodierter MPEG4-Streamausgabe an die Zieladresse im Internet.
vlc http://192.168.2.100:31339/0,0x65,0x1ff,0x200 :sout=#transcode{width=352,vcodec=mp4v,vb=360,acodec=mp4a,ab=32,deinterlace}:duplicate{dst=std{access=udp,url=12.34.56.78:1234},dst=display}
Achtung: Das ist alles in einer Befehlszeile!
Die Bandbreite, die der MPEG4 Stream braucht, muss man evtl. anpassen. Das Nadelöhr bei den üblichen DSL-Anschlüssen ist hierbei der Upstream. Ich hab eine 6016/576 kBit Leitung und die im Beispiel verwendete Bandbreite war die Obergrenze dessen, was noch zuverlässig funktioniert hat.
Die Parameter, mit denen Ihr experimentieren könnt sind:
width=352 Breite des ausgegebenen Bildes. Das entspricht VCD-Auflösung. Kleiner wird dann wirklich zur Briefmarke, größer braucht mehr Bandbreite oder gibt sehr unschöne Klötzchen.
vb=360 Ist die Bandbreite für den Videostrom. Mehr ist besser für's Bild.
ab=32 Ist die Audiobandbreite. Trotz den wenigen 32kBit war der Sound aber absolut OK.
Eventuell kann man noch die Framerate verringern mit dem zusätzlichen Parameter z.B.
fps=15 was Bandbreite spart, mir persönlich aber nicht so gefällt.
Gegen Ende der Zeile steht noch die Ziel-IP-Adresse (
12.34.56.78). Diese müsst Ihr natürlich anpassen auf die Adresse, wohin im Internet gestreamt werden soll.
Die eigene IP-Adresse kann man normalerweise am Router aber auch z.B. hier
http://www.heise.de/ip/ rausfinden.
Achtung: Bitte unbedingt aufpassen, daß die IP-Adresse stimmt, sonst müllt man leicht einem unschuldigen Benutzer seinen Internet-Zugang zu!
Eventuell muss im Zielnetz, wenn ein Router oder sonst eine Firewall benutzt wird, noch der Port 1234/UDP an den Rechner weitergeleitet werden, an dem der Stream angeschaut werden soll.
Nun zum Schluss auf dem Rechner zur Wiedergabe nur noch VLC starten:
vlc udp://
Und schon sollte nach kurzer Zeit das Bild sichtbar werden!
Auf dem Anzeigerechner hält sich der Performance-Hunger in Grenzen. Auf dem, der den dBox-Stream transkodiert, braucht's allerdings deutlich mehr Leistung.
Auf meiner Rechner ist ein Mobile-Prozessor (Pentium M 735) verbaut, der mit 1,7 GHz läuft, und der fährt mit rund 50% CPU-Last. Daher schätze ich, man sollte wohl mindestens in etwa einen 2GHz P4-Desktop-Prozessor haben.
Und nun viel Spaß beim Experimentieren!
