[ANNOUNCE] ffnetdev plugin 0.0.3

  • Nano
    funtz wieder wunderbar. THX. :D


    Ich wollte nochmal fragen, ob sich schon mal jemand um nen windows Client bemüht hat?
    Ich hab die letzten Tage probiert dem Programm VNC-Overlay versucht beizubringen, anstatt
    einen XVID Stream entgegenzunehmen, den TS Stream vom ffnetdev Plugin zu akzeptieren aber,
    dass mit der ganzen Windows dircetshow usw. bekomm ich einfach nicht gebacken.
    Nun hab ich mir gedacht: "zum VNC-Overlay gibts ja eigentlich auch nen relativ Simplen Server",
    könnte man den nicht optional mit in das Plugin einbauen (erstmal nur so ne Idee)?

  • Hallo,


    habe gerade das Plugin installiert, geht ja auch ohne Probleme und wollte es Probieren, jedoch hab ich keine Ahnung wie ich's mit meiner DBox2 verbinden soll.
    Ich habe ja nur die Option Movieplayer, oder Datei mit VLC abspielen. Gibt'S denn dan noch nen anderen VLC Player??

    :alki:alki


    Mr.Pink


    ------------------------------------
    Gehäuse OrigenAE S14V mit Be Quiet Straight Power BQT E6-350W, Asus P5N7A-VM, CPU: Intel E7400; 2 x D2 1GB PC 800, 2 x Mystique CaBiX-C2 DVB-C Budget, Mystique View CI-Interface (f. 1 CAM) PCI und 3.5" Variante, Samsung 1Tbyte 5400 min^-1
    Ubuntu 8.10, VDR 1.7.0
    +
    2 Dboxen mit Neutrino

  • ... bei mir sind die letzten C Progrämmchen schon etwa 10 Jahre her, Unix scripting geht aber noch so halbwegs. Wenn du mein'st, ich könnte was tun, dann helfe ich gerne mit !!


    Um aber nochmal zu meiner ursprünglichen Frage zurückzukommen, ich interpretiere deine Antwort so, als ob es irgend ein VLC Plugin gibt (hab ich aber mit kurzem Googlen nicht gefunden, welches auf der DBox funzt, oder?

    :alki:alki


    Mr.Pink


    ------------------------------------
    Gehäuse OrigenAE S14V mit Be Quiet Straight Power BQT E6-350W, Asus P5N7A-VM, CPU: Intel E7400; 2 x D2 1GB PC 800, 2 x Mystique CaBiX-C2 DVB-C Budget, Mystique View CI-Interface (f. 1 CAM) PCI und 3.5" Variante, Samsung 1Tbyte 5400 min^-1
    Ubuntu 8.10, VDR 1.7.0
    +
    2 Dboxen mit Neutrino

  • Das hat nix mit VLC zu tun. Das ffnetdev-Plugin stellt sowohl einen TS-Stream für die Videodaten zur Verfügung als auch einen VNC-Stream für das OSD. Für Neutrino gibt es ein VNC-Plugin, das ich schon modifiziert habe um als OSD-Client zu arbeiten. Was aber noch nicht funktioniert ist der Videostrom.


    Im Moment kann man also lediglich das VDR-OSD auf die DBox bringen. Den ersten Release werde ich noch heute veröffentlichen. Siehe Link in meinem vorherigen Beitrag.



    Nano:


    Es gibt noch eine etwas unschöne Sache, die mir erst jetzt aufgefallen ist, da ich ja noch keine voll funktionsfähigen Client habe.
    Solange Live-TV läuft steht ja der TS quasi in Echtzeit am Port 20002 an. Wenn man jedoch eine Aufnahme abspielt, läuft diese viel zu schnell ab, solange kein Client verbunden ist.
    Mir scheint es so, als ob die Abspielgeschwindigkeit lediglich von der Datenrate abhängt, die der Client abruft bzw. was das ffnetdev-Plugin in Echtzeit in einen TS umwandeln kann. Ist eigentlich auch logisch, da der VDR bzw. das Plugin ja nicht wissen kann, wie hoch die Datenrate sein müsste. Das ist kein Problem, solange ein Client verbunden ist. Ich stelle mir aber so ein Szenario vor:


    - DBox läuft mit Live-TV
    - User startet das VDRViewer-Plugin
    - User startet die Wiedergabe einer Aufnahme
    - User beendet kurt das Plugin, um in Neutrino irgendwas zu machen
    - User startet den VDRViewer wieder um weiterzuschauen


    In diesem Fall wäre die Aufnahme inzwischen schon längst abgelaufen, falls er nicht auf Pause gedrückt hätte.


    Siehst Du das Problem? Kannst Du Dir irgendeine Lösung dafür vorstellen? Man müsste die Datenrate künstlich reduzieren. Aber wie? Und was wäre ein vernünftiger Wert, ohne daß die Datenrate irgendwann mal zu niedrig wird?


    Ciao,


    pacemaker

  • Bin vom Urlaub zurück und würde nun auch gerne mittesten.


    Gratulation zu dem aktuellen Fortschritt und den Gedankenansatz, auch noch das eventuell vorhandene FF Device zu behandeln solange kein DBOX2 Client verbunden ist ...


    Sehe ich momentan auch als idealen Zwischenschritt ...


    Ich würde es nun auch gerne schaffen das VDR-Plugin in meiner CT-Variante einzubauen .... kann mich jemand anleiten? Das kompilieren hat bei mir nicht geklappt, da die stable variante wohl noch auf einer VDR-Devel-Version 1.3.15 aufsetzt und diese noch ein anderes Interface hat, als das was mit der 1.3.27 benötigt wird.


    Mein Ziel und Grund der Frage:
    CT-VDR-Version 3.06, da diese die Möglichkeit bietet auf die VDRDevel-Variante temporär per OSD zu wechseln .... (und zurück!)


    So müsste es doch möglich sein wahlweise zwischen Server-Betrieb mit primärem FF Device und Developer-Version mit ffnetdev Variante zu wechseln. Per DBOX2 kann dann wieder zurück geschaltet werden ! Wäre erstmal genial bis auf weiteres ...!


    Wie muss ich denn meine sources List in CT-VDR 3.06 ändern, um den Normal VDR auf stable zu belassen und VDRDevel auf die aktuellste,- notwendige Variante (vermutlich testing) zu wechseln?
    (Edit: Habe gerade herausgefunden, dass die aktuellst verfügbare Variante bei CT wohl nur die 1.3.15 ist !? Daher müsste ich mit der Devel auf ein anderes Repository ausweichen??)


    Ist dieser Mischbetrieb überhaupt möglich oder birgt er Probleme?


    Bin derzeit mit der apt-sources list auf ct...sarge/stable und ct...sarge/vdrdevel.


    Wenn ich das geschafft habe würde ich auch gerne eine detailierte Anleitung in das Wiki stellen.


    Oder sollte ich dazu vielleicht auf E-Tobi Repositories umstellen? Was muss ich bei der Umstellung beachten, - wie muss ich vorgehen? Weiss mir jemand einen Thread dazu?


    Besten Dank, wenn mir jemand die Fragen beantworten kann.

  • So, habe es jetzt folgendermassen geschafft zu compilieren ...


    Habe mein Repository 2 geteilt umgestellt.
    Stable habe ich auf CT-Server belassen
    und Devel habe ich auf e-tobi sarge experimental umgestellt.
    Dann habe ich ein apt-get update gemacht,
    vdr devel deinstalliert und neu installiert.
    Danach habe ich mir wieder alle Sourcen geholt und neu compiliert.
    Jetzt habe ich das neue Plugin (Objekt-File) erstellt bekommen.


    Wie geht es jetzt nochmal weiter ?


    Habe ./vdr -P ffnetdev aufgerufen und versucht mit einem linuxrechner via xvncviewer versucht zu connecten .... hat dann aber nicht funktioniert ....
    VNC viewer version 3.3.7 - built Oct 28 2004 23:56:22
    Copyright (C) 2002-2003 RealVNC Ltd.
    Copyright (C) 1994-2000 AT&T Laboratories Cambridge.
    See http://www.realvnc.com for information on VNC.
    xvncviewer: ConnectToTcpAddr: connect: Connection refused
    Unable to connect to VNC server


    Was mache ich falsch ?


    Will endlich auch das DBOX2-Plugin testen können!

  • Hi JuNuVDR,


    schön wieder was von Dir zu hören.


    Du musst den vncviewer als Port die 20001 mitgeben, da vnc normalerweise auf Port 5900 hört. Wie das bei Deiner Version von RealVNC geht kann ich Dir nicht sagen.


    Ob es mit RealVNC überhaupt geht bin ich mir auch nicht so sicher.
    Hol Dir lieber mal TightVNC. Da kann man auf jeden Fall den Port angeben und bei mir funktioniert das auch.


    Alternativ könntest Du natürlich ffnetdev auch auf den Port 5900 einstellen. Es gibt dazu den Parameter '--osdport'.


    Achtung! Um Parameter an ein VDR-Plugin zu übergeben, muß man Anführungszeichen verwenden. In Deinem Beispiel also:


    ./vdr -P "ffnetdev --osdport 5900"


    Gesteuert wird der VDR dann mit der Tastatur in der Konsole, von der er gestartet wurde. Falls also kein Bild kommen sollte, einfach mal die m-Taste drücken.



    Für das DBox-Plugin müsstest Du aber auch noch die Option '-e' angeben, da Du sonst den VDR nur über die Tastatur bedienen kannst.



    Hoffe das hat geholfen.


    Ciao,


    pacemaker

  • Nano


    im Moment scheint sich bereits die zitierte Vermutung bestätigt zu haben ....



    Hiere nun noch mein Gedanke dazu,... gepostet im Thread:
    http://www.vdr-portal.de/board/thread.php?threadid=35689&page=5&sid=

    Zitat


    Zu Deinem Problem mit den Aufnahmen .... ich nehme an, da müssen irgenwelche timing-informationen aus dem Stream ausgelesen und beachtet werden,- auch damit die Aufnahme nicht überspult wird, wenn kein "bremsender" Client, der seinerseits die Timings beachtet, hinten dranhängt.


    denke spätestens wenn mehrere Clients dran hängen sollen, muss irgendwo das Tempo vorgegeben werden und die Clients schauen sozusagen Live auf den Stream, der aus den Recordings produziert wird. Sprich,- der Client der das Timing vorgibt sollte auf dem Server implementiert sein, damit auch mal KEIN entfernter Client vorhanden sein kann (wichtig bei Aufnahmen!).


    Timing-Handling sollte man ggf. etwas aus dem streamdev plugin abgucken können.


    Was meinst du dazu?

  • Nano
    Hallo nano,
    im DBOX2-Thread ist jetzt die neueste Version des DBOX-Plugin samt Quellcode verfügbar .... kannst ja auch mal einen Blick drauf werfen ?!
    Hast du eine DBOX2 ?


    Was hälst du von meiner Idee, was man/ich ggf. noch an Deinem Plugin ändern könnte? Ist das Denkbar/Machbar/Möglich?


    Zitat

    * Später evt. noch eine Proxy-Implementierung für das ffnetdev, um mehrere Clients bedienen zu können! Ggf. eine, die intern alles zusätzlich auf die Hardware-Device des VDR KOPIEREN könnte. (per Konfiguration)


    * ffnetdev dazu bringen, Aufnahmen anzuhalten, wenn kein Client mehr verbunden ist.

  • Ist vielleicht nur bei mir der Fall, aber die Shutdown (naja Cleanup vor dem Beenden) Methode von "ffnetdev" scheint nicht ganz sauber zu sein. Dies äußert sich dadurch, das vdr nicht bis zum Ende ("return ExitCode") durchläuft.

    (( Kein VDR im Augenblick ))
    Desktop: OS X 10.4 - PowerBook G4
    Misc. HW: XBox 1.0 w/ XBMC & Sanyo Z3S & Onkyo TX-SR503E

  • Maniac


    Hallochen Maniac,
    leider bin ich noch nicht soweit wie du mit meinen Tests.


    Ich versuche gerade die DBOX2 mit dem Plugin zu verbinden.
    OSD funktioniert auch schon .... allerdings kommt bei mir überhaupt kein TS zur Anzeige (habe noch nicht tiefer geforscht,- warum nicht!).


    Aufgrund Deiner Wortwahl schliesse ich, dass es bei Dir Schwierigkeiten gab, bis du den TS bekommen hast? Was muss ich beachten? Oder interpretiere ich falsch und alles klappte auf Anhieb?



    Bei mir meldet das Plugin dass er teile des Ringbuffers wegwerfen muss, weil sie nicht abgeholt wurden ... scheint mir auch klar, da das Plugin nicht wie erwartet meldet, dass ein Abnehmer eingehängt/connected wurde.


    Wie schon gesagt, diesem Hinweis (kein gemeldetes TS-Connect) muss ich noch auf den Grund gehen.


    Ausserdem ....
    Versuche derzeit das ffnetdev so umzubauen, dass es ein weiteres Device (zusätzlich) versorgen kann (wahlweise per OSD-Plugin-Setup einstellbar). Um quasi das OSD und den TS auch noch zusätzlich auf dem VDR selbst zu sehen. Quasi eine Kopie von der Anzeige auf dem Netdevice (der DBOX2). Es scheitert momentan noch daran, dass PlayAudio() und PlayVideo() in cDevice protected ist! Nehme an, das erfordert einen VDR-Patch ?
    Generell:
    Macht sowas Sinn, - oder befinde ich mich hier bereits vom Konzept des VDR her auf dem Holzweg?
    Weiss nicht, wie der VDR vom konzept her mehrere Abnehmer gleichzeitig bedienen will ...

  • Hab insofern Probleme mit dem TS, das er anscheinend fehlerhaft ist, weil nur Artefakte auftreten und man kaum was vom normalen Bild erkennen kann. Außerdem kommt es mit Netcat so vor als ob er nur beim ersten Connect den Stream bekommt. Wenn ich später nochmal netcat aufrufe bleibt die Datei 0 Byte groß, restarte ich den VDR kommen wieder Daten an.


    Ich hatte vorher probiert ihn mit VLC und dem Mplayer auf einem PC abzuspielen, also nicht mit der DBox.

  • Maniac:


    Stimmt. Das Problem, daß man nur beim ersten Connect mit netcat Daten bekommt, habe ich auch (zumindest manchmal). Habe es Nano schon mitgeteilt.


    Probier mal das Plugin mit VDR 1.3.28 zu berteiben. Bei mir sind jetzt keine Artefakte mehr zu sehen. Allerdings war es bei mir auch vorher nicht so schlimm wir bei Dir.


    Probier mal mplayer zum abspielen. Der kommt mit dem TS gur zurecht.


    Gruß,


    pacemaker

  • Hab gestern nochmal ein bischen getestet.
    Wenn ich den TS den ich per netcat aufgenommen hab durch ProjectX gebe und als Ausgabe wieder TS nehem kommt ein File raus das etwas kleiner ist und perfekt abzuspielen geht, ich denke also das im TS Code von ffnetdev irgendwo zusätzliche falsche Daten reinkommen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!