t-hack.com

German - X300T / X301T => Software => Topic started by: DrDream on 04. Jul 2008, 13:43

Title: 301T + VLC ?
Post by: DrDream on 04. Jul 2008, 13:43
Hi,


folgende Fragestellung :

Ich habe auf meinem PC VLc als Server laufen und würde gerne meinen 301 T als Client nutzen, geht das ?

ich habe das selbe konstrukt schon mit meiner Dream 7025 laufen und würde gerne dies mit dem 301T im Schlafzimmer realisieren....

1000 dank im Voraus

DrDream
Title: Re: 301T + VLC ?
Post by: robert_s on 04. Jul 2008, 14:01

Ich habe auf meinem PC VLc als Server laufen und würde gerne meinen 301 T als Client nutzen, geht das ?

ich habe das selbe konstrukt schon mit meiner Dream 7025 laufen und würde gerne dies mit dem 301T im Schlafzimmer realisieren....


Hmm, interessante Frage. Du könntest ja mal probieren, den VLC-Server einen H.264/AVC Videostream via RTP auf der Multicast-Adresse 239.35.86.11 Port 10000 zur Verfügung zu stellen. Dann rufst Du mit dem X301T das ZDF auf, welches von genau dieser Adresse abgerufen wird. Was passiert?

Ggf. musst Du in Deinem Router diese Adresse blocken, damit nicht auch noch der "echte" ZDF-Stream reinkommt.

Wenn das funktioniert, könnte man als "dauerhafte" Lösung ja die Multicast-Adresse eines unbenötigten Senders verwenden (z.B. irgendeine der vielen NDR, MDR oder WDR-Regionalvarianten).
Title: Re: 301T + VLC ?
Post by: keKs on 07. Jul 2008, 00:58
ehmm wenn das klappt dann wärs ein wunder denn die idee hatte mit sicherheit schon einer der hellen köpfe hier.

ich teste das mal eben!

edit: irgendwie unmäglich in dem konfig menü des w700 v eine IP zu blocken.

anderer ansatz: man könnte ja die konfig auf die IP range 239.x.x.x einstellen. dann vergebe man sich die IP des ZDF oder sonst eines Senders und Streame das ganze. Ich hab nun wohl nicht die Möglichkeit die IP zu blocken also müsste man das Internet in dem Fall ausschalten. Sollte doch auch gehen? Ich versuchs :D

bääm und wieder gescheitert. ehmm man konnte doch mal die LAN IPs des W700 ändern?! Also von 192.168.2.1 weg. Jetzt ist das der Punkt unzugänglich.  ???
Title: Re: 301T + VLC ?
Post by: Duese on 07. Jul 2008, 13:53
unter dem punkt "Netzwerk" und dann "LAN" kann man die adresse ändern, allerdings wird man sich immer innerhalb eines klasse c netzes befinden.
sprich 192.168 kann nicht geändert werden. subnetzmaske kann auch nicht geändert werden.
vorraussetzung hierfür wäre also ein vollwertiger router.
Title: Re: 301T + VLC ?
Post by: keKs on 07. Jul 2008, 15:03
aber das ging doch mal beim w700 oder verwechsele ich da was?!  ???
Title: Re: 301T + VLC ?
Post by: robert_s on 07. Jul 2008, 16:37
Wie wär's damit (zu Testzwecken):

Windows 2000/XP/Vista PC mit zwei Netzwerkkarten, eine zum Router, an die andere den X300T/X301T dran. Dann mit der Internetverbindungsfreigabe die Verbindung mit der zweiten Netzwerkkarte teilen.

Der X300T/X301T bekommt dann seine IP-Adresse vom PC. Starten und TV sollte auch gehen, aber das TV stoppt dann nach wenigen Sekunden, wenn die Box zum IP-Multicast übergehen will (weil die Internetverbindungsfreigabe keine Multicasts durchleitet).

An diesem Punkt startet man dann den VLC-Server... Läuft's?
Title: Re: 301T + VLC ?
Post by: JimRaynor on 20. Jul 2008, 22:01
Diese Idee hatte ich auch schon, da ich die Box hier hinter nem Linux-Router(inkl. IGMPProxy + HP Procurve 2510 (Multicastfähig) dahinter) im Betrieb habe wäre das gundsätzlich machbar zu testen... ich muss aber eingestehen ich bin nicht der super Experte was die Geschichte mit Streamingformaten oder Multicasting angeht...

