EPG Update steuern - die 100ste

  • Das sleep $ZAPDELAY braucht es aber auch beim streamdev und ev. auch das in den Hintergrund senden mit &.

    wget läuft für $ZAPDELAY und wird dann von timeout gekillt (vgl. Zeile 41) - und wenn das durch ist, macht er den nächsten Kanal. Ich sehe nicht, warum man wget da in den Hintergrund senden sollte.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Der Grund ist ev. der Aufruf des Scripts aus der Putty Konsole ?! Warum ?

    Code
    --2021-03-29 17:37:10--  http://localhost:3000/TS/S19.2E-1-1007-4911.ts
    Auflösen des Hostnamens localhost (localhost) … 127.0.0.1
    Verbindungsaufbau zu localhost (localhost)|127.0.0.1|:3000 … fehlgeschlagen: Verbindungsaufbau abgelehnt.

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • Ich weiß ja nicht, wie streamdev-server auf deinem System konfiguriert ist (und ob der VDR das überhaupt geladen hat). Falls streamdev-server aktiv ist und auf Port 3000 lauscht, müsste man im Log sehen, warum er den Zugriffsversuch auf den Stream für ORF 1 HD abgelehnt hat.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Also:

    Mit timout --foreground ....

    Code
    ...
    2021-03-29 17:47:55 Neuer Transponder: 11758-hC34M2S0-S19.2E -> SVDRP: S19.2E-133-17-26 (Disney Junior,DisneyJr;SKY)
    2021-03-29 17:47:55 Neuer Transponder: 12187-HC34M2S0-S19.2E -> SVDRP: S19.2E-1-1089-12040 (SUPER RTL;RTL World)
    2021-03-29 17:47:55 => 70 Kanäle eingelesen. (/etc/vdr/channels.conf)
    2021-03-29 17:47:55 => 38 Transponder: 12187-hC34M2S0-S19.2E 11229-vC23M5O0S1-S19.2E 11302-hC23M5O35S1-S19.2E 12633-hC56M2O35S1-S19.2E 12480-vC34M2S0-S19.2E 10773-hC34M5O20S1-S19.2E 10920-hC78M2S0-S19.2E 12662-hC56M2O0S0-S19.2E 11836-hC34M2S0-S19.2E 11229-vC23M5O35S1-S19.2E 11171-hC34M5O0S1-S19.2E 12515-hC56M2S0-S19.2E 12070-hC34M2S0-S19.2E 11243-hC56M2O35S0-S19.2E 12692-hC56M2O0S0-S19.2E 11758-hC34M2S0-S19.2E 11361-hC23M5O35S1-S19.2E 12051-vC34M2O35S0-S19.2E 12460-hC34M2S0-S19.2E 12603-hC56M2S0-S19.2E 12265-hC34M2S0-S19.2E 11626-vC56M2O0S0-S19.2E 11973-vC34M2S0-S19.2E 11052-hC23M5O35S1-S19.2E 12662-hC56M2S0-S19.2E 11953-hC34M2S0-S19.2E 12692-hC56M2O35S0-S19.2E 12187-HC34M2S0-S19.2E 11376-vC23M5O0S1-S19.2E 11493-hC23M5O35S1-S19.2E 11719-hC34M2S0-S19.2E 11582-HC23M5O35S1-S19.2E 11347-vC23M5O35S1-S19.2E 12148-hC34M2S0-S19.2E 12692-hC56M2S0-S19.2E 11538-vC56M2O0S0-S19.2E 11273-hC23M5O35S1-S19.2E 12544-hC56M2S0-S19.2E
    2021-03-29 17:47:55 => 38 SVDRP-Kanäle: S19.2E-1-1007-4911 S19.2E-1-1005-13304 S19.2E-1-1117-13012 S19.2E-1-1101-28106 S19.2E-1-1079-28006 S19.2E-1-1107-17500 S19.2E-1-1089-12003 S19.2E-133-33-51 S19.2E-1-1003-13223 S19.2E-1-1082-20007 S19.2E-133-5-776 S19.2E-133-1-168 S19.2E-1-1109-5411 S19.2E-1-1093-28487 S19.2E-1-1117-13001 S19.2E-1-1115-13101 S19.2E-1-1117-13014 S19.2E-1-1115-13104 S19.2E-1-1010-11150 S19.2E-1-1019-10302 S19.2E-1-1011-11110 S19.2E-1-1039-10376 S19.2E-1-1025-10331 S19.2E-1-1053-21100 S19.2E-1-1022-6914 S19.2E-1-1022-1 S19.2E-1-1020-1 S19.2E-1-1026-5001 S19.2E-1-1026-1 S19.2E-1-1111-7290 S19.2E-1-1068-4422 S19.2E-133-7-60 S19.2E-1-1078-28676 S19.2E-53-1105-4058 S19.2E-133-15-56 S19.2E-133-3-25 S19.2E-133-17-26 S19.2E-1-1089-12040
    2021-03-29 17:47:55 => Schalte auf Kanal-ID: S19.2E-1-1007-4911
    2021-03-29 17:47:55 => Schalte auf Kanal-ID: S19.2E-1-1005-13304
    ...

    Hab das -q bei wget weg gelassen ... in der KOnsole:

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • Der Zugriff auf den localhost aus der Putty Konsole geht nicht .. mit der IP des NUC ist es OK.

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • muss ich wohl weiter suchen ....

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • Ich ahabe alle *host* (also allowed, die Datei hosts/denied,...) gecheckt und nichts gefunden ...

    Was funtioniert ist wget localhost:8002


    Könnt ihr mir bitte sagen, ob das Folgende bedeutet dass der streamdev (3000) nicht auf dem localhost ereichbar ist ?


    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • Wenn ich in der Einstellung "Binde an IP" statt der eigenen IP 127.0.0.1 eintrage geht es ....


    Sollte der Server über localhost nicht auch wenn die IP der eigenen entspricht erreichbar sein ... denke schon oder ?


    Ev. hat es damit zu tun, dass ich über /network/interfaces die IP statisch vorgegeben habe und netplan außen vor ist ???


    Andererseits dürfte dann wget localhost:8002 ja auch nicht funken ...


    Der Laie ist wieder mal mit seinem Latein am Ende :(

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • !!!!!!!!!!!!!! Vorab mal herzlichen Dank an Megav0lt und Seahawk für das Script !!!!!!!!!!!!!!!!!


    Dann noch zu meinem Ersuchen, bei den crypted ein anderes Delay zu nutzen:

    Wie gesagt brauchen der Netceiver+ORF Karte+MCLI manchmal 10s bis der stream entschlüsselt und stabil ist. Da das ganze beim Hochfahren vor Start einer Aufnahme erledigt sein soll bleiben rund 2-3min.


    Bitte um Euren Input dazu ...

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • Ev. hat es damit zu tun, dass ich über /network/interfaces die IP statisch vorgegeben habe und netplan außen vor ist ???

    Was genau hast du da konfiguriert? Fehlt dir da eventuell ein Loopback für lo? Bei der gezeigten streamdevhosts.conf erübrigen sich die Regeln zu den Subnetzen davor eigentlich, wenn du die letzte Zeile mit 0.0.0.0/0 drin hast.


    Auf meinem System sieht das so aus:

    Code
    $ sudo netstat -tlpen4 | grep vdr
    tcp        0      0 0.0.0.0:6419            0.0.0.0:*               LISTEN      666        36791      1227/vdr
    tcp        0      0 0.0.0.0:2004            0.0.0.0:*               LISTEN      666        36677      1227/vdr
    tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      666        36678      1227/vdr
    tcp        0      0 0.0.0.0:8002            0.0.0.0:*               LISTEN      666        36484      1227/vdr
    tcp        0      0 0.0.0.0:8008            0.0.0.0:*               LISTEN      666        36480      1227/vdr
    tcp        0      0 0.0.0.0:34890           0.0.0.0:*               LISTEN      666        37081      1227/vdr

    Bitte um Euren Input dazu ...

    Du musst halt im Array TMP auf das Feld für die CAID schauen und wenn das nicht 0 ist (genau genommen muss man nach potentiell Komma-Getrennten Werden > 15 schauen (http://vdr-wiki.de/wiki/index.php/Channels.conf#CAID), aber ich tue mal so, als ob man das nicht braucht) ist einen anderen Delay nutzen - also z.B. so:

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    Einmal editiert, zuletzt von seahawk1986 () aus folgendem Grund: Fix delay in svdrp_channelswitch

  • Hab mal was gebastelt aber nicht getestet:

    Edit: Ups. seahawk1987 war schneller ;)

  • Danke euch .. weil sonst hätte ich noch einige Stunden mehr am Script gebastelt ... werde das gleich mal proben ;)


    ad localhost)

    Ein generelles Prob sollte es eig. nicht sein, weil ja wget localhost:8002 ok ist. Anderseits hatte ich vor Längerem oscam am NUC laufen und da das gleiche Prob, dass es über localhost nicht u über die IP schon erreichbar war.


    seahawk1986 was hast du beim streamdev in der setup.conf als IP ?


    etc/network/interfaces:

    etc/netplan/01-network-NOdhcp.yaml

    Code
    network:
      version: 2
      renderer: networkd

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

    2 Mal editiert, zuletzt von gggggg ()

  • seahawk1986 was hast du beim streamdev in der setup.conf als IP ?

    Nichts - das sorgt dann dafür, dass das Plugin den Socket an 0.0.0.0 bindet.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Danke MegaV0lt , da gibts noch ein paar Kleinigkeiten ;) ...


    1 Mit der string substitution. (das ging auch nicht "${1%##*-}").

    So geht es:

    Code
    ...
    local zapdelay="${ZAPDELAY[0]}" channel="${1%}"
      [[ "${channel##*-}" != "0" ]] && zapdelay="${ZAPDELAY[1]}"
    channel="${1%-*}"
      timeout --foreground "$zapdelay" wget -q -O "/dev/null" "http://${STREAMHOST}:${STREAMPORT}/TS/${channel}.ts" 2>&1
    ...



    2. Ich rufe das script mit & (in den Hintergrund) aus der rc-local auf ... und im syslog finde ich das: grep: Schreibfehler: Datenübergabe unterbrochen (broken pipe)

    Code
    Mar 30 16:09:27 BM2LTS-N64native-MCLI scanepg_ri: scanepg_ri.sh #210330 Start
    Mar 30 16:09:27 BM2LTS-N64native-MCLI rc.local[1670]: grep: Schreibfehler: Datenübergabe unterbrochen (broken pipe)
    Mar 30 16:09:27 BM2LTS-N64native-MCLI scanepg_ri: Neuer Transponder: 11302-hC23M5O35S1-S19.2E -> S19.2E-1-1007-4911 #648 (ORF1 HD;ORF)

    Kann es von dieser Zeile kommen ?

    done < <(grep -av "^:" ${CHANNELS_CONF} | head -n "$MAXCHANNELS")



    3 Außerdem würde ich das mit dem untersch. delay auch bei SVDRP einbauen, weil das Problem mit der Verzög./mcli ja das Gleiche ist !

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • Das grep ist nicht von mir. Ich muss mal schauen ob ich morgen dazu komme das anzuschauen

  • Kann es von dieser Zeile kommen ?

    Möglich, wenn sich head beendet, weil es genug Zeilen gelesen hat, aber grep noch einen Schwung Daten hat, die es in die Pipe schreiben will, bevor es merkt, dass die zu ist. Versuch die Zeile mal so umzuformen:

    done < <(grep -av "^:" ${CHANNELS_CONF} | tail -n +1 | head -n "$MAXCHANNELS")

    2. Ich rufe das script mit & (in den Hintergrund) aus der rc-local auf ...

    Damit ist auf einem Ubuntu 20.04 nicht garantiert, dass das Skript gestartet wird, wenn der VDR schon läuft - systemd-rc-local-generator arbeitet anders als das von SysV-Init bekannte Verhalten das rc.local Skript als letztes beim Boot-Vorgang auszuführen. Sowas würde ich in eine Systemd-Unit packen, die von der Systemd-Unit, die den VDR startet (üblicherweise die vdr.service) abhängt und nach deren Start ausgeführt wird.


    3 Außerdem würde ich das mit dem untersch. delay auch bei SVDRP einbauen, weil das Problem mit der Verzög./mcli ja das Gleiche ist !

    Das macht mein Skript so hoffentlich richtig (oben habe ich den falschen Key für den Assoziativen Array benutzt):

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich habe gerade fest gestellt, dass die durch wget belegten Tuner am Netceiver nicht mehr frei gegeben werden. Wie wei er Streamdev, dass die Steams nicht mehr benötigt werden und wie teilt e das dem vdr/mcli mit ?

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • Lassen sich die Tuner dann vom VDR nicht mehr umschalten oder was genau meinst du mit "frei gegeben"? Der VDR selbst ist ja eigentlich nicht dafür ausgelegt mit einem Tuner etwas anderes zu machen als damit endlos zu empfangen, sobald er damit erstmalig einen Kanal getuned hat.

    streamdev bekommt AFAIK nur mit, dass es keine Daten mehr an den Client raus schreiben kann bzw. die Verbindung unterbrochen wurde und das ändert nichts daran, dass der VDR weiterhin auf den Kanal bzw. Transponder getuned bleibt, bis jemand etwas anderes von ihm verlangt.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Doch, der VDR kann die Tuner beim Umschalten u. Aufnehmen nutzen.... da ich nicht denke, dass es mit dem Script zu tun hat, geht es bitte hier weiter:

    [streamdev-server] Prioritäten richtig setzen um LiveTv und Recordings zu bevorzugen

Jetzt mitmachen!

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