vdr-plugin-iptv für Debian Bookworm

  • Hatte unter ubuntu das gleiche Problem.

    Tatsächlich ist es sehr einfach kompiliert:

    - /usr/lib/vdr/ muss für user Schreibrechte haben!

    - vdr-dev installieren

    - download von "libcurl4-openssl-dev"

    - Download der git-Dateien: https://github.com/Zabrimus/vdr-plugin-iptv

    - in das Downloadverzeichnis wechseln, dann kompilieren mit "make -j && make install"

    - in /etc/vdr/conf.d/ die Datei "50-IPTV.conf" angelegt. Die Datei hat den Inhalt: [iptv] -d 4 (ANmerkung: gibt die ANzahl an Devices an)

    - in /var/lib/vdrchannels.conf um passende Einträge der Playlist ergänzen

  • Hallo,

    ich aktiviere diesen Thread mal wieder, da ich endlich mal Zeit hatte, das "neue" vdr-plugin-iptv" von Zabrimus zu übersetzen und zu installieren.

    Nachdem ich die "samples" in die channels.conf und die m3u-list-main.cfg Datei in das /usr/share/vdr/plugins/iptv Verzeichnis gepackt habe und mal Testweise den Eintrag m3u 1 für das Erste aufgerufen habe, bekomme ich seltsame Effekte: mal klappt es, der Stream kommt, wenn man dann umschaltet z.B. auf m3u 2 (zdf) passiert nichts, zurück auf ARd passiert nichts, dann anderen TV Kanal (Kabel) gewählt und zurück auf m3u 1 wieder nichts, bis him zum Absturz/Einfrieren der GUI aber keinerlei Fehlermeldungen.

    ffmpeg ist drauf und die Tatsache, dass ab und zu der Stream auch angezeigt wird, zeigt, dass es grundsätzlich klappt, aber in Realität nicht wirklich gut läuft (bei mir).

    Woran könnte das liegen?

    Ich vermute Seiteneffekte, darum mal mein System:

    LMDE 6 Faye (Debian 12 bookworm) mit vdr 2.6.0-1.1 und xinelibouput. Als Cliennt: vdr-sxfe 

    VG

    Bernd

    :vdr1 $myVDR

  • Ich vermute Seiteneffekte, darum mal mein System:

    Log Ausgaben wären hier hochinteressant.

    Kannst du den Plugin-Parameter -t 3 für das iptv Plugin hinzufügen (das aktiviert debug1 und debug2), damit man ein wenig mehr im syslog erkennen kann.

    Und wie lauten die beiden Einträge in der channels.conf und evt. m3u-list-main.cfg genau?

    Der hier scheint nicht mehr zu funktionieren

    Code
    ffplay https://mcdn.daserste.de/daserste/de/master.m3u8

    Stattdessen wäre dieser richtig

    Code
    ffplay https://daserste-live.ard-mcdn.de/daserste/live/hls/de/master.m3u8
  • Danke für die Hinweise. Ich habe die Daten aus dem Repo genommen:

    Code
    :IPTV plugin
    M3U List Entry 1 Internal;IPTV:30:S=1|P=0|F=M3U|U=m3u-list-main.cfg|H=F|Y=0|A=1:I:0:200=27:201=@15,202=@15,203=@15:0:0:1:0:0:30
    M3U List Entry 2 Internal;IPTV:40:S=1|P=0|F=M3U|U=m3u-list-main.cfg|A=2:I:0:200=27:201=@15,202=@15,203=@15:0:0:1:0:0:40
    M3U List Entry 6 Internal;IPTV:50:S=1|P=0|F=M3U|U=m3u-list-main.cfg|A=6:I:0:200=27:201=@15,202=@15:0:0:1:0:0:50
    M3U List Entry 1 yt_dlp;IPTV:60:S=1|P=0|F=M3U|U=m3u-list-main.cfg|H=F|Y=1|A=1:I:0:200=27:201=@15,202=@15,203=@15:0:0:1:0:0:60
    M3U List Entry 2 yt_dlp;IPTV:70:S=1|P=0|F=M3U|U=m3u-list-main.cfg|H=F|Y=1|A=2:I:0:200=27:201=@15,202=@15,203=@15:0:0:1:0:0:70
    M3U List Entry 6 yt_dlp;IPTV:80:S=1|P=0|F=M3U|U=m3u-list-main.cfg|H=F|Y=1|A=6:I:0:200=27:201=@15,202=@15:0:0:1:0:0:80
    M3U URL;IPTV:90:S=1|P=0|F=M3US|U=https%3A//daserste-live.ard-mcdn.de/daserste/live/hls/de/master.m3u8|A=0|H=F:I:0:200=2:201=@4:0:0:1:0:0:90

    bzw . für die m3u:

    Code
    1:https://daserste-live.ard-mcdn.de/daserste/live/hls/de/master.m3u8
    2:https://zdf-hls-15.akamaized.net/hls/live/2016498/de/veryhigh/master.m3u8
    3:https://zdf-hls-18.akamaized.net/hls/live/2016501/dach/veryhigh/master.m3u8
    4:https://artesimulcast.akamaized.net/hls/live/2030993/artelive_de/master.m3u8
    5:https://dbjwcot8t7nyd.cloudfront.net/out/v1/9d068a9428444b458324ad77b5a0a4b8/index.m3u8
    6:https://mcdn.br.de/br/fs/ard_alpha/hls/de/master.m3u8
    7:https://mcdn-one.ard.de/ardone/hls/master.m3u8
    8:https://zdf-hls-16.akamaized.net/hls/live/2016499/de/veryhigh/master.m3u8
    9:https://zdf-hls-17.akamaized.net/hls/live/2016500/de/veryhigh/master.m3u8
    10:https://wdw.iptv-playoutcenter.de/wdw/wdw1/playlist.m3u8

    Schalte ich jetzt auf den Das-Erste Eintrag, passiert nichts, sondern dore dump im syslog ... (siehe followup).

    ffplay und m3u8 -Url funktioniert, d.h. das ist soweit ok.

    LG

    Bernd

    :vdr1 $myVDR

  • Hier das syslog:

    Code
    2026-04-14T18:44:47.566021+02:00 vdr1 vdr: [3385] starting plugin: iptv
    2026-04-14T18:47:38.944465+02:00 vdr1 systemd-coredump[3771]: Process 3385 (vdr) of user 1000 dumped core.#012#012Module libnss_systemd.so.2 from deb systemd-252.39-1~deb12u1.amd64#012Module libsystemd.so.0 from deb systemd-252.39-1~deb12u1.amd64#012Stack trace of thread 3385:#012#0  0x00007f372e8a7eec n/a (libc.so.6 + 0x8aeec)#012#1  0x00007f372e858fb2 raise (libc.so.6 + 0x3bfb2)#012#2  0x00007f372e843472 abort (libc.so.6 + 0x26472)#012#3  0x00007f372e89c42f n/a (libc.so.6 + 0x7f42f)#012#4  0x00007f372e8b186a n/a (libc.so.6 + 0x9486a)#012#5  0x00007f372e8b38d0 n/a (libc.so.6 + 0x968d0)#012#6  0x00007f372e8b5f4f __libc_free (libc.so.6 + 0x98f4f)#012#7  0x0000558bca21eef5 _ZN9cListBase5ClearEv (vdr + 0x161ef5)#012#8  0x0000558bca21efc7 _ZN9cListBaseD1Ev (vdr + 0x161fc7)#012#9  0x00007f372e85b55d n/a (libc.so.6 + 0x3e55d)#012#10 0x00007f372e85b69a exit (libc.so.6 + 0x3e69a)#012#11 0x0000558bca2250fc n/a (vdr + 0x1680fc)#012#12 0x00007f372e859050 n/a (libc.so.6 + 0x3c050)#012#13 0x00007f372e91b9dc __select (libc.so.6 + 0xfe9dc)#012#14 0x00007f372dc5023c _ZZN7httplib6detail20create_client_socketERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_iibSt8functionIFviEEllllllS8_RNS_5ErrorEENKUliR8addrinfoE_clEiSF_ (libvdr-iptv.so.2.6.0 + 0x5023c)#012#15 0x00007f372dc52b40 _ZN7httplib6detail13create_socketIZNS0_20create_client_socketERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_iibSt8functionIFviEEllllllS9_RNS_5ErrorEEUliR8addrinfoE_EEiS9_S9_iiibSC_T_ (libvdr-iptv.so.2.6.0 + 0x52b40)#012#16 0x00007f372dc546c4 _ZN7httplib6detail20create_client_socketERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_iibSt8functionIFviEEllllllS8_RNS_5ErrorE (libvdr-iptv.so.2.6.0 + 0x546c4)#012#17 0x00007f372dc54ae8 _ZN7httplib10ClientImpl25create_and_connect_socketERNS0_6SocketERNS_5ErrorE (libvdr-iptv.so.2.6.0 + 0x54ae8)#012#18 0x00007f372dcaf500 _ZN7httplib10ClientImpl5send_ERNS_7RequestERNS_8ResponseERNS_5ErrorE (libvdr-iptv.so.2.6.0 + 0xaf500)#012#19 0x00007f372dcb033a _ZN7httplib10ClientImpl4sendERNS_7RequestERNS_8ResponseERNS_5ErrorE (libvdr-iptv.so.2.6.0 + 0xb033a)#012#20 0x00007f372dc9e1ea _ZN7httplib6Client3GetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE (libvdr-iptv.so.2.6.0 + 0x9e1ea)#012#21 0x00007f372dc8bc28 _ZN16cIptvProtocolM3U4OpenEv (libvdr-iptv.so.2.6.0 + 0x8bc28)#012#22 0x00007f372dcc5474 _ZN13cIptvStreamer9SetSourceEP15cIptvProtocolIf15SourceParameter (libvdr-iptv.so.2.6.0 + 0xc5474)#012#23 0x00007f372dc776b5 _ZN11cIptvDevice16SetChannelDeviceEPK8cChannelb (libvdr-iptv.so.2.6.0 + 0x776b5)#012#24 0x0000558bca17c633 _ZN7cDevice10SetChannelEPK8cChannelb (vdr + 0xbf633)#012#25 0x0000558bca17c806 _ZN7cDevice10SetChannelEPK8cChannelb (vdr + 0xbf806)#012#26 0x0000558bca17ca18 _ZN7cDevice13SwitchChannelEPK8cChannelb (vdr + 0xbfa18)#012#27 0x0000558bca1a6379 _ZN13cMenuChannels6SwitchEv (vdr + 0xe9379)#012#28 0x0000558bca1c84ef _ZN8cOsdMenu10ProcessKeyE5eKeys (vdr + 0x10b4ef)#012#29 0x0000558bca1b8981 _ZN9cMenuMain10ProcessKeyE5eKeys (vdr + 0xfb981)#012#30 0x0000558bca15e77e main (vdr + 0xa177e)#012#31 0x00007f372e84424a n/a (libc.so.6 + 0x2724a)#012#32 0x00007f372e844305 __libc_start_main (libc.so.6 + 0x27305)#012#33 0x0000558bca160c31 _start (vdr + 0xa3c31)#012#012Stack trace of thread 3390:#012#0  0x00007f372e8a2f16 n/a (libc.so.6 + 0x85f16)#012#1  0x00007f372e8a58bc pthread_cond_timedwait (libc.so.6 + 0x888bc)#012#2  0x0000558bca216080 _ZN8cCondVar9TimedWaitER6cMutexi (vdr + 0x159080)#012#3  0x0000558bca183e58 _ZN9cDvbTuner6ActionEv (vdr + 0xc6e58)#012#4  0x0000558bca216731 _ZN7cThread11StartThreadEPS_ (vdr + 0x159731)#012#5  0x00007f372e8a61f5 n/a (libc.so.6 + 0x891f5)#012#6  0x00007f372e9268dc n/a (libc.so.6 + 0x1098dc)#012#012Stack trace of thread 3421:#012#0  0x00007f372e91925f __poll (libc.so.6 + 0xfc25f)#012#1  0x00007f372c4b6977 _ZN14cXinelibServer6ActionEv (libvdr-xineliboutput.so.2.6.0 + 0x51977)#012#2  0x0000558bca216731 _ZN7cThread11StartThreadEPS_ (vdr + 0x159731)#012#3  0x00007f372e8a61f5 n/a (libc.so.6 + 0x891f5)#012#4  0x00007f372e9268dc n/a (libc.so.6 + 0x1098dc)#012#012Stack trace of thread 3394:#012#0  0x00007f372e8a2f16 n/a (libc.so.6 + 0x85f16)#012#1  0x00007f372e8a58bc pthread_cond_timedwait (libc.so.6 + 0x888bc)#012#2  0x0000558bca216080 _ZN8cCondVar9TimedWaitER6cMutexi (vdr + 0x159080)#012#3  0x0000558bca183e58 _ZN9cDvbTuner6ActionEv (vdr + 0xc6e58)#012#4  0x0000558bca216731 _ZN7cThread11StartThreadEPS_ (vdr + 0x159731)#012#5  0x00007f372e8a61f5 n/a (libc.so.6 + 0x891f5)#012#6  0x00007f372e9268dc n/a (libc.so.6 + 0x1098dc)#012#012Stack trace of thread 3397:#012#0  0x00007f372e8a2f16 n/a (libc.so.6 + 0x85f16)#012#1  0x00007f372e8a58bc pthread_cond_timedwait (libc.so.6 + 0x888bc)#012#2  0x0000558bca216080 _ZN8cCondVar9TimedWaitER6cMutexi (vdr + 0x159080)#012#3  0x0000558bca183e58 _ZN9cDvbTuner6ActionEv (vdr + 0xc6e58)#012#4  0x0000558bca216731 _ZN7cThread11StartThreadEPS_ (vdr + 0x159731)#012#5  0x00007f372e8a61f5 n/a (libc.so.6 + 0x891f5)#012#6  0x00007f372e9268dc n/a (libc.so.6 + 0x1098dc)#012#012Stack trace of thread 3597:#012#0  0x00007f372e8a2f16 n/a (libc.so.6 + 0x85f16)#012#1  0x00007f372e8a58bc pthread_cond_timedwait (libc.so.6 + 0x888bc)#012#2  0x0000558bca215ede _ZN9cCondWait4WaitEi (vdr + 0x158ede)#012#3  0x0000558bca1ece3a _ZN17cRingBufferLinear3GetERi (vdr + 0x12fe3a)#012#4  0x00007f372c4bbfaa _ZN10cTcpWriter6ActionEv (libvdr-xineliboutput.so.2.6.0 + 0x56faa)#012#5  0x0000558bca216731 _ZN7cThread11StartThreadEPS_ (vdr + 0x159731)#012#6  0x00007f372e8a61f5 n/a (libc.so.6 + 0x891f5)#012#7  0x00007f372e9268dc n/a (libc.so.6 + 0x1098dc)#012#012Stack trace of thread 3403:#012#0  0x00007f372e8a2f16 n/a (libc.so.6 + 0x85f16)#012#1  0x00007f372e8a58bc pthread_cond_timedwait (libc.so.6 + 0x888bc)#012#2  0x0000558bca215ede _ZN9cCondWait4WaitEi (vdr + 0x158ede)#012#3  0x0000558bca1ece3a _ZN17cRingBufferLinear3GetERi (vdr + 0x12fe3a)#012#4  0x00007f372dc81e35 _ZN25cIptvSectionFilterHandler6ActionEv (libvdr-iptv.so.2.6.0 + 0x81e35)#012#5  0x0000558bca216731 _ZN7cThread11StartThreadEPS_ (vdr + 0x159731)#012#6  0x00007f372e8a61f5 n/a (libc.so.6 + 0x891f5)#012#7  0x00007f372e9268dc n/a (libc.so.6 + 0x1098dc)#012#012Stack trace of thread 3401:#012#0  0x00007f372e8a2f16 n/a (libc.so.6 + 0x85f16)#012#1  0x00007f372e8a58bc pthread_cond_timedwait (libc.so.6 + 0x888bc)#012#2  0x0000558bca216080 _ZN8cCondVar9TimedWaitER6cMutexi (vdr + 0x159080)#012#3  0x0000558bca183e58 _ZN9cDvbTuner6ActionEv (vdr + 0xc6e58)#012#4  0x0000558bca216731 _ZN7cThread11StartThreadEPS_ (vdr + 0x159731)#012#5  0x00007f372e8a61f5 n/a (libc.so.6 + 0x891f5)#012#6  0x00007f372e9268dc n/a (libc.so.6 + 0x1098dc)#012#012Stack trace of thread 3407:#012#0  0x00007f372e8a2f16 n/a (libc.so.6 + 0x85f16)#012#1  0x00007f372e8a58bc pthread_cond_timedwait (libc.so.6 + 0x888bc)#012#2  0x0000558bca215ede _ZN9cCondWait4WaitEi (vdr + 0x158ede)#012#3  0x0000558bca1ece3a _ZN17cRingBufferLinear3GetERi (vdr + 0x12fe3a)#012#4  0x00007f372dc81e35 _ZN25cIptvSectionFilterHandler6ActionEv (libvdr-iptv.so.2.6.0 + 0x81e35)#012#5  0x0000558bca216731 _ZN7cThread11StartThreadEPS_ (vdr + 0x159731)#012#6  0x00007f372e8a61f5 n/a (libc.so.6 + 0x891f5)#012#7  0x00007f372e9268dc n/a (libc.so.6 + 0x1098dc)#012#012Stack trace of thread 3406:#012#0  0x00007f372e91925f __poll (libc.so.6 + 0xfc25f)#012#1  0x0000558bca1eeb7f _ZN15cSectionHandler6ActionEv (vdr + 0x131b7f)#012#2  0x0000558bca216731 _ZN7cThread11StartThreadEPS_ (vdr + 0x159731)#012#3  0x00007f372e8a61f5 n/a (libc.so.6 + 0x891f5)#012#4  0x00007f372e9268dc n/a (libc.so.6 + 0x1098dc)#012#012Stack trace of thread 3409:#012#0  0x00007f372e8a2f16 n/a (libc.so.6 + 0x85f16)#012#1  0x00007f372e8a58bc pthread_cond_timedwait (libc.so.6 + 0x888bc)#012#2  0x0000558bca215ede _ZN9cCondWait4WaitEi (vdr + 0x158ede)#012#3  0x0000558bca1ece3a _ZN17cRingBufferLinear3GetERi (vdr + 0x12fe3a)#012#4  0x00007f372dc81e35 _ZN25cIptvSectionFilterHandler6ActionEv (libvdr-iptv.so.2.6.0 + 0x81e35)#012#5  0x0000558bca216731 _ZN7cThread11StartThreadEPS_ (vdr + 0x159731)#012#6  0x00007f372e8a61f5 n/a (libc.so.6 + 0x891f5)#012#7  0x00007f372e9268dc n/a (libc.so.6 +

    :vdr1 $myVDR

  • Hier das syslog:

    Das Log ist schwer zu lesen. Hast du gdb auf dem System installiert und kannst du vdr mit gdb starten?
    Rauslesen kann ich nur, daß der crash in der httplib stattfindet - also weit vor dem Aufruf von FFmpeg und zwar bei dem Versuch, die m3u-URL zu laden.

    Was ich aber auf jeden Fall sehen kann, das meine Version von cpp-httplib schon stark veraltet ist und dringend aktualisiert gehört.

  • Die Version der cpp-httplib habe ich aktualisiert. Das war schon ein größerer Versionssprung.

    Hast du ein 32- oder 64-Bit System laufen?

    Alles klar ich teste die Version mal ...

    Das System ist 64bit.

    Info für Meldungspuristen oder Typprüfungsfetischisten:

    Code
    msgfmt -c -o po/ru_RU.mo po/ru_RU.po
    radioimage.cpp: In member function ‘void cRadioImage::SetBackgroundImage(const char*)’:
    radioimage.cpp:185:17: warning: ignoring return value of ‘int asprintf(char**, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
      185 |         asprintf(&imagepath, "%s", Image);
          |         ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~

    :vdr1 $myVDR

  • Ergebnis: leider core dump ... ich gucke mal was mit gdb raus kommt ... melde mich. Immerhin sieht man, dass er die URL korrekt extrahiert. Danach knallt es ...

    Code
    2026-04-15T19:14:01.839880+02:00 vdr1 vdr: [5011] IPTV1: cIptvTransponderParameters::cIptvTransponderParameters(const char*) (S=1|P=0|F=M3U|U=m3u-list-main.cfg|H=F|Y=0|A=1)
    2026-04-15T19:14:01.839931+02:00 vdr1 vdr: [5011] IPTV1: bool cIptvTransponderParameters::Parse(const char*) (S=1|P=0|F=M3U|U=m3u-list-main.cfg|H=F|Y=0|A=1)
    2026-04-15T19:14:01.839976+02:00 vdr1 vdr: [5011] IPTV1: virtual bool cIptvDevice::SetChannelDevice(const cChannel*, bool) [device 0]
    2026-04-15T19:14:01.840048+02:00 vdr1 vdr: [5011] IPTV1: bool cIptvStreamer::SetSource(cIptvProtocolIf*, SourceParameter) (m3u-list-main.cfg, 1, 0, ChannelNumber: 83)
    2026-04-15T19:14:01.840098+02:00 vdr1 vdr: [5011] IPTV1: virtual bool cIptvProtocolM3U::SetSource(SourceParameter) (m3u-list-main.cfg, 1, 0)
    2026-04-15T19:14:01.844195+02:00 vdr1 vdr: [5011] IPTV1: Found URL https://daserste-live.ard-mcdn.de/daserste/live/hls/de/master.m3u8
    2026-04-15T19:14:01.844340+02:00 vdr1 vdr: [5011] IPTV1: virtual bool cIptvProtocolM3U::SetSource(SourceParameter) (6, https://daserste-live.ard-mcdn.de/daserste/live/hls/de/master.m3u8)
    2026-04-15T19:14:01.844390+02:00 vdr1 vdr: [5011] IPTV1: virtual bool cIptvProtocolM3U::Open()
    2026-04-15T19:15:04.077055+02:00 vdr1 systemd-coredump[6087]: Process 5011 (vdr) of user 1000 dumped core.#012#012Module libnss_systemd.so.2 from deb systemd-252.39-1~deb12u1.amd64#012Module libsystemd.so.0 from deb systemd-252.39-1~deb12u1.amd64#012Stack trace of thread 5011:#012#0  0x00007f9e056a8eec n/a (libc.so.6 + 0x8aeec)#012#1  0x00007f9e05659fb2 raise (libc.so.6 + 0x3bfb2)#012#2  0x00007f9e05644472 abort (libc.so.6 + 0x26472)#012#3  0x00007f9e0569d42f n/a (libc.so.6 + 0x7f42f)#012#4  0x00007f9e056b286a n/a (libc.so.6 + 0x9486a)#012#5  0x00007f9e056b48d0 n/a (libc.so.6 + 0x968d0)#012#6  0x00007f9e056b6f4f __libc_free (libc.so.6 + 0x

    :vdr1 $myVDR

  • Ich bin jetzt nicht der gdb-Experte, aber m Makefile habe ich noch einen Abschnitt für debug hinzugefügt und mal die KI gefragt:

    Code
    ### debug
    debug: CFLAGS += -g -O0 -fno-omit-frame-pointer
    debug: CXXFLAGS += -g -O0 -fno-omit-frame-pointer
    debug: all

    :vdr1 $myVDR

  • Analyse KI:

    👉 Das Problem ist fast sicher ein Heap-Fehler (double free / invalid free / corruption) in deiner eigenen Klasse cListBase.

    Entscheidende Stelle im Backtrace

    Code
    #6  free ()
    #7  cListBase::Clear()
    #8  cListBase::~cListBase()

    👉 Dein Programm stirbt beim free() innerhalb von cListBase::Clear()
    → das ist nicht normalfree() ruft hier intern abort() → daher SIGABRT

    Ob die Analyse so stimmt, da bin ich mir nicht sicher ... aber evtl. kannst Du schon mal was damit anfangen ;)

    :vdr1 $myVDR

  • So nach einigem Hin- und Herdiskutieren mit der KI heisst es zumindest jetzt:

    Also das, was Du oben schon vermutet hast in der httplib ...

    :vdr1 $myVDR

    Edited once, last by berni123 (April 15, 2026 at 9:06 PM).

  • Ob die Analyse so stimmt, da bin ich mir nicht sicher ... aber evtl. kannst Du schon mal was damit anfangen

    Das ist ein wenig seltsam. cListBase wird im Plugin überhaupt nicht verwendet und ist zudem eine Klasse direkt aus dem VDR.

    Den BT ein wenig zusammengefasst sieht das für mich so aus:

    Code
    M3u8Handler::parseM3u, URL=/daserste/live/hls/de/master.m3u8?
    httplib::ClientImpl::Get
    httplib::detail::wait_until_socket_is_ready
    httplib::detail::poll_wrapper 
    poll () from /lib/x86_64-linux-gnu/libc.so.6
    <signal handler called>

    Ich denke mit dem Signal-Handler werden Aufräumarbeiten im VDR gestartet und daher kommt der Hinweis auf cListBase.
    Die Hauptursache scheint aber an den Sockets zu liegen: Segfault in poll() von libc. Wobei ich mich auch frage, woher das Fragezeichen am Ende der URL kommt.

    Eigentlich wollte ich nicht auf cURL umsteigen, da es nur um einen einfachen Request geht und der cURL Overhead dafür zu heftig ist. Ich muss mal suchen, ob es eine andere (sehr einfache) Alternative gibt.

  • Quote

    Wobei ich mich auch frage, woher das Fragezeichen am Ende der URL kommt.

    Kann das ? hier entstehen (m3u8handler.cpp), wenn query leer ist bleibt das ? am Ende übrig ...

    wird in parseM3u im else teil durch useYtdlp=0 aufgerufen:

    Code
    } else { // manual Version
            useUri = webUri;
            auto uri = splitUri(webUri);

    :vdr1 $myVDR

    Edited once, last by berni123 (April 17, 2026 at 10:36 AM).

  • Ich habe einen neuen HTTP Client hinzugefügt. Man kann jetzt zwischen dem neuen und dem alten wechseln. Einer von beiden muss jetzt aber funktionieren.

    Siehe hier

    Danke. Ich teste das mal ;)

    Ergebnis: mit -c 2 laufen die m3u List und URL Einträge ohne mit der Wimper zu zucken ;) ... Danke !!!!

    Note: die yt-dlp Test-Einträge werfen allerdings:

    Parameter ist: -y /usr/bin, da /usr/bin/yt-dlp ...

    ^^....^

    :vdr1 $myVDR

    Edited once, last by berni123 (April 18, 2026 at 9:49 PM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!