sofern ihr mir die configs nennen könntet in welchem format das zu streamen ist könnt ich das ja morgen nach der arbeit mal testen
Title: Re: 301T + VLC ?
Post by: robert_s on 20. Jul 2008, 22:29
Um erstmal die Machbarkeit zu prüfen, kannst Du z.B. "Das Erste" mit VLC aufnehmen:

vlc udp://@239.35.129.11:10000 :demux=dump :demuxdump-file="DasErste.ts"

Das lässt Du ein paar Minuten laufen und machst VLC dann zu. Danach sollte eine Datei namens "DasErste.ts" von einigen MB Grösse vorhanden sein.

Danach schaltest Du - bei geblockten Multicasts vom Internet - den IPTV-Receiver auf das ZDF. Das sollte kurz laufen und dann stehenbleiben. Dann lässt Du VLC die Aufnahme übers LAN multicasten (darauf achten, dass Multicasts vom PC beim IPTV-Receiver ankommen!):

vlc DasErste.ts :sout=#duplicate{dst=std{access=rtp,mux=ts,dst=239.35.86.11:10000}}

Wenn's funktioniert, sollte der IPTV-Receiver nunmehr "Das Erste" anzeigen...

Achja, den Test sollte man möglichst nicht während des Mittagsmagazins machen, weil es dann schwierig ist ARD und ZDF auseinanderzuhalten ;)
Title: Re: 301T + VLC ?
Post by: JimRaynor on 20. Jul 2008, 22:32
hehe okay ... werd ich mal schaun ... danke für die info :) ich meld mich dann spätestens morgen was bei raus kam
Title: Re: 301T + VLC ?
Post by: JimRaynor on 21. Jul 2008, 00:33
hmm also ich habs jetzt mal probiert ... das anschauen von ard geht soweit im vlc, allerdings sobald ich die dump-optionen angebe, meint vlc das er den stream nicht mehr öffnen kann o.O

popup-error:
Unrecognized format for 'udp://@239.35.129.11:10000'

unter meldungen ist dann zu sehen:
main error: no demux2 module matched "udp"
main error: no suitable demux module for `udp/udp://@239.35.129.11:10000'
Title: Re: 301T + VLC ?
Post by: Hoernchen on 21. Jul 2008, 01:13
Benutzt du eine SVN-Version ? Hab mir extra svn revision 13000 kompiliert damit endlich der IPTV-Stream samt Tonspur auf Anhieb richtig läuft, und musste mit Erstaunen feststellen das roberts Kommandozeile damit tatsächlich deinen Fehler produziert, während sie mit der normalen stabilen Version funktioniert.

edit: Grad mal geschaut, bei den svnversionen gehts scheinbar nur mit --ts-dump-file "blablabla.ts"
Title: Re: 301T + VLC ?
Post by: robert_s on 21. Jul 2008, 02:39
Grmpf... Die Brüder haben die Version 0.86i rausgebracht und darin was kaputtgemacht >:(

Wenn man die Optionen per GUI auswählt (UDP/Multicast Stream öffnen und "Raw" in eine Datei speichern) kommt dieselbe Kommandozeile und Fehlermeldung raus...

Bis Version 0.86h ging's noch... Also am besten von hier die funktionierende Vorgängerversion laden (für Windows):

http://www.videolan.org/mirror.php?mirror=http://videolan.kn.vutbr.cz/&file=vlc/0.8.6h/win32/vlc-0.8.6h-win32.zip
Title: Re: 301T + VLC ?
Post by: JimRaynor on 21. Jul 2008, 09:45
joar dann lad ich doch mal die alte version ;) ... hatte gestern erstmal bestimmt ne halbe stunde gekämpft die box ansich erstmal wieder ins netz zu bekommen. aber soweit klappt alles und dann kann ich das ja heute nach der arbeit mal ausprobieren...
Title: Re: 301T + VLC ?
Post by: Hoernchen on 21. Jul 2008, 13:07
Tss, da hab ich doch tatsächlich die neuste stabile Version übersehn, genauso wie irgendwer vergessen hat beim Release zu erwähnen das sich scheinbar die Parameter geändert haben, für die neue stabile Version gilt jetzt auch "--ts-dump-file".
Title: Re: 301T + VLC ?
Post by: JimRaynor on 21. Jul 2008, 16:34
ahh okay gleich mal testen bin jetzt ja auch @ home ... selbst wenn man das aus dem gui auswählt, will der noch mit alten parametern starten, also frontend wohl auch vergessen worden...
Title: Re: 301T + VLC ?
Post by: JimRaynor on 21. Jul 2008, 17:11
So also ohne erfolg leider ... ich vermute aber es liegt an dem multicasting ... leider kann ich nicht genau nachprüfen ob der stream auch wirklich ankommt bei der box.

Vorgehensweise:

1. wie oben gepostet, stream aufgezeichnet
2. die box aufs zweite geschaltet
3. igmpproxy gekilled -> bild auf der box steht still
4. vlc wie oben als wiedergabegerät eingestellt
...

sowohl mein laptop (wo vlc lief) als auch er router (inet + igmproxy) als auch die box hingen an einem HP Procurve 2510 im selben VLAN, in dem multicasting geht, da ja auch bei aktivierten igmpproxy tv geht...

man könnte das vieleicht nochmal mit einem normalen switch (der multicast wie broadcast behandelt) probieren, aber ich glaub das war nicht das problem ... wenn ich multicasting richtig verstanden habe, melden sich die clients ja mittels igmp am stream an ... kanns sein das es da die probleme gibt?

gruß, jim
Title: Re: 301T + VLC ?
Post by: robert_s on 21. Jul 2008, 20:49
Mit welchem VLC hast Du aufgezeichnet? Die Verwendung der neuen Version mit --ts-dump-file erzeugt fehlerhafte Dateien... Es geht wirklich nur mit vlc 0.8.6h richtig.

Ansonsten kannst Du ja mal am PC antesten: Während VLC läuft und "sendet" einfach ein zweites VLC starten mit:

vlc udp://@239.35.86.11:10000

In diesem VLC sollte dann das aufgezeichnete "Das Erste" zu sehen sein. Wenn das nicht klappt, wird schon nicht richtig gesendet...
Title: Re: 301T + VLC ?
Post by: JimRaynor on 21. Jul 2008, 22:03
hatte 0.8.6h verwendet. local lässt sich das file auch abspielen, wenn auch mit wiedergabefehlern (jede menge artefakte).

Das mit nem 2. VLC hatte ich probiert aber wollte auch nicht so recht... komisch war aber das der traffic zu sehen war aufm router ...
Title: Re: 301T + VLC ?
Post by: robert_s on 22. Jul 2008, 01:35

hatte 0.8.6h verwendet. local lässt sich das file auch abspielen, wenn auch mit wiedergabefehlern (jede menge artefakte).


Dann hast Du schon mal irgendein (Netzwerk?)problem mit Deinem PC. Was kommt denn heraus, wenn Du nur:

vlc udp://@239.35.86.11:10000

eingibst? Wenn das (mit vlc 0.8.6h und ausreichend schnellem Rechner) kein einwandfreies ZDF ergibt, hast Du wohl ein Netzwerkproblem...

Das mit nem 2. VLC hatte ich probiert aber wollte auch nicht so recht... komisch war aber das der traffic zu sehen war aufm router ...


Das zweite VLC sollte ebenso einwandfrei laufen... Also irgendwie ist da was faul mit Deinem Netzwerk ;)

Ich würde es ja selbst versuchen, hab' aber keinen Plan wie ich die Multicasts von der Telekom blockieren sollte. Ich könnte nur das Internet komplett trennen. Was macht die Box dann eigentlich...?
Title: Re: 301T + VLC ?
Post by: JimRaynor on 22. Jul 2008, 06:28
Also der Rechner sollte schnell genug sein (Cybersystem Laptop - Intel Core 2 Duo T7700 - 4GB Ram). Wenn ich direkt den zdf / ard stream abspiele (udp://@239.35.86.11:10000) hab ich nen super bild, nur wenn ich das lokale file abspielen will gibt die probleme mit den artefakten.

die multicasts blocke ich indem ich den igmpproxy einfach aufm router kille, daher leitet er die igmp-membership-requests von der t-com nicht weiter an die box und das bild auf der box steht nach den 10 ersten sekunden unicast.

ich vermute einfach mal das problem wird daran liegen das vlc nicht wirklich multicast sendet... den wie schon geschrieben hab ich nen richtigen switch hier, d.h. der leitet den multicast auch nur an die ports weiter die die membership requests annehmen (auf 224.0.0.1 ?)... ganz so genau hab ich auch keinen plan von multicast ich kann mich ja heute mal ein wenig belesen... aber ich vermute halt das vlc das nicht richtig per multicast sendet, nur als output ne ip zu verwenden die für multicast reserviert ist wird vermutlich nicht reichen. ich denke es fehlen die membership-requests vom vlc...

was man aber trotzdem noch probieren könnte wäre das ganze mal mit einem "kleinen" switch zu probieren, da der die multicasts wie broadcasts behandelt und damit alles was auf multicast adressen raus geht, einfach an alle weiter schickt... müsst ich hier halt mal ein bisschen umbaun ;)

achso wenn man die box komplett trennt vom netz steht auch einfach das bild, wenn sie einmal gestartet ist... aber deine Frage war wohl eher ob sie dann noch Multicast-Pakete annimmt, oder?
Title: Re: 301T + VLC ?
Post by: JimRaynor on 22. Jul 2008, 09:04
Also wenn ich diese beiden Wikipediaseiten

http://de.wikipedia.org/wiki/Multicast
http://de.wikipedia.org/wiki/Internet_Group_Management_Protocol

richtig verstehe, dann wird die Vermutung aus dem letzten Post wohl auch der Grund sein warum es nicht bei mir funktioniert. Zudem kam der Stream nicht vom Router sondern vom Laptop ... hmm ... also die genauen Details muss ich mir mal noch mal zu Gemüte führen :(
Title: Re: 301T + VLC ?
Post by: yoshi2001 on 25. Jul 2008, 06:03
Vielleicht kann man ja was mit dem fli4l Router in dieser Richtung erreichen ?
Title: Re: 301T + VLC ?
Post by: robert_s on 18. Sep 2008, 16:12
Nachdem wir ja nun weitere Erkenntnisse haben, welche Metadaten die Box über die einzelnen Sender erhält, kann man daraus auch schliessen, wie die "Senderemulation" mit VLC funktionieren müsste:

Demnach erhält die Box nicht nur die Multicast-IP-Adresse sowie den Port eines Senders, sondern zudem auch noch die RTP-SSRC und die MPEG-2 Transport Stream program_number. Vor allem wegen der RTP-SSRC wird das bisher mit VLC bisher nicht geklappt haben - es sieht so aus als ob VLC diese bei jedem Start zufällig generiert. Da muss man sich mal durch die Dokumentation wühlen, ob man die SSRC irgendwie vorgeben kann. Und dann muss eben noch die program_number stimmen...
Title: Re: 301T + VLC ?
Post by: robert_s on 18. Sep 2008, 16:49
Mist:

modules\stream_out\rtp.c:

    id->ssrc[0] = rand()&0xff;
    id->ssrc[1] = rand()&0xff;
    id->ssrc[2] = rand()&0xff;
    id->ssrc[3] = rand()&0xff;

Das RTP-Modul von VLC verwendet also tatsächlich eine Zufallszahl als SSRC. Also müsste man sich erst einmal eine eigene VLC-Version basteln, um zur Box streamen zu können...
Title: Re: 301T + VLC ?
Post by: Hoernchen on 18. Sep 2008, 16:55
Das müsste dann nurnoch jemand machen der weiss was er tut, auf gut Glück VLC verpfuschen und dann noch nen Stream hinbasteln hat wenig Aussicht auf Erfolg ;)
Title: Re: 301T + VLC ?
Post by: robert_s on 18. Sep 2008, 19:14

Das müsste dann nurnoch jemand machen der weiss was er tut, auf gut Glück VLC verpfuschen und dann noch nen Stream hinbasteln hat wenig Aussicht auf Erfolg ;)


Uff, also ich bin das offenbar nicht, denn diese Anleitung, um VLC nur mal zu compilieren ist mir einfach zu heftig:

http://wiki.videolan.org/Win32CompileCygwinNew

UNIX-Entwicklungsumgebung installieren, zig Packages auswählen, manuell Contrib-Dateien dazuladen, make/config-Dateien manuell zusammenfummeln, und dann stundenlang auf ein Build-Ergebnis warten in der Hoffnung, dass das nicht irgendwann mit einer Fehlermeldung abbricht und der Build dann auch funktioniert - ach nöööööö.

Blödes UNIX-Gefummele. Vielleicht hat ja irgendein Linux-Experte Lust darauf... Was den eigentlichen Sourcecode angeht sind ja nur 2x 4 Codezeilen zu ändern und fertig. Aber dann stundenlang herumfummeln müssen nur um das Zeugs mal compiliert zu kriegen steht in keinem Verhältnis. Also entweder hacke ich das VLC-Binary oder ich bastle mir einfach einen eigenen RTP-Sender zusammen...
Title: Re: 301T + VLC ?
Post by: Hoernchen on 18. Sep 2008, 19:40
Öh, das Kompilieren in cygwin ist garnicht mal so schwer, hab ich vor geraumer Zeit mit svn r13000 gemacht weils im svn einen Fix für die iptv-Tonprobleme gibt - hat samt zurechtbasteln auch nur ~8h gedauert ;)
Glaub fast das crosskompilieren mit einem VirtualBox-Linux wäre doch schneller gewesen...
Der eigene RTP-Sender dürfte zum Nachteil haben das die Box ja nur bestimmte Formate akzeptiert und die Bildmaterialauswahl stark beschränkt wäre - aber irgendwas das beweist das das Prinzip funktioniert wäre natürlich besser als garnix :P
Also am Kompilieren solls nicht scheitern.
Btw - bin ich der Einzige bei dem der neuste VLC direkt crasht wenn man versucht aus der iptv-playlist irgend einen Sender zu schauen ?
Title: Re: 301T + VLC ?
Post by: robert_s on 18. Sep 2008, 22:34

Btw - bin ich der Einzige bei dem der neuste VLC direkt crasht wenn man versucht aus der iptv-playlist irgend einen Sender zu schauen ?


VLC 0.9.2? Das crasht bei mir auch wie bescheuert - ein extrem instabiles Release. Ein weiterer Grund weshalb ich überhaupt keine Lust habe diesen Schrottcode mühsamst zu compilieren...  >:(

P.S.: Achso, wenn der sich gleich bei der Senderwahl verabschiedet: Unsere Freunde vom VLC-Team haben netterweise an der Syntax gefummelt. RTP/UDP-Streams empfängt man jetzt nicht mehr mit udp:// sondern nur noch mit rtp://, also z.B. "vlc rtp://@239.35.129.11:10000" empfängt "Das Erste". Man darf also die VLC-Playlisten für IPTV erstmal schön umfummeln... >:(
Title: Re: 301T + VLC ?
Post by: Hoernchen on 18. Sep 2008, 23:00
LOL - ich ging ja damals davon aus das diese 1243135234 Bugs aus der neuen pseudo-"stabilen" Version noch beseitigt werden und das Release noch in weiter Ferne ist, oder das mein Vista64 ist schuld ist.
Das der neue vlc nach grossartig erwähnten zwei Jahren Entwicklungszeit einfach wortlos augenblicklich crasht wenn man die alte Playlist mit udp:// benutzen will ist ja wirklich Bahnbrechend, wenn ich alles zu rtp:// ändere, gehts.

Nichtsdestotrotz sehe ich keine bessere Alternative als einen "alten" vlc zu verbasteln, was alle möglichen Formate und Streamingoptionen angeht ist VLC immernoch die eierlegende wollmillchsau, zumindest ist mir kein anderes Opensourceprogramm bekannt das man zurechtbiegen könnte.
Title: Re: 301T + VLC ?
Post by: MrWendell on 15. Jun 2009, 07:29
Naja so falsch ist VLC aber nicht:

"....The SSRC identifier is a randomly chosen value meant to be globally unique within a particular RTP session..."

http://www.ietf.org/rfc/rfc1889.txt (http://www.ietf.org/rfc/rfc1889.txt)

Hat den jemand genaue angaben was für RTP SSRC man braucht für welche channels ? Vielleicht kann ich ein debian basiertes vlc bastelen der das realisiert.
Title: Re: 301T + VLC ?
Post by: mce2222 on 15. Jun 2009, 21:51
klar is das grundsätzlich nicht falsch was vlc da macht ... nur leider passt es nicht mit dem client auf der x300t zusammen, denn der erwartet ganz genau festgelegte SSRC werte je nach Kanal. Wenn ich mich recht entsinne werden diese Werte in der Kanalliste mit übertragen.
Title: Re: 301T + VLC ?
Post by: MrWendell on 16. Jun 2009, 10:40
Lass mich raten die Kanalliste kann man nicht so einfach abfangen?
Title: Re: 301T + VLC ?
Post by: asgard on 16. Jun 2009, 12:33
die Kanalliste liegt m.W. nach auf der Festplatte...
Title: Re: 301T + VLC ?
Post by: Hoernchen on 16. Jun 2009, 12:57
Nee, die steckt mitten in den verschlüsselten XML-Daten die die Box mit dem Server austauscht.
Title: Re: 301T + VLC ?
Post by: Grinch on 16. Jun 2009, 21:30
Wenns nur darum geht die SSRC rauszufinden kann man auch einfach den original Stream abrufen und daraus die SSRC ablesen.
Title: Re: 301T + VLC ?
Post by: Hoernchen on 16. Jun 2009, 21:53
Baaaah, das is ja wohl die langweilige Alternative :P
Aber stimmt schon, das ist mal eine Bastelei die auch ohne Gerfummel an der Box selbst gehen sollte...
Title: Re: 301T + VLC ?
Post by: Grinch on 16. Jun 2009, 21:56
Interessanter ist natürlich nen eigenen Webservice zu programmieren und damit die SSRC vorzugeben ;)