Hi Danke aber ich denke ich lass die aus
außer du möchtest unbedingt dass ich sie teste ...
Posts by gggggg
-
-
-
-
Bisher OK. Da haben sich in letzter Zeit 2 alte Dateien eingeschlichen. Im Anhang die Aktuellen
-
HI werde es demnächst testen. lt. Readme (Seite 1 im Thread )sind alle Versionen ident zu 4.5.30 ?
-
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.
-
OK. Was hattest du denn in der letzten Version geändert ?
-
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 5Nach Ablauf der 3min kommt dann in Zeile 200 return=false und der vdr wid gestoppt.
Display MoreSo einfach ist die Sache nicht....ein "return true;" resultiert in einem erfolgreichen "cPluginMcli::Initialize".
Welches Verhalten wollt Ihr denn? Daß der vdr läuft, obwohl "mcli" nicht initialisiert werden konnte? Ein "lazy" wird vom VDR nicht unterstützt.
Option 1: man prüft vor Start des VDRs, ob die Schnittstelle funktioniert, wenn nicht, dann das Plugin gar nicht aktivieren.
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.
Und bzgl. der aktuell hartcodierten Timeouts...es sollte ein leichtes sein, da entsprechende Optionen hinzuzufügen: cPluginMcli::ProcessArgs und die defines damit zu ersetzen
Hoffe, das hilft Euch weiter, viel Erfolg....wenn Ihr dann eine Patch habt, der Euch genügt, prüf ich den gerne und merge den nach Upstream.
hier was zum Testen
CodeOption 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 Exitcinfo 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:0der 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:0Was 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:0Das 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 5Nach 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
Display MoreDas Problem ist, dass softhddevice ohne DVB-Input kein OSD zeigt, so dass man keine Aufnahme starten kann.
Alle Tipps, die es hier gab, haben bei mir nichts geholfen (zum Testen braucht man nur eine leere channels.conf).
Die Lösung ist einfach: Mit svdrpsend eine Aufnahme starten, danach geht das OSD, und dann kann man Aufnahmen starten.
Dazu ruft in meiner commands.conf eine Fernbedienungstaste das Skript play.sh auf:
/Pfad/svdrpsend PLAY 1
Man kann auch gezielt eine Aufnahme 000du aufrufen:
NR=$(/Pfad/svdrpsend LSTR | grep 000du | awk '{print$1;}' | cut -b 5,6,7)
echo ${NR}
/Pfad/svdrpsend PLAY ${NR}Ansonsten könnte man in softhddevice einbauen, ein Standbild bei fehlendem Signal abzuspielen, dann ginge das OSD auch so.
Edit: Ein Keymacro gehört auch noch dazu. Es ordnet einer Taste den Eintrag in der commands.conf zu.
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 5Nach 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 ? -
Display More
Das Problem ist, dass softhddevice ohne DVB-Input kein OSD zeigt, so dass man keine Aufnahme starten kann.
Alle Tipps, die es hier gab, haben bei mir nichts geholfen (zum Testen braucht man nur eine leere channels.conf).
Die Lösung ist einfach: Mit svdrpsend eine Aufnahme starten, danach geht das OSD, und dann kann man Aufnahmen starten.
Dazu ruft in meiner commands.conf eine Fernbedienungstaste das Skript play.sh auf:
/Pfad/svdrpsend PLAY 1
Man kann auch gezielt eine Aufnahme 000du aufrufen:
NR=$(/Pfad/svdrpsend LSTR | grep 000du | awk '{print$1;}' | cut -b 5,6,7)
echo ${NR}
/Pfad/svdrpsend PLAY ${NR}Ansonsten könnte man in softhddevice einbauen, ein Standbild bei fehlendem Signal abzuspielen, dann ginge das OSD auch so.
Edit: Ein Keymacro gehört auch noch dazu. Es ordnet einer Taste den Eintrag in der commands.conf zu.
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 RecorderNun 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.
-
Display More
hier noch das log ohne mcli aber mit streamdev-client. Ich hatte es auch mal mit dem SAT-IP plugin ohne mcli versucht ...
cinfo ich vermute dass wir wegen des mcli immer noch einen "patch" am Start haben, denn im log kommt auch ohne mcli diese Meldung:
Nov 17 17:03:46 BM2LTS-MC vdr: [1428] ScrambleDetection timers set to 5 sec / 60 sec
Damit hatten wir damals das mcli zum Laufen bekommen.
Könntest du bitte nachsehen und ev. einen Link zum source des patch posten
PostRE: [gelöst] mcli ERROR: video data stream broken
Hier die Version 2 des vdr-mcli Patch und das Diff zum ersten vdr-mcli Patch.
Es wird nun bei der ScrambleDetection das Timeout der 'TS_SCRAMBLING_TIME_OK' auf 35 Sekunden gesetzt. Damit sollte erkannt werden, wenn der Netceiver nach dem setzten der DVB Date/Time nicht mehr entschlüsselt und es kann das notwendige Retune durchgeführt werden. Diese Änderung findet man auch in den Sourcen von ReelVdr - es könnte also diesmal klappen,
cinfo : kannst du noch einmal einen vdr-2.4.6 mit dem mcli2…HelmutB †February 20, 2021 at 1:38 AM PostRE: [gelöst] mcli ERROR: video data stream broken
[…]
[…]
[…]
Hallo pbrb
#define TS_SCRAMBLING_TIMEOUT 3 // seconds to wait until a TS becomes unscrambled
Ich hab nun schon einige Monate TS_SCRAMBLING_TIMEOUT auf 5s. Daher ersuche ich dich das nun auch im define des Patch von 3 auf 5s nachzuziehen.
HelmutB † Ev. sind wir von 17.9. am Donauinselfest ... da könnten wir uns ev. treffen und ich meine Schuld begleichen
ggggggAugust 13, 2021 at 11:42 AM Wie schauts mit deiner Zeit aus ? Ev. kannst du bitte die vdr patches die wir im Image dabei haben verlinken / posten
-
danke, schaut auf 1. Antesten gut aus !
Kannst du mal nachsehen ob du im Image auch diese Files hast- Falls ja bitte löschen: /opt/vdr/conf.d.native.mcli
40-satip.conf
40-satip.conf.all