[ANNOUNCE] vdr-ffnetdev-0.1.0 + dbox-vdrviewer-0.1.1 machen aus DBOX2 einen Streamingclient für VDR

  • Hi,


    den Fehler kannst du beheben indem du in der remote.h


    Code
    1. virtual bool Put(uint64 Code, bool Repeat, bool Release);


    durch

    Code
    1. virtual bool Put(uint64_t Code, bool Repeat, bool Release);


    ersetzt.


    Das wird dir allerdings auch nicht weiterhelfen, dann kommt nämlich:

    Code
    1. netosd.c: In constructor »cNetOSD::cNetOSD(int, int)«:
    2. netosd.c:12: Fehler: keine passende Funktion für Aufruf von »cOsd::cOsd(int&, int&)«
    3. ../../../include/vdr/osd.h:273: Anmerkung: Kandidaten sind: cOsd::cOsd(int, int, uint)
    4. ../../../include/vdr/osd.h:261: Anmerkung: cOsd::cOsd(const cOsd&)


    da muss ich dann auch wieder passen...


    ciao,
    Chris

  • Da ich (noch?) keine D-Box oder Dreambox mein eigen nenne, würde ich gerne zuerst mit meinen vorhanden Mitteln ein wenig experimentieren.


    VNC unter Windows ist ja kein Problem.


    Aber wie kann ich den Video-Stream empfangen, z.B. mit dem VLC-Player?


    Und wie könnte ich das Teil fernbedienen? Geschieht das auch über VNC?




    Gruss, Techfreak



    P.S.: Auf dem Server läuft das ffnetdev-P?lugin von EasyVdr 0.5 RC1. Ich kann mit VNC drauf connecten, sehe aber nur schwarz, kein OSD.

    Mein VDR: easyVDR 0.6, Gehäuse LC02 von Silverstone mit eingebautem PSone TFT, 160 GB Samsung HD, 512 MB Ram, Nexus-S, DVD-Benner

    The post was edited 1 time, last by techfreak ().

  • Hi,


    hier der Aufruf für VNC

    Code
    1. vncviewer VDR-IP-Adresse:20001


    und hier für VLC

    Code
    1. vlc tcp://VDR-IP-Adresse:20002



    Damit du was bekommst muss ffnetdev als "primary device" eingestellt sein.
    entweder
    Einstellungen -> Plugins -> ffnetdev -> "auto set primary device" = ja
    oder
    Einstellungen -> DVB -> "Primäres DVB-Interface" auf ffnetdev stellen



    Gleich vorneweg, die Stabilität in Verbindung mit der DBox ist um weiten besser als mit VNC und VLC.

  • Wow, coole Sache. Da schreib ich mir doch gleich noch eine DBOX auf den Weihnachtswunschzettel.


    Wie geht denn das Fernbedienen mit VNC / VLC? Werden da nicht die gedrückten Tasten am Keyboard an den VDR gesendet und wie dort gedrückte Tasten behandelt?


    Eine schöne Sache für Windows-Rechner wäre jetzt noch ein Programm, welches den Sourcecode von VNC und VLC kräftig durchmixt und daraus einen passenden Windows-Client macht. Wenn ich Zeit dafür finde, werde ich mich mal ein wenig schlau machen, wie aufwändig das wäre.

    ...oder eine kleine Linux-Distribution mit nur so einem Programm drauf, damit man bestehende PCs im Haus auch noch als Clients verenden kann, als Boot-CD mit Netzwerk-Boot. Das wäre aber dann weniger meine Baustelle.

    Mein VDR: easyVDR 0.6, Gehäuse LC02 von Silverstone mit eingebautem PSone TFT, 160 GB Samsung HD, 512 MB Ram, Nexus-S, DVD-Benner

    The post was edited 1 time, last by techfreak ().

  • Quote

    Wie geht denn das Fernbedienen mit VNC / VLC? Werden da nicht die gedrückten Tasten am Keyboard an den VDR gesendet und wie dort gedrückte Tasten behandelt?


    Die muss getrennt ähnlich wie Fernbedienung angelernt werden. Wird in remote.conf gespeichert.
    Wenn es bei dir nicht geklappt hat: Einträge aus remote.conf löschen, VDR neu starten. Nach dem Verbinden mit VNC sollte der Lernvorgang starten.


    Quote

    Eine schöne Sache für Windows-Rechner wäre jetzt noch ein Programm, welches den Sourcecode von VNC und VLC kräftig durchmixt und daraus einen passenden Windows-Client macht. Wenn ich Zeit dafür finde, werde ich mich mal ein wenig schlau machen, wie aufwändig das wäre.


    Hab auch schon dran gedacht, komme aber in nächster Zeit leider nicht dazu.


    Quote

    ...oder eine kleine Linux-Distribution mit nur so einem Programm drauf, damit man bestehende PCs im Haus auch noch als Clients verenden kann, als Boot-CD mit Netzwerk-Boot. Das wäre aber dann weniger meine Baustelle.


    Da könnte man auch xinelibout-Plugin verwenden, funktioniert ja schon soweit. Kann auch mit Framebuffer laufen, kann somit ziemlich "schlank" sein. Bei xinelibaut stört mich allerdigs, dass das OSD bei langsameren Verbindungen (z.B. WLAN) ziemlich träge wird.

  • Quote


    Hab auch schon dran gedacht, komme aber in nächster Zeit leider nicht dazu.


    Ich habe mir den sourcecode vom VLC jetzt mal angeschaut. Es wäre nicht schwer, da ein OSD reinzubekommen, wenn man es als "filter" implementiert. VLC enthält bereits diverse Filter wie z.B. einen, der ein Logo über das Bild legt, das sogar transparent sein kann.


    Fast schwieriger scheint mir im Moment zu sein, den Sourcecode von VLC unter Windows zum Kompilieren zu kriegen. Es gibt zwar Anleitungen dazu mit Hilfe von Cygwin oder MinGW, aber die scheinen nicht aktuell oder nicht komplett zu sein. Man muss viele Libs herunterladen und installieren...


    Wenn ich das Kompilieren von VLC dann mal geschafft habe, könntest Du mir dann ein paar Tipps geben, welchen Sourcecode ich für VNC hernehmen sollte, Du solltest die im Plugin und DBOX-Client implementiere Schnittstelle ja bestens kennen.


    Quote


    Da könnte man auch xinelibout-Plugin verwenden, funktioniert ja schon soweit. Kann auch mit Framebuffer laufen, kann somit ziemlich "schlank" sein. Bei xinelibaut stört mich allerdigs, dass das OSD bei langsameren Verbindungen (z.B. WLAN) ziemlich träge wird.


    VLC läuft auch unter Linux. Mit einer Erweiterung von VLC hätte man gleich 2 Fliegen auf einen Streich geschlagen.


    Gruss, techfreak

    Mein VDR: easyVDR 0.6, Gehäuse LC02 von Silverstone mit eingebautem PSone TFT, 160 GB Samsung HD, 512 MB Ram, Nexus-S, DVD-Benner

  • Mal ein kleines Update von mir.


    Ich habe mit einer Erweiterung für den VLC-Player als ffnetdev-Client angefangen.


    Es wird ein Video-Filter Plugin für den VLC, welches zusätzlich zum Video-Stream (den ja VLC bereits darstellen kann) noch das OSD holt und übers Bild legt.


    Mein VLC-Plugin verbindet sich jetzt bereits per VNC-Protokoll mit VDR-ffnetdev-plugin und bekommt die OSD-Daten eine Zeit lang, bis dann die Verbindung leider abbricht. Sobald ich die Verbindungsunterbrüche in den Griff bekommen habe, muss ich noch die OSD-Daten verarbeiten (werden jetzt zwar bereits decodiert aber noch ignoriert) und ins Bild einfügen, welches VLC dann übers Video legt.


    Wenn das alles mal klappt, dann hätten wir einen Multi-Plattform-Client für Windows, X- und Mac! Und damit könnten sich dann auch Leute für ffnetdev interessieren, die keine DBOX haben...


    Das kann aber noch eine Weile dauern, bis ich hier einen ersten Prototyp posten kann...


    Gruss, techfreak



    P.S.: Ich hab übrigens seit heute auch so eine DBOX, funzt prima! :respekt

    Mein VDR: easyVDR 0.6, Gehäuse LC02 von Silverstone mit eingebautem PSone TFT, 160 GB Samsung HD, 512 MB Ram, Nexus-S, DVD-Benner

  • Quote

    Original von techfreak
    Wenn das alles mal klappt, dann hätten wir einen Multi-Plattform-Client für Windows, X- und Mac! Und damit könnten sich dann auch Leute für ffnetdev interessieren, die keine DBOX haben...
    P.S.: Ich hab übrigens seit heute auch so eine DBOX, funzt prima! :respekt


    Hallo techfreak
    Das klingt sehr interessant.... vor allem Multi-Plattform. Sowas vermisse ich.
    Hab auch schon länger ne DBox und damit funktioniert das schon richtig gut.


    wünsche gutes Gelingen
    ...und Glückwunsch zur DBox, die Dinger fetzen einfach nur.


    Gruß
    Martini

  • Hallo,


    Bei mir hakelt es noch an der Ferndedienbarkeit, daß heißt es geht noch nicht. Ich habe die Zeilen mal an die Remote.conf angehängt, aber das klappt auch nicht.
    Wo wird denn bei gen2vdr ffnet aufgerufen, damit ich mal den Parameter "-e" kurzfristig setzen kann, um die Fb anzulernen?



    Gruß

    Alle sagen das geht nicht. Da kam einer, der wußte nicht das es nicht geht und hat es gemacht.


    Gen2VDR 2.0 auf Scenic S, Celeron 900MHZ, 128MB Ram, 400GB Samsung, TT 1.5 FF, Medion MD81035 Fernbedienung

  • Quote

    Original von Momo
    ...
    Wo wird denn bei gen2vdr ffnet aufgerufen, damit ich mal den Parameter "-e" kurzfristig setzen kann, um die Fb anzulernen?
    ...


    Wo man das bei gen2vdr eingibt, weiss ich leider nicht, aber ich denke, dass Du den Parameter nicht nur kurzfristig zum anleren brauchst, sondern später auch, wenn Du die Fernbedienung brauchen willst.

    Mein VDR: easyVDR 0.6, Gehäuse LC02 von Silverstone mit eingebautem PSone TFT, 160 GB Samsung HD, 512 MB Ram, Nexus-S, DVD-Benner

  • Soweit ich das verstanden habe kommt mit Parameter "-e" der Anlerndialog für die Dboxfernbedienung. Wenn das durchgelaufen ist ist doch gut oder?

    Alle sagen das geht nicht. Da kam einer, der wußte nicht das es nicht geht und hat es gemacht.


    Gen2VDR 2.0 auf Scenic S, Celeron 900MHZ, 128MB Ram, 400GB Samsung, TT 1.5 FF, Medion MD81035 Fernbedienung

  • Korrekt. e wird nur einmal zum Anlernen benoetigt.
    Wo es aber bei Gen2VDR angegeben werden kann weiss ich nicht, da ich mich damit nicht auskenne. Im Wesentlichen ist dazu zu sagen, dass der VDR mit einer Ellenlangen Kommandozeile gestartet wird, in der zum beispiel auch die zu ladenden Plugins und Ihre Parameter angegeben werden. Meist geschieht dies ueber eine Config-Datei, die die Kommandoizeile letztendlich enthält.


    Ich hoffe ich konnte etwas helfen

  • Ich dächte das hätte ich auch schon irgendwo gelesen, das die Plugins irgendwo hintendran stehen, run.vdr oder so.
    Dann begebe ich mich mal auf die Suche....Danke!

    Alle sagen das geht nicht. Da kam einer, der wußte nicht das es nicht geht und hat es gemacht.


    Gen2VDR 2.0 auf Scenic S, Celeron 900MHZ, 128MB Ram, 400GB Samsung, TT 1.5 FF, Medion MD81035 Fernbedienung

  • techfreak


    Hallöle techfreak,


    ich habe Deinen Patch vom 24. aus der Mailingliste vlc-devel gezogen und kompiliere gerade. Das Windows "Sleep()" musste ich durch das Linux "sleep()" ersetzen.


    Wie wärs, wenn Du einen neuen Thread eröffnest, in dem wir(und andere) testen können?


    Auf jeden Fall von mir ein dickes Danke.


    //edit
    Bin durch und habe die Konfiguration entsprechend gemacht. Ich öffne den Videostream, weiss aber nun nicht, wie ich das OSD im VLC einschalte.


    //noch ein edit
    Wenn ich die Fernbedienung am VDR benutze, wird das OSD im VLC eingeblendet. Gibts die Möglichkeit über den VLC Tasten zu schicken? 'ffnetdev -e' hab ich. Die FB meiner dBox funktioniert.


    Gruß, Jens.

    Pundit-S, 2GHz Celeron, 512 MB, Technotrend C2300 FF (DVB-C), Hauppauge Nova-T Stick/20 dB aktive Antenne mit VDR 1.7.10 vom vdr-team und dabei TheChiefs XBMC-Kompilat

    The post was edited 2 times, last by jensh ().

  • Hallo zusammen,


    ich habe Probleme mit dem ffnetdev-Plugin, wenn ich die Rechts- und Linkstasten zum Wechseln der Bouquets benutze. Wenn ich ein paar mal die Tasten drücke stürzt der gesamte VDR-Prozess ab. Im Log ist nichts zu erkennen. Es endet mit


    Mar 29 17:55:46 meinekiste vdr: [15867] [ffnetdev] VNC: Rect x/y/w/h 186/375/197/16


    ohne folgendes 'VNC: Send OSD Data' und der VDR-Prozess ist weg.


    Ich benutze das ffnetdev-Plugin aus dem SVN in Revision 33 und den vdrviewer in 0.1.5. Mit dem hats anscheinend nichts zu tun, da ich den Absturz auch mit dem RemoteOSD-Plugin für den VLC von techfreak und der VDR-FB hinbekomme.


    Über Hilfe freue ich mich sehr. Im Moment bleibt mir nur der Punkt Kanäle im Menü zum schnellen Programmwechsel.


    // edit
    Habe das ganze jetzt mal ohne andere Plugins und im Vordergrund getestet und da passierts auch. Hier der Backtrace(VDR 1.5.18 ):


    *** glibc detected *** ./vdr: double free or corruption (!prev): 0x08e0c648 ***
    ======= Backtrace: =========
    /lib/tls/i686/cmov/libc.so.6[0xb7ca17cd]
    /lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7ca4e30]
    /usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb7e62d11]
    /usr/lib/libstdc++.so.6(_ZdaPv+0x1d)[0xb7e62d6d]
    ./PLUGINS/lib/libvdr-ffnetdev.so.1.5.15(_ZN10cOSDWorker16CreateSendBufferEi+0x34)[0xb7a4d194]
    ./PLUGINS/lib/libvdr-ffnetdev.so.1.5.15(_ZN10cOSDWorker10SendScreenEiiii+0x23c)[0xb7a4d84c]
    ./PLUGINS/lib/libvdr-ffnetdev.so.1.5.15(_ZN7cNetOSD5FlushEv+0xc7)[0xb7a51dc7]
    ./vdr(_ZN26cSkinClassicDisplayChannel5FlushEv+0x128 )[0x8107ba8]
    ./vdr(_ZN15cDisplayChannel10ProcessKeyE5eKeys+0x2f1)[0x80ca381]
    ./vdr(main+0x18a6)[0x812a0d6]
    /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xdc)[0xb7c4febc]
    ./vdr(__gxx_personality_v0+0x1a5)[0x80956c1]


    Vielleicht kann ja wer was damit anfangen.


    Gruß, Jens.

    Pundit-S, 2GHz Celeron, 512 MB, Technotrend C2300 FF (DVB-C), Hauppauge Nova-T Stick/20 dB aktive Antenne mit VDR 1.7.10 vom vdr-team und dabei TheChiefs XBMC-Kompilat

    The post was edited 2 times, last by jensh ().


  • Hallo Jens


    Kompilierst Du also mit Linux? Ich habe bis jetzt nur mit Windows experimentiert.


    Ja, ich habe vor, hier eine Thread dazu aufzumachen. Ich weiss aber nicht, ob ich eine selbst-gepatchte und selbst-kompilierte Version vom VLC unter die Leute bringen darf. Die VLC 0.9, die ich gepatcht habe, ist ja noch gar nicht released. Was ich sicher tun darf, ist den Patch hier zu veröffentlichen für Selbstkompilierer.


    Die Konfiguration zu Starten des RemoteOSD-Pluginshast Du jetzt offenbar hinbekommen. Damit Du den VDR mit VLC bedienen kannst, musst du den Parameter "Key Events" im RemoteOSD aktiviert haben. Dann werden die Tastendrücke vom VLC auch an ffnetdef geschickt.


    Das Anlernen der "Fernbedienung" war bei mir allerdings etwas holprig, einerseits weil ffnetdev zum Teil nicht mehr richtig reagiert hat und andererseits weil VLC selber auch schon auf viele der Tasten reagiert.


    Hier die Zeilen aus meiner (noch zu verbessernden) remote.conf:


    Probier mal mit diesen. 0-9 und Cursor-Tasten sollten so mindestens funktionieren. Komma öffnet das Menu, Punkt ist OK und - ist zurück.


    Viel Erfolg und Spass!



    Gruss, techfreak

    Mein VDR: easyVDR 0.6, Gehäuse LC02 von Silverstone mit eingebautem PSone TFT, 160 GB Samsung HD, 512 MB Ram, Nexus-S, DVD-Benner

  • Hallo techfreak,


    danke für Deine Antwort. Leider hab ich keinen Erfolg. Hab meine 'ffnetdev.'s aus der remote.conf gelöscht und Deine probiert. Keine Reaktion. Danach hab ich sie wieder gelöscht und nochmal neu mit dem vncviewer mit dem selben Ergebnis angelernt.


    Die Fernbedienung vom VDR fördert das OSD zutage, aber auch dann nimmt der keine Tasten über den VLC an.


    Ich werde mal versuchen, Deinen Code zu lesen... Vielleicht klappts ja. :)


    Gruß, Jens.

    Pundit-S, 2GHz Celeron, 512 MB, Technotrend C2300 FF (DVB-C), Hauppauge Nova-T Stick/20 dB aktive Antenne mit VDR 1.7.10 vom vdr-team und dabei TheChiefs XBMC-Kompilat

  • Hallo Jens


    Hast Du im RemoteOSD Plugin den Parameter Key-Events aktiviert?


    Gruss, Matthias

    Mein VDR: easyVDR 0.6, Gehäuse LC02 von Silverstone mit eingebautem PSone TFT, 160 GB Samsung HD, 512 MB Ram, Nexus-S, DVD-Benner

  • Quote

    Original von techfreak
    Hallo Jens


    Hast Du im RemoteOSD Plugin den Parameter Key-Events aktiviert?


    Gruss, Matthias


    Hallo Matthias,


    ja, hab ich. Hab sogar alle drei Häkchen in der einfachen Einstellungsansicht gesetzt. Der Rest steht auf den Standardeinstellungen. Kennst Du irgendeine Möglichkeit aus dem VLC mehr Debugmeldungen raus zu holen?


    Im Moment hab ich leider wenig Zeit zum Testen(Liebste hat Urlaub und kommt normal später nach Hause als ich ;), aber ich werde auf jeden Fall weiter über meine Erfahrung berichten.


    Auf jeden Fall noch vielen, vielen Dank für den Filter, Jens.

    Pundit-S, 2GHz Celeron, 512 MB, Technotrend C2300 FF (DVB-C), Hauppauge Nova-T Stick/20 dB aktive Antenne mit VDR 1.7.10 vom vdr-team und dabei TheChiefs XBMC-Kompilat