Streamdev-Client und eigene Karte bevorzugen?

  • Hallo!


    Habe ein Problemchen ..


    Meine Konstellation könnt ihr unten sehen.


    Falls mein Wohnzimmer-Client etwas aufnehmen soll, nutzt er wohl primär das streamdev-device. Das ist soweit ja auch ganz gut ... kann man doch normal weiterschauen, trotz Aufnahme.


    Wenn aber nun der Server selber aufnimmt, kann er selbst nicht mehr umschalten, klar ...
    Soll der Client nun auch aufnehmen, dann bemüht er immer wieder das streamdev-device ... dieses kann aber den geforderten Kanal nicht liefern ... der Client schmiert ab und startet VDR neu.


    Dies resultiert in einer Endlosschleife, aus dem ich den Client nur noch rausbekomme, indem ich ihn manuel stoppe und den Timer aus der timers.conf rausnehme :(


    Frage:
    Warum bekommt der Client nicht mit, daß der streamdev-server ihn nicht beliefern kann und nutzt seine eigene Sat-Karte, schaltet um und nimmt auf?


    Der Client kommt einfach nicht auf die Idee, mal umzuschalten ... !?


    Hat jemand dieses Problem auch? Bzw. könnte sich jemand vorstellen, wie ich das verhindern kann?


    Und wie kann ich dem VDR sagen, daß er, wenn er zu einer Aufnahme hochfährt, auf den aufzunehmenden Kanal schalten soll?


    LG
    Roman

    Wohnzimmer (Client 1): C't Vdr (Sarge), 2.6.15-sl, 1.4.0-2, TT-1.5 FF, Hermes 651, 40 GB, 2Ghz Celeron, 512MB, PSOne TFT
    Server: C't VDR (Sid), 2.6.15-1-k7, 1.4.1-1, TT-1.6 FF, XP-2000+, 500GB, 512MB
    Schlafzimmer (Client 2): MediaMVP
    MediaMVP, Bose S 100, 400er Oldischlepptopp für den Garten

    Einmal editiert, zuletzt von Uatschitchun ()

  • ich würd mal versuchen mit dem "PrimaryDVB = 1" in der setup.conf rumzuspielen.
    das solltest du eigentlich auf deine hardware tv-karte stellen.


    nur ist halt die frage, ob er dann nicht trozdem abschmiert, da er versucht das livetv dann auf den streamdev zu setzen, aber im normalfall solltest du dann den transponder der gerade aufgenommen wird weiterschauen können.



    mfg z421 :)


    ps: ich weiß aber nicht ob der wert der primarydvb mit 1 stimmt, ich hab das grad aus meiner setup.conf vom client. so wirklich viel ahnung habe von dem thema auch noch nicht, mein server ist gerade im aufbau. (aber da hätte ich mal angesetzt zu versuchen).

  • Ok ...


    Regelt "PrimaryDVB" nicht nur das Ausgabedevice? Jedenfalls sehen die Einstellungen bei mir folgendermaßen aus:

    Code
    PrimaryDVB = 1
    PrimaryLimit = 0


    Und die Streamdev-Einstellungen auf dem Client:

    Code
    streamdev-client.RemoteIp = 192.168.5.2
    streamdev-client.RemotePort = 2004
    streamdev-client.StartClient = 1
    streamdev-client.StreamFilters = 0
    streamdev-client.SyncEPG = 0


    Hieraus entnehme ich leider noch nicht, was den Client dazu bewegt, im geschilderten Fall zu vergessen, daß er noch ne eigene Karte zum Aufnehmen hat ... !?


    Lg
    Roman

    Wohnzimmer (Client 1): C't Vdr (Sarge), 2.6.15-sl, 1.4.0-2, TT-1.5 FF, Hermes 651, 40 GB, 2Ghz Celeron, 512MB, PSOne TFT
    Server: C't VDR (Sid), 2.6.15-1-k7, 1.4.1-1, TT-1.6 FF, XP-2000+, 500GB, 512MB
    Schlafzimmer (Client 2): MediaMVP
    MediaMVP, Bose S 100, 400er Oldischlepptopp für den Garten

  • Wie Du richtig vermutest hat es mit PrimaryDVB nichts zu tun. PrimaryLimit = 0 ist gut.


    Mangels DVB-Karten in meinen Clients kann ich es nicht nachstellen. Habe mir aber gerade den streamdev-Code angesehen und mir schwant hier übles. So wie es für mich aussieht, fragt streamdev mit der Priorität Deiner Aufnahme (vermutlich 50) beim Server nach ob da was zu machen wäre (VTP-Befehl PROV) und der Server scheint damit einverstandend zu sein. Wenn es dann aber um's tatsächliche Umschalten geht (VTP-Befehl TUNE) wird immer die Priorität 1 verwendet :schiel. Das ist dem Server nun aber möglicherweise zu wenig, so dass der Kanal nicht umgeschaltet wird. Ist jetzt alles nur Theorie aus dem was ich auf die Schnelle aus dem Code gesehen habe. Hab leider im Moment Null Zeit um mal daheim am lebenden Objekt zu experimentieren. Um dies weiter einzugrenzen:


    - Nach Möglichkeit mal zumindest für den Client streamdev mit Debug-Option kompilieren (make clean; DEBUG=1 make all). Welche Debug-Ausgaben kommen dann über stderr? Was steht in den Logs von Client und Server?
    - Programmier mal am Client eine Aufnahme mit Priorität 0. Was passiert dann?

  • Zitat

    Original von z421
    so wirklich viel ahnung habe von dem thema auch noch nicht, mein server ist gerade im aufbau. (aber da hätte ich mal angesetzt zu versuchen).


    naja, wie gesagt ;)

  • Zitat

    Original von schmirl
    mir schwant hier übles.


    Das erlebe ich jedesmal, wenn Server und Client unabhängig voneinander aufnehmen sollen :)


    Zitat

    Um dies weiter einzugrenzen:


    - Nach Möglichkeit mal zumindest für den Client streamdev mit Debug-Option kompilieren (make clean; DEBUG=1 make all). Welche Debug-Ausgaben kommen dann über stderr? Was steht in den Logs von Client und Server?
    - Programmier mal am Client eine Aufnahme mit Priorität 0. Was passiert dann?


    Werde testen und berichten ...


    Als kleinen Hinweis nochmal kurz:
    Der Server soll nicht umschalten ... er soll selber aufnehmen.
    Der Client soll bemerken, daß der Server ihn nicht versorgen kann und seine eigene Karte verwenden!


    Warum kommt der Client nicht mal auf die Idee, seine eigene DVB zu nutzen?


    Lg
    Roman

    Wohnzimmer (Client 1): C't Vdr (Sarge), 2.6.15-sl, 1.4.0-2, TT-1.5 FF, Hermes 651, 40 GB, 2Ghz Celeron, 512MB, PSOne TFT
    Server: C't VDR (Sid), 2.6.15-1-k7, 1.4.1-1, TT-1.6 FF, XP-2000+, 500GB, 512MB
    Schlafzimmer (Client 2): MediaMVP
    MediaMVP, Bose S 100, 400er Oldischlepptopp für den Garten

  • Zitat

    Der Server soll nicht umschalten ... er soll selber aufnehmen.
    Der Client soll bemerken, daß der Server ihn nicht versorgen kann und seine eigene Karte verwenden!


    Warum kommt der Client nicht mal auf die Idee, seine eigene DVB zu nutzen?


    Wenn meine Theorie stimmt dann deshalb, weil streamdev signalisiert, dass mit der angegebenen Priorität der Server eine Karte zur Verfügung stellen würde. Aufgrund dieser Aussage entscheidet sich der Client (immer wieder) für streamdev, fällt dann aber auf die Nase weil der Server doch nicht umschaltet. Um die Aufnahme zu retten, macht VDR in diesem Fall einen Neustart - willkommen in der Schleife.


    Würde der Server von Anfang an signalisieren, dass der Kanal nicht zur Verfügung steht (daher mal Timer mit Priorität 0 probieren), sollte statt streamdev die Client DVB-Karte genutzt werden.

  • Gut ... gestern ist es wieder passiert ... testen wir halt mal unbeabsichtigt :)


    Also folgendes Scenario:


    Server (willi) nimmt auf Sat1 auf.


    Der Wohnzimmerclient (wohnzimmer) läuft auf ARD und da will ich auch was aufnehmen ... Programm -> Aufnehmen -> OK


    => Ergebnis:
    Der Client schmiert weg :(


    Code
    Nov  5 22:23:50 wohnzimmer vdr: [7400] timer 3 (1 2143-2255 'Sabine Christiansen') set to event Son 05.11.2006 21:45-22:45 'Sabine Christiansen'
    Nov  5 22:23:50 wohnzimmer vdr: [7400] Streamdev: Connected to server 192.168.5.2:2004 using capabilities TSPIDS
    Nov  5 22:23:50 wohnzimmer vdr: [7400] switching device 2 to channel 1
    Nov  5 22:23:50 wohnzimmer vdr: [7400] ERROR: Streamdev: Couldn't tune 192.168.5.2:2004 to channel Das Erste
    Nov  5 22:23:50 wohnzimmer vdr: [7400] retrying
    Nov  5 22:23:50 wohnzimmer vdr: [7400] ERROR: Streamdev: Couldn't tune 192.168.5.2:2004 to channel Das Erste
    Nov  5 22:23:50 wohnzimmer vdr: [7400] retrying
    Nov  5 22:23:50 wohnzimmer vdr: [7400] ERROR: Streamdev: Couldn't tune 192.168.5.2:2004 to channel Das Erste
    Nov  5 22:23:50 wohnzimmer vdr: [7400] retrying
    Nov  5 22:23:50 wohnzimmer vdr: [7400] initiating emergency exit


    Auf dem Server kommt nur:


    Code
    vdr: [7298] Streamdev: Accepted new client (VTP) 192.168.5.8:1896
    vdr: [7298] streamdev: closing streamdev connection to 192.168.5.8:1896


    Um den Client aus der Restart Klamotte rauszubekommen, habe ich ihn angehalten, den Timer aus der timers.conf rausgeschmissen und neugestartet.
    Anschließend den Timer erneut mit PRIO=0 programmiert ... und:



    Er fragt wohl immer noch beim Server an, schaltet dann aber sein eigenes Device ...


    Das kann doch nicht sein, daß der Client auf dem Programm läuft, welches aufgenommen werden soll, und _nicht_ sein eigenes Device nimmt ... !?


    Ist ja ok, wenn ich auf dem Client was aufnehme, der Server beschäftigt ist und ich daher kein "2. Device" zur Verfügung habe ...


    Wenn ich nun standardmäßig die PRIO auf 0 stelle, was passiert dann? Nimmt er _nur_ noch vom internen Device auf?


    Ist dieses Verhalten vom streamdev-plugin denn so gewollt? Kann ich mir nicht vorstellen ... !?


    Lg
    Roman

    Wohnzimmer (Client 1): C't Vdr (Sarge), 2.6.15-sl, 1.4.0-2, TT-1.5 FF, Hermes 651, 40 GB, 2Ghz Celeron, 512MB, PSOne TFT
    Server: C't VDR (Sid), 2.6.15-1-k7, 1.4.1-1, TT-1.6 FF, XP-2000+, 500GB, 512MB
    Schlafzimmer (Client 2): MediaMVP
    MediaMVP, Bose S 100, 400er Oldischlepptopp für den Garten

  • Zitat

    Er fragt wohl immer noch beim Server an, schaltet dann aber sein eigenes Device ...


    Das kann doch nicht sein, daß der Client auf dem Programm läuft, welches aufgenommen werden soll, und _nicht_ sein eigenes Device nimmt ... !?


    VDR prüft immer alle Empfangs-Geräte auf der Suche nach dem Gerät bei dem es die geringsten "Nebenwirkungen" gibt. Auch wenn Du also gerade den aufzunehmenden Kanal schaust wird trotzdem via streamdev geprüft, ob der Kanal dort nicht "billiger" zu haben wäre.


    Zitat

    Ist ja ok, wenn ich auf dem Client was aufnehme, der Server beschäftigt ist und ich daher kein "2. Device" zur Verfügung habe ...


    Wenn ich nun standardmäßig die PRIO auf 0 stelle, was passiert dann? Nimmt er _nur_ noch vom internen Device auf?


    Kann ich wie gesagt nicht testen, würde aber folgendes Verhalten erwarten:

    • Client schaut den aufzunehmenden Kanal: Aufnahme auf Client
    • Client schaut anderen Kanal, Server nimmt nichts auf: Aufnahme auf Server
    • Client schaut anderen Kanal, Server nimmt auf: Aufnahme auf Client - Kanal wird umgeschaltet


    Zitat

    Ist dieses Verhalten vom streamdev-plugin denn so gewollt? Kann ich mir nicht vorstellen ... !?


    Deine Infos bestätigen meine Vermutung, dass hier ein Bug im streamdev-Plugin vorliegt. Der VTP-Befehl TUNE müsste wohl um den Parameter "Priorität" erweitert werden. Ich trage die Angelegenheit mal im Bugtracking-System ein...

  • Zitat

    Original von schmirl
    Kann ich wie gesagt nicht testen, würde aber folgendes Verhalten erwarten:

    • Client schaut den aufzunehmenden Kanal: Aufnahme auf Client
    • Client schaut anderen Kanal, Server nimmt nichts auf: Aufnahme auf Server
    • Client schaut anderen Kanal, Server nimmt auf: Aufnahme auf Client - Kanal wird umgeschaltet


    So würde ich es standardmäßig schon erwarten ;)


    Zitat


    Deine Infos bestätigen meine Vermutung, dass hier ein Bug im streamdev-Plugin vorliegt. Der VTP-Befehl TUNE müsste wohl um den Parameter "Priorität" erweitert werden. Ich trage die Angelegenheit mal im Bugtracking-System ein...


    Thx fürs Eintragen!


    Was mich wundert ist, daß dieses Problem bisher scheinbar keinem aufgefallen ist !?


    Lg
    Roman


    P.S. Soll ich trotzdem nochmal mit debug testen?

    Wohnzimmer (Client 1): C't Vdr (Sarge), 2.6.15-sl, 1.4.0-2, TT-1.5 FF, Hermes 651, 40 GB, 2Ghz Celeron, 512MB, PSOne TFT
    Server: C't VDR (Sid), 2.6.15-1-k7, 1.4.1-1, TT-1.6 FF, XP-2000+, 500GB, 512MB
    Schlafzimmer (Client 2): MediaMVP
    MediaMVP, Bose S 100, 400er Oldischlepptopp für den Garten

    Einmal editiert, zuletzt von Uatschitchun ()

  • Zitat

    Was mich wundert ist, daß dieses Problem bisher scheinbar keinem aufgefallen ist !?


    Denke die meisten haben Clients ohne DVB-Karte bzw. mit FF-Karte die nur zur Wiedergabe genutzt wird. Und der Rest wird vermutlich grundsätzlich alle Aufnahmen auf dem Server machen...

    Zitat

    P.S. Soll ich trotzdem nochmal mit debug testen?


    Ist erstmal nicht notwendig. Aber vielleicht könntest Du den Patch testen wenn er irgendwann mal geschrieben ist (Falls sich sonst niemand drum kümmert - bis ich dazu komme werden ein paar Wochen vergehen).

  • Was mich wundert ist, daß dieses Verhalten nicht schon immer vorhanden war !?


    Ich meine mich zu entsinnen, daß es bis zu einer gewissen Version dieses Problem nicht gab, da der Client erstmal selber umgeschaltet hat ...


    Nu gibts ja auch im Setup ne Option, in der ich dem VDR den Channel mitgeben kann, mit dem er starten soll ... entweder ich lege da einen fest oder sage "den zuletzt geschauten" ... könnte man hier nicht ansetzen und eine Option hinzufügen, wie "den nötigen Channel, sonst den zuletzt geschauten"?


    Hm ... bringt ja aber auch nix, wie mein Beispiel zeigte ...


    Wer ist denn zuzeit Maintainer vom streamdev? macht das noch der Lord?


    Lg
    Roman


    P.S. Patch testen ist kein Prob!

    Wohnzimmer (Client 1): C't Vdr (Sarge), 2.6.15-sl, 1.4.0-2, TT-1.5 FF, Hermes 651, 40 GB, 2Ghz Celeron, 512MB, PSOne TFT
    Server: C't VDR (Sid), 2.6.15-1-k7, 1.4.1-1, TT-1.6 FF, XP-2000+, 500GB, 512MB
    Schlafzimmer (Client 2): MediaMVP
    MediaMVP, Bose S 100, 400er Oldischlepptopp für den Garten

  • Zitat

    Was mich wundert ist, daß dieses Verhalten nicht schon immer vorhanden war !?


    Ich meine mich zu entsinnen, daß es bis zu einer gewissen Version dieses Problem nicht gab, da der Client erstmal selber umgeschaltet hat ...


    Den entsprechenden Code gibt es seit streamdev-0.3.1. Davor hat es wohl mal richtig funktioniert.


    Zitat

    Wer ist denn zuzeit Maintainer vom streamdev? macht das noch der Lord?


    LordJaxom entwickelt schon eine ganze Weile nicht mehr dran (siehe Status streamdev) und auch sonst hat sich noch kein Maintainer gefunden. Seit ein paar Wochen kümmere ich mich nun nebenbei um das Bugfixing. Derzeit ist leider nicht mehr drin :(

Jetzt mitmachen!

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