Posts by gggggg

    Danke trotzdem, aber belasse das mcli Timeout auf den 180s (3 Min). Das ist die Zeit die max. auf das Netzwerk gewartet wird.

    Danke pbrb für die Idee das mcli im Falle dessen wenn kein Netzw da ist nicht zu laden.

    Falls es eure Zeit mal erlaubt, wäre es sicher sinnvoll die Parameter über den mcli.conf veränderbar zu machen und nat. im Falle des fehlenden Netzwerks nicht einfach den vdr zum Beenden zu zwingen.

    Das Prob ist, dass mcli ohne Netzwerk nach 3min. den vdr stoppt und man so nicht mal Aufnahmen wiedergeben kann.

    https://github.com/pbiering/vdr-p…b/master/mcli.c
    #define IFACE_WATCH_TIMEOUT 180
    #define IFACE_WATCH_STEP 5

    Nach Ablauf der 3min kommt dann in Zeile 200 return=false und der vdr wid gestoppt.

    hier was zum Testen

    Code
    Option 2: neue Option einbauen "ignore-if-problem", man merkt sich den cPluginMcli::Initialize den Fehlerstatus, gibt aber trotzdem "true" zurück, aber bei "cPluginMcli::Start" wird das "gemerkte" geprüft und das Plugin gibt entweder hier dann "false" zurück....wenn einem der VDR das immer noch übel nimmt, dann weiter vorarbeiten und z.B. bei "cPluginMcli::Action" einfach nichts tun.

    das muß aber jemand anderes angehen, dazu fehlt mir Zeit

    Dec 9 10:19:15 BM2LTS-MC vdr: [1433] mcli::PreInitMcli: can't find specified device 'eth0.2' in /proc/net/if_inet6 (after 60 sec)
    Dec 9 10:19:15 BM2LTS-MC vdr: [1433] mcli::Initialize: PreInitMcli failed
    Dec 9 10:19:15 BM2LTS-MC vdr: [1433] deleting plugin: tvguide
    ...
    Dec 9 10:19:15 BM2LTS-MC vdr: [1433] deleting plugin: softhddrm
    Dec 9 10:19:15 BM2LTS-MC vdr: Video Exit

    cinfo was hast du denn geändert - nur das Timeout ?

    DAnke,

    Dec 8 17:56:23 BM2LTS-MC vdr: [1431] initializing plugin: mcli (1.0.1B): NetCeiver Client Application
    Dec 8 17:56:23 BM2LTS-MC vdr: [1431] mcli::Initialize: called
    Dec 8 17:56:23 BM2LTS-MC vdr: [1431] mcli::PreInitMcli: called with m_cmd.iface='eth0.2' builtin watch-timeout=220 watch-step=3
    Dec 8 17:56:23 BM2LTS-MC vdr: [1460] video directory scanner thread started (pid=1431, tid=1460, prio=low)
    Dec 8 17:56:23 BM2LTS-MC vdr: [1431] mcli::PreInitMcli: can't find specified device 'eth0.2' in /proc/net/if_inet6 (after 0 of 220 sec / wait next 3 sec)
    Dec 8 17:56:26 BM2LTS-MC vdr: [1431] mcli::PreInitMcli: can't find specified device 'eth0.2' in /proc/net/if_inet6 (after 3 of 220 sec / wait next 3 sec)

    aber hast du das timeout auf 220 gesetzt ? Zum Testen wäre es hilfreich das eher auf 60s (schade dass wir dazu keinen Parameter haben) zu setzten

    So einfach wie ich hoffte ist es wohl nicht, weil der vdr stürtzt nach den 220s ab:
    Dec 8 18:10:34 BM2LTS-MC vdr: [1431] mcli::PreInitMcli: can't find specified device 'eth0.2' in /proc/net/if_inet6 (after 220 sec)
    Dec 8 18:10:34 BM2LTS-MC vdr: [1431] new device number 1 (card index 1)
    Dec 8 18:10:34 BM2LTS-MC vdr: [1431] cTimeMs: using monotonic clock (resolution is 1 ns)
    Dec 8 18:10:34 BM2LTS-MC vdr: [1999] device 1 section handler thread started (pid=1431, tid=1999, prio=low)
    Dec 8 18:10:34 BM2LTS-MC vdr: [1431] mcli::cMcliDevice: USING VDR PACKET BUFFER
    Dec 8 18:10:34 BM2LTS-MC kernel: [ 227.858319] vdr[1431]: segfault at 8 ip 00007f9210556c07 sp 00007ffee7ce8180 error 6 in libnetceiver.so.1.0.0[8c07,7f9210552000+10000] likely on CPU 3 (core 1, socket 0)
    Dec 8 18:10:34 BM2LTS-MC kernel: [ 227.858340] Code: df 03 01 00 48 89 68 f8 4c 89 e7 48 89 43 20 48 89 43 18 e8 0b c6 ff ff 48 8b 45 00 48 89 6b 08 4c 89 e7 48 89 5d 00 48 89 03 <48> 89 58 08 e8 a0 c6 ff ff 48 89 d8 5b 5d 41 5c c3 e8 c3 c3 ff ff
    Dec 8 18:10:34 BM2LTS-MC systemd[1]: vdr.service: Main process exited, code=killed, status=11/SEGV

    Ich war auf der Suche nach einer Lösung, wie meine Familie wenn aus irgend einem Grund die Tuner (in meinem Falll ein Netceiver) nicht verfügbar sind, zumindest Aufnahmen sehen können.

    Das Problem ist nämlich, dass in diesem Fall kein OSD verfügbar / angezeigt wird.

    Mögliche Lösungen wurden in diesem Thread diskutiert: VDR ohne DVB device starten um Aufnahmen abzuspielen

    Unter Anderem per IPTV ein Standbild auszugeben oder wie unten kurz die Wiedergane einer Aufnahme zu starten ....

    Das Problem ist, dass softhddevice ohne DVB-Input kein OSD zeigt, so dass man keine Aufnahme starten kann.
    ... Die Lösung ist einfach: Mit svdrpsend eine Aufnahme starten, danach geht das OSD, und dann kann man Aufnahmen starten.
    /Pfad/svdrpsend PLAY 1
    ....
    Ansonsten könnte man das in softhddevice einbauen, ein Standbild bei fehlendem Signal abzuspielen, dann ginge das OSD auch so.
    ...

    jojo61 Wäre es denn möglich das Problem ohne Workarounds direkt im Ausgabeplugin zu lösen ?

    Danke, ich denke ich bleibe bei der Lösung mit svdrpsend PLAY 1

    In meiner rc.local sieht das so aus:
    Ich warte ohnehin schon ob auf Kanal 2 (ORF2HD = http://127.0.0.1:3000/2) das Wort orf im Stream enthalten ist. Wenn dem nach Timeout nicht so ist starte ich kurz eine Wiedergabe und bleibe im Menue Recordings.

    Code
    ...
    tmax=30
    while [[ $tmax != 0 && "" == "$(curl  "http://127.0.0.1:3000/2" s 2>&1 | head -c 1000000 | grep -aio "orf")" ]] ; do sleep 1; ((tmax--)); done
    /usr/bin/logger -t ri_rc "rc streamdev orf"
    [[ $tmax == 0 ]] && bash -c "svdrpsend PLAY 1 &&  sleep 5 && svdrpsend HITK Stop && svdrpsend HITK Recordings && svdrpsend HITK Left"
    ...

    Gibt es eig. einen Befehl / Tastendruck mit dem man an den BEginn einer Liste gehen kann (außer x mal "Left") ?

    Ja,

    TV6;IPTV:60:S=1|P=0|F=EXT|U=iptvstream.sh|A=0:I:0:0:680:0:0:6:0:0:0
    Section id (Sid/Nid/Tid) scanner ("0" disable, "1" enable)

    Das hatte ich schon gesehen, aber verstanden habe ich es nicht ;) u somit dachte ich es muss wohl disabled sein, aber mit S=1 ist der Fehler weg ;)

    Nun schaut es so aus:

    VDR-OSD;IPTV:54:S=1|P=0|F=EXT|U=image.sh|A=10:I:0:0:128=@3:0:0:1:0:0:0

              |  |   |   |     |            EXT:    script parameter

    Was ich trotzdem nicht verstehe:
    Die UniqueID 50/54 bezieht sich auf was ?
    und die unterschiedlichen Parameter bei A=

    Ich hoffe das zeigt es:
    vdr --showargs
    --video=/media/hd/recordings
    --user=root
    --grab=/tmp
    --port=2001
    --watchdog=0
    --lirc=/var/run/lirc/lircd
    --shutdown=/usr/sbin/power
    --userdump
    --log=3
    --plugin=softhddrm -f -d :0.0 -w alsa-no-test -a hdmi:CARD=PCH,DEV=0 -p hdmi:CARD=PCH,DEV=0 -c PCM -g 1280x720+0+0 -r 50
    --plugin=mcli --ifname eth0.2 --dvb-s2 3 --tuner-max 3 --debugmask 0x0 --mld-reporter-disable --sock-path /tmp/mcli.sock
    --plugin=iptv -d 1
    --plugin=bgprocess
    --plugin=epgsearch
    --plugin=femon
    --plugin=live --port=8008 --ip=10.75.25.22 --epgimages=/var/cache/vdr/ --chanlogos=/etc/vdr/channellogos --sslport=0
    --plugin=markad -l /opt/vdr/plugins/markad --autologo=2
    --plugin=menuorg
    --plugin=mpv -v gpu -c drm -h vaapi -a alsa/hdmi:CARD=PCH,DEV=0 -b /media/hd/video -g 1920x1080@24
    --plugin=osdteletext -d /run/shm/vtx -n 48 -s packed
    --plugin=reelchannelscan
    --plugin=streamdev-server
    --plugin=systeminfo
    --plugin=tvguide -l /usr/share/reel/channellogos/ -e /var/cache/vdr/ -i /etc/vdr/plugins/tvguide/icons/
    --plugin=dummydevice

    --------------------------------------------------------------

    Eigentlich funktioniert die Idee trotz der Fehlermeldung: ERROR: invalid value for parameter 'S'

    Bezieht sich der Fehler nicht auf das S in der channels.conf ?

    Dein Vorschlag
            IPTV:50:S=0|P=0|F=EXT|U=image.sh|A=1:I:0:256=2:257=@4:0:0:3:0:0:0

    der von cinfo:
    VDR-OSD;IPTV:54:S=0|P=0|F=EXT|U=image.sh|A=10:I:0:0:128=@3:0:0:1:0:0:0

    Was ich nicht verstehe:

    - die UniqueID 50/54 bezieht sich auf was ?
    und die unterschiedlichen Parameter bei A=

    Danke: Hab es nach deiner Anleitung versucht:
    VDR-OSD;IPTV:54:S=0|P=0|F=EXT|U=image.sh|A=10:I:0:0:128=@3:0:0:1:0:0:0

    Das Radio Bild kommt aber mit folgender Fehlermeldung:
    Dec 8 10:06:09 BM2LTS-MC vdr: [2438] switching to channel 1 I-0-54-1 (VDR-OSD)
    Dec 8 10:06:09 BM2LTS-MC vdr: [2438] [softhddev]SetPlayMode: 0
    Dec 8 10:06:09 BM2LTS-MC vdr: [2438] [softhddev]SetVolumeDevice: 31
    Dec 8 10:06:09 BM2LTS-MC vdr: Set Playmode 0
    Dec 8 10:06:09 BM2LTS-MC vdr: Clear buffer request in Poll
    Dec 8 10:06:09 BM2LTS-MC vdr: [softhddev]Clear: 0ms buffers 0
    Dec 8 10:06:09 BM2LTS-MC vdr: video: set closing
    Dec 8 10:06:09 BM2LTS-MC vdr: video: set clock --:--:--.---
    Dec 8 10:06:09 BM2LTS-MC vdr: video: reset start
    Dec 8 10:06:09 BM2LTS-MC vdr: video: set clock --:--:--.---
    Dec 8 10:06:09 BM2LTS-MC vdr: video: new stream start
    Dec 8 10:06:09 BM2LTS-MC vdr: [2438] [softhddev]SetVideoDisplayFormat: 1
    Dec 8 10:06:09 BM2LTS-MC vdr: [2438] [softhddev]GetSpuDecoder:
    Dec 8 10:06:09 BM2LTS-MC vdr: [2438] buffer stats: 0 (0%) used
    Dec 8 10:06:09 BM2LTS-MC vdr: [2438] ERROR: invalid value for parameter 'S'
    Dec 8 10:06:09 BM2LTS-MC vdr: message repeated 2 times: [ [2438] ERROR: invalid value for parameter 'S']
    Dec 8 10:06:09 BM2LTS-MC vdr: video/cuvid: closing eof
    Dec 8 10:06:09 BM2LTS-MC vdr: [2501] device 6 receiver thread started (pid=2438, tid=2501, prio=high)
    Dec 8 10:06:09 BM2LTS-MC vdr: [2502] radioimage thread started (pid=2438, tid=2502, prio=high)
    Dec 8 10:06:09 BM2LTS-MC vdr: [2503] IPTV streamer thread started (pid=2438, tid=2503, prio=high)

    Zum Prob, dass mcli ohne Netzwerk nach 3min. den vdr stoppt (die Idee mit dem IPTV funkt erst wenn das gelöst ist):

    https://github.com/pbiering/vdr-p…b/master/mcli.c
    #define IFACE_WATCH_TIMEOUT 180
    #define IFACE_WATCH_STEP 5

    Nach Ablauf der 3min kommt dann in Zeile 200 return=false und ich vermute der vdr stoppt danach.

    Ev. reicht es in Zeile 200 = true zu retournieren.
    cinfo könntest du bitte mcli.c mit dieser Änderung bauen.

    jojo61 wäre das möglich

    jojo61 wäre das möglich ... was hältst du davon ?

    Leider bin ich kein Entwickler und c verstehe ich auch kaum. Die Verzögerung kommt anscheinend aus dem mcli Plugin:
    https://github.com/pbiering/vdr-plugin-mcli/blob/master/mcli.
    #define IFACE_WATCH_TIMEOUT 180
    #define IFACE_WATCH_STEP 5

    Nach Ablauf der 3min kommt dann in Zeile 200 return=false und ich vermute der vdr stoppt danach.

    Ev. reicht es in Zeile 200 = true zu retournieren.
    cinfo wäre es dir möglich das mal als patch des mcli zu bauen ?

    Danke das ist genial !

    Nun hab ich nur noch ein Problem. Nämlich im Fall dass auch das Netzwerk nicht da ist, läuft das bei unserem vdr so, dass er 3 Min auf eth0.2 wartet.

    Das hatten wir wegen mcli eingebaut. Ich kann mich nicht mehr genau an den Hintergrund erinnern, aber es gab immer Probs wenn der Netceiver bzw. das Netzwerk noch nicht hochgefahren war und man den vdr/mcli gestartet hatte.

    In diesem Fall ist das Prob dass der vdr nach 3min beendet wird:

    Dec 6 11:31:29 BM2LTS-MC vdr: [1421] initializing plugin: mcli (1.0.1): NetCeiver Client Application
    Dec 6 11:31:29 BM2LTS-MC vdr: [1421] mcli::Initialize: called
    Dec 6 11:31:29 BM2LTS-MC vdr: [1421] mcli::PreInitMcli: called with m_cmd.iface='eth0.2' builtin watch-timeout=180 watch-step=5
    Dec 6 11:31:29 BM2LTS-MC vdr: [1421] mcli::PreInitMcli: can't find specified device 'eth0.2' in /proc/net/if_inet6 (after 0 of 180 sec / wait next 5 sec)
    ,,,,
    Dec 6 11:34:24 BM2LTS-MC vdr: [1421] mcli::PreInitMcli: can't find specified device 'eth0.2' in /proc/net/if_inet6 (after 175 of 180 sec / wait next 5 sec)
    Dec 6 11:34:29 BM2LTS-MC vdr: [1421] mcli::PreInitMcli: can't find specified device 'eth0.2' in /proc/net/if_inet6 (after 180 sec)
    Dec 6 11:34:29 BM2LTS-MC vdr: [1421] mcli::Initialize: PreInitMcli failed
    Dec 6 11:34:29 BM2LTS-MC vdr: [1421] deleting plugin: dummydevice
    ...
    Dec 6 11:34:29 BM2LTS-MC vdr: [1421] deleting plugin: softhddrm
    Dec 6 11:34:29 BM2LTS-MC vdr: Video Exit
    Dec 6 11:34:29 BM2LTS-MC vdr: [1421] deleting plugin: mcli
    Dec 6 11:34:29 BM2LTS-MC vdr: [1421] mcli::~cPluginMcli: called
    Dec 6 11:34:29 BM2LTS-MC vdr: [1421] mcli::PostExitMcli: called
    Dec 6 11:34:29 BM2LTS-MC vdr: [1421] mcli::~cMcliDeviceList: delete device list
    Dec 6 11:34:29 BM2LTS-MC vdr: [1421] exiting, exit code 2
    Dec 6 11:34:29 BM2LTS-MC systemd[1]: vdr.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
    Dec 6 11:34:30 BM2LTS-MC systemd[1]: vdr.service: Failed with result 'exit-code'.
    Dec 6 11:34:30 BM2LTS-MC systemd[1]: Failed to start Video Disk Recorder

    Nun weis ich nicht weshalb wir den vdr nicht nach den 3min einfach laufen gelassen haben. All das hat der leider verstorbene HelmutB für mich/uns gebaut. Die Patches sind oben verlinkt.

    Wie schauts mit deiner Zeit aus ? Ev. kannst du bitte die vdr patches die wir im Image dabei haben verlinken / posten