streamdev: mehr als ein Stream?

  • Kann streamdev nur einen Stream übertragen? Wenn ja, liegt es am server, client oder beiden?


    Ich verwende VDR 1.6.0 auf dem Server, 1.7.8 auf dem Client und jeweils streamdev aus CVS.


    Hier wurde das Thema schon mal angesprochen:
    http://vdrportal.de/board/thread.php?threadid=88884


    Dort wurde dann empfohlen man soll die Aufnahme auf dem Server machen. Also klar, wenn auf dem Server eine Aufnahme läuft, dann stehen alle Programme dieses Transponders noch fürs Streaming zur Verfügung. Das ist ja dann auch nur ein Stream.


    Aber wenn man eben eine Aufnahme _auf dem Client_ laufen hat, die über Streaming kommt - dann scheint es nicht möglich zu sein, gleichzeitig auch noch den aufgenommenen Kanal oder die anderen Transponder-Kanäle per Live-TV zu schauen (sicherlich auch nicht aufzunehmen, auf dem Client!)


    Kurz gesagt eben: offenbar geht nur ein Stream gleichzeitig. Klappt das bei jemandem?


    Ich habe auch lokal (auf dem Client) ein DVB-device. Aber wenn man damit einen Kanal von einem anderen Transponder schaut, so meint der VDR offenbar er tut einem was gutes, wenn er für eine Aufnahme nicht mehr umschaltet, sondern stattdessen das remote device verwendet. Kann man das Verhalten ändern? Ich würde lieber die Aufnahme mit dem lokalen device machen und ggf. per Streaming Live-TV schauen. Die Aufnahme ist im Zweifel schliesslich das wichtigere..

  • Zitat

    Aber wenn man eben eine Aufnahme _auf dem Client_ laufen hat, die über Streaming kommt - dann scheint es nicht möglich zu sein, gleichzeitig auch noch den aufgenommenen Kanal oder die anderen Transponder-Kanäle per Live-TV zu schauen (sicherlich auch nicht aufzunehmen, auf dem Client!)


    Muss ich mir mal anschauen. Ich habe da den Workaround für das Streamen verschlüsselter Kanäle im Verdacht. Wenn Du testen willst: in streamdevs client/device.c ist in Zeile 126 ein Block mit "#if 0" deaktiviert. Diesen z.B. mit "#if 1" reaktivieren.


    Zitat

    Ich habe auch lokal (auf dem Client) ein DVB-device. Aber wenn man damit einen Kanal von einem anderen Transponder schaut, so meint der VDR offenbar er tut einem was gutes, wenn er für eine Aufnahme nicht mehr umschaltet, sondern stattdessen das remote device verwendet. Kann man das Verhalten ändern? Ich würde lieber die Aufnahme mit dem lokalen device machen und ggf. per Streaming Live-TV schauen. Die Aufnahme ist im Zweifel schliesslich das wichtigere..


    Ja, VDR schaltet den Live-Kanal nicht weg solange es noch eine Alternative gibt - damit landen Aufnahmen normalerweise bei streamdev. Im streamdev-client Setup kannst Du aber die Prioritäten einschränken, bei denen sich streamdev zuständig fühlt. Wenn Du z.B. einstellst, dass Streamdev nur bis Priorität 1 reagiert, zwingst Du Timer mit einer höheren Priorität auf die lokale Karte.

  • Hallo liebe Foren Leser,


    ich meld mich jetzt auch nochmal! Also ich betreibe einen Acer Revo als reinen streaming client. Keine eigene DVB karte, kommt alles vom server. Klappt soweit prima, ABER: wie berichtet, sobald ich am client eine Aufnahme starte (ich will auf dem client aufnehmen, nicht aufm server, der hat kaum platten) kann ich den selben kanal nicht weiterschauen. Normalerweise erscheint ja auch im "Hauptmenü" des VDR's sowas wie "Aufzeichnung beenden"... kommt aber auch nicht.
    Was ich rausgefunden habe ist dass es mit version 0.3.4 noch problemlos funktioniert, mit allen aktuellen nicht mehr.
    das mit dem Workaround für das Streamen verschlüsselter Kanäle will ich bei nächster gelegenheit mal ausprobieren.



    Kann sonst noch jemand dieses verhalten bestätigen?
    (ach ja, ausgabe über xineliboutput, ob das wirklich was damit zu tun hat bezweifle ich, habs auch auf einem anderen rechner mit ner alten FF probiert, selbes verhalten, bis 0.3.4 ok, ab da kein schauen mehr wärend aufnahme.)

  • Zitat

    Was ich rausgefunden habe ist dass es mit version 0.3.4 noch problemlos funktioniert, mit allen aktuellen nicht mehr.


    Ja, in 0.3.4 und auch im CVS für 0.4.0 (VDR 1.4.x) ist der fragliche Code-Block nicht auskommentiert. Das ist nur in CVS 0.5.0 der Fall.

  • also ich bin jetzt smirls hinweis gefolgt und natürlich hatte er mit seiner vermutung recht. es liegt an besagter zeile 126 in clinet/device.c. jetzt kann ich aufnehmen und denselben kanal schauen. auch im osd wird die laufende aufnahme korrekt angezeigt. eigentlich super, nur bleibt die fage was der Workaround für das Streamen verschlüsselter Kanäle eigentlich tut, bzw was ich da jetzt aktiviert habe? oder habe ich was deaktiviert?

  • Jo, das war mal ein ergiebiger Thread, Danke für alle Antworten!


    Die Idee mit den zwei Clients aus dem Wiki ist interessant - aber Dank dem "Patch" unnötig. Denn damit klappt es auch bei mir: Aufnahme und Live-TV auf dem gleichen Transponder (der Server hat nur ein device) über Streaming gleichzeitig funktioniert.


    Auch die Prioritäts-Einschränkung tuts: wenn ich zB als Max-Prio 30 setze, werden die üblichen Timer mit Prio 50 nicht per streamdev aufgezeichnet.


    Im Prinzip damit alles in Butter. Kleines Problem noch: meine Airstar2 verliert regelmaessig das Signal (bzw. vermutlich eher der Treiber die Karte oder so). Bei einem Server-Timer wird in so einem Fall ca 30s nach Start der VDR beendet und die vdrrun-loop lädt die Treiber neu und es läuft weiter. Ja, eigentlich sollte ich mich mal um neue Treiber seit 2005 umschauen, aber fürs Server-Aufnehmen klappt das so eigentlich wunderbar. Nur wenn ich etwas streamen will, bringt das den Server-VDR in so einem Fall nicht zum Restart, ich bekomme einfach keine Daten. Irgendeine Chance, dass man über eine streamdev-Kanal-Anforderung ebenfalls den Restart des Servers auslöst, wenn der Tuner nix liefert (video data stream broken)? Sonst bleibt mir nur über remotetimers kurz einen Server-Timer anzulegen und nach 2min wieder zu löschen..

  • Anbei zwei Patch-Vorschläge, die einen Kompromiss darstellen. Wer nur frei empfangbare Kanäle schaut, sollte mit beiden Patches glücklich werden. Interessant wäre, welcher Patch funktioniert, wenn auch verschlüsselte Kanäle empfangen werden sollen. Der Patch ca_equal.diff wäre mein Wunschkandidat. Was mit beiden Patchen nicht mehr klappt: die verschlüsselten Kanäle auf frei empfangbar stellen und die automatischen Kanal-Updates deaktivieren. Zum Empfang verschlüsselter Kanäle muss der Kanal fest auf Streamdev gebunden werden (oder natürlich VDR gepatcht werden).


    Zitat

    Irgendeine Chance, dass man über eine streamdev-Kanal-Anforderung ebenfalls den Restart des Servers auslöst, wenn der Tuner nix liefert (video data stream broken)?


    Du könntest über das remoteosd-Plugin auf das Server-OSD zugreifen und dort den Neustart im Menü "Einstellungen" auslösen. Mit entsprechendem keymakro geht das mit dem Druck einer Taste auf der Fernbedienung.

  • Da ich keine verschlüsselten Kanäle empfange (am Server ohnehin nur DVB-T) kann ich hier zum Testen leider nichts beisteuern.


    Den Restart direkt auszulösen ist natürlich keine schlechte Idee. Da ich im Moment mit remotetimers auskomme (kein remoteosd), werde ich es wohl über ein command Client-Skript mit svdrp-Befehlen machen (per HITK kann man ja auch "blind" fernsteuern und ein remote command aufrufen).


    Danke,
    hivdr

  • ich empfange leider auch keine verschlüsselten kanäle, also kann ich auch nicht richtig testen, sorry. will aber versuchen ob der rest mit den patches geht und werde dann berichten

  • Hi,



    ich habe das mal mit den verschlüsselten Kanälen und mit dem Patch "ca_equal.diff " getestet.


    Aktuelle Version Streamdev ausgescheckt - Patch drauf -> funzt!!


    Einfach super, läuft ohne Fehler.


    Danke für den Patch.


    Grüße
    cinfo

    (VDR) NUC11PAH & GEEKOM MINI-IT11-11. Generation * BM2LTS * DD NET S2 Max * NC * (Sound) Cinebar Lux Set * (Stream) Apple TV 4K (2022) *

    (Light) PHILIPS Hue Play HDMI Sync Box & Gradient Lightstrip * (OLED TV) LG OLED65G29LA

  • Zitat

    ich habe das mal mit den verschlüsselten Kanälen und mit dem Patch "ca_equal.diff " getestet.


    Prima - danke! Kannst Du noch kurz beschreiben, welche Varianten Du testen konntest? Relevant sind nur Umschaltvorgänge innerhalb des selben Transponders.

    • FTA->verschlüsselt
    • verschlüsselt->FTA
    • verschlüsselt->verschlüsselt (selbes Verfahren)
    • verschlüsselt->verschlüsselt (unterschiedliche Verfahren)
  • schmirl


    Hallo, Nachdem ich lange nicht wusste nach was ich suchen muss bin ich auf diesen und zwei andere Threads gestossen die dieses Thema behandeln.


    Streaming Umschaltproblem verschlüsselt/unverschlüsselte Kanäle (akt. e-tobi exp. VDR 1.6) [gelöst]
    streamdev cvs verschlüsselte Kanäle


    Folgende Situation:
    yaVDR auf Server und client mit Streamdev, im Server stecken zwei DVB-C Karten, alle Kanäle verschlüsselt. Das aktuelle streamdev von yaVDR
    vdr-plugin-streamdev_0.5.0~pre20090706+cvs20100202.1555-1tyavdr2
    hat den ca_equal patch enthalten.


    Damit ist es mir (meist) nicht möglich Kanäle auf dem selben Transponder umzuschalten. Die CAID ist "normal" 1801, ich habe die dann auch für alle Kanäle auf "0" gesetzt gehabt.


    Nachdem ich den ca_fta patch eingespielt habe hat das Problem immer noch bestanden.


    Nun habe ich alle drei Instanzen "&& TRANSPONDER(Channel, m_Channel)" mit dem ca_fta patch versehen, die CAID wieder auf "1801" gesetzt und das umschalten funktioniert jetzt tadellos.
    Einzig ein kleiner Fehler taucht im syslog noch auf, der war aber auch schon vorher da.



    Da dass für mich alles nur copy & paste / trial & error ist, wäre da noch die Frage ob ich noch den equal_diff patch (an allen drei Instanzen) testen sollte. Wenn das für Dich etwas bringt dann mach ich das natürlich. ;)


    Gruss
    Sk8ter


    P.S.: Die modifizierte device.c liegt im Anhang

    Dateien

    Backend (zurzeit nicht mehr in Betrieb): yaVDR diskless - Asus M4N78 PRO - Nvidia GeForce 8300 onboard - AMD Athlon II X2 240 - Ram 4GB - 2x Terratec Cinergy C PCI HD

    yaVDR 0.4 Zotac MAG HD-ND01 ATOM 330 ION Mini PC - TT S2-3600 - LG 32LH3000

    ***************************************************************************

    "Es gibt Tage an denen verliert man, und es gibt Tage an denen gewinnen die anderen."

  • Zitat

    Nun habe ich alle drei Instanzen "&& TRANSPONDER(Channel, m_Channel)" mit dem ca_fta patch versehen, die CAID wieder auf "1801" gesetzt und das umschalten funktioniert jetzt tadellos.


    Danke für das Feedback! Den ca_equal.diff können wir denke ich begraben. Allerdings bin ich noch nicht ganz überzeugt, dass wirklich alle drei Stellen gepatcht werden müssen. Vielleicht langt es auch an zwei Stellen. Ich würde erwarten, dass der Patch in der Methode ProvidesChannel überflüssig ist und in bestimmten Fällen nur das Umschalten unnötig verlängert. Wäre prima, wenn Du das noch ausprobieren könntest.

  • Klar, mach ich gerne. Da ich was kompilieren angeht eine ziemliche Nuss bin :lol2 gleich noch eine Frage.


    Kann ich eigentlich nur die device.c anpassen und dann wieder


    Code
    dpkg-buildpackage -rfakeroot -sa


    laufen lassen, oder muss ich da erst noch vom letzten Durchlauf etwas aufräumen? Bis jetzt habe ich immer alles gelöscht und habe wieder von vorne angefangen, um sicher zu gehen. ;)


    BTW, kannst du noch etwas zu dem Fehler "ERROR (device.c,1881): Bad file descriptor" sagen, oder soll ich den einfach ignorieren?


    Gruss
    Sk8ter

    Backend (zurzeit nicht mehr in Betrieb): yaVDR diskless - Asus M4N78 PRO - Nvidia GeForce 8300 onboard - AMD Athlon II X2 240 - Ram 4GB - 2x Terratec Cinergy C PCI HD

    yaVDR 0.4 Zotac MAG HD-ND01 ATOM 330 ION Mini PC - TT S2-3600 - LG 32LH3000

    ***************************************************************************

    "Es gibt Tage an denen verliert man, und es gibt Tage an denen gewinnen die anderen."

    Einmal editiert, zuletzt von sk8ter ()

  • : gelöscht und unten eingefügt damit der chronologischce Ablauf wieder stimmt. ;)

    Backend (zurzeit nicht mehr in Betrieb): yaVDR diskless - Asus M4N78 PRO - Nvidia GeForce 8300 onboard - AMD Athlon II X2 240 - Ram 4GB - 2x Terratec Cinergy C PCI HD

    yaVDR 0.4 Zotac MAG HD-ND01 ATOM 330 ION Mini PC - TT S2-3600 - LG 32LH3000

    ***************************************************************************

    "Es gibt Tage an denen verliert man, und es gibt Tage an denen gewinnen die anderen."

    2 Mal editiert, zuletzt von sk8ter ()

  • Zitat

    BTW, kannst du noch etwas zu dem Fehler "ERROR (device.c,1881): Bad file descriptor" sagen, oder soll ich den einfach ignorieren?


    Die Meldung ist "normal" und kannst Du ignorieren. Der Lese-Thread versucht noch von der Netzwerkverbindung zu lesen obwohl der Filedeskriptor schon anderweitig geschlossen wurde. Ist unschön und lässt sich sicherlich irgendwie beheben, allerdings fehlt mir dazu leider im Moment die Zeit.

  • hotzenplotz5
    Das kommt davon wenn man nicht weiss was man tut. Hab mir das mal irgendwo abgeschrieben gehabt. ;)
    Das heisst dass dann das -rfakeroot auch überflüssig, weil default , ist und es dann nur noch

    Code
    dpkg-buildpackage -tc


    lautet?


    schmirl
    Yep es hat funktioniert. Musste noch schnell schauen wie man so einen diff macht. ;) Änderungen siehe Anhang, funktioniert mit CAID 1801 in der channels.conf.


    Zitat


    Ist unschön und lässt sich sicherlich irgendwie beheben, allerdings fehlt mir dazu leider im Moment die Zeit.


    Ist ja auch gar nicht nötig wenn man weiss dass es "normal" ist. ;)


    Auf jeden Fall danke vielmal für die Hilfe.


    BTW.: Jetzt wo das umschalten so spitzenmässig funktioniert. Gibt es eine Möglichkeit dass beim schnellen zappen, nicht zu jedem Kanal geschaltet wird. Das heisst wenn ich 10 mal hintereinander schnell "Channel up" drücke dass das quasi zusammengezählt wird und nur ein Kanalwechsel stattfinden würde?


    Sk8ter

    Dateien

    Backend (zurzeit nicht mehr in Betrieb): yaVDR diskless - Asus M4N78 PRO - Nvidia GeForce 8300 onboard - AMD Athlon II X2 240 - Ram 4GB - 2x Terratec Cinergy C PCI HD

    yaVDR 0.4 Zotac MAG HD-ND01 ATOM 330 ION Mini PC - TT S2-3600 - LG 32LH3000

    ***************************************************************************

    "Es gibt Tage an denen verliert man, und es gibt Tage an denen gewinnen die anderen."

    Einmal editiert, zuletzt von sk8ter ()

  • Zitat

    Yep es hat funktioniert. Musste noch schnell schauen wie man so einen diff macht. ;) Änderungen siehe Anhang, funktioniert mit CAID 1801 in der channels.conf.


    Prima. Ist schon im CVS. Vielen Dank!

    Zitat

    BTW.: Jetzt wo das umschalten so spitzenmässig funktioniert. Gibt es eine Möglichkeit dass beim schnellen zappen, nicht zu jedem Kanal geschaltet wird. Das heisst wenn ich 10 mal hintereinander schnell "Channel up" drücke dass das quasi zusammengezählt wird und nur ein Kanalwechsel stattfinden würde?


    Da kann streamdev leider nichts machen. Das wird so vom VDR gesteuert.

Jetzt mitmachen!

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