[iptv] m3u, stream, radio Erweiterung

  • Man kann in der channels.conf für RADIO, STREAM und M3U wählen, ob der Stream per FFmpeg oder vlc gelesen werden soll. Der Default ist aber weiterhin FFmpeg.


    Dazu gibt es es den neuen Parameter H mit H=F (für FFmpeg) und H=V (für vlc).

    Beispiele für vlc:

    Code
    1LIVE:80:S=1|P=0|F=RADIO|U=http%3A//wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3|A=8|H=V:I:0:0:257=@3:0:0:1:1:16:8
    NASA;FFmpeg:3010:S=1|P=0|F=M3U|U=other.cfg|A=1|H=V:I:0:256=27:257@15:0:0:1:1:1:0

    Aber eine Warnung vorweg. Schaltet man den PID-Handler ein P=1, dann wird kein gutes Ergebnis sicht- und hörbar.


    Desweiteren erhalte ich mit vlc viele Audio-Drifts, slow downs, speed ups und dergleichen. Auch wird häufig ein retune durch VDR durchgeführt. Das ist alles andere als gut. Wobei ich noch nicht weiß, wo das Problem liegt.

    Speichere ich den vlc Stream einfach nur, wird der auch sauber abgespielt (durch ffplay und vlc).


    Ein Vergleich des ts-Streams zwischen FFmpeg und vlc wird wohl vonnöten sein. Irgendwas passt nicht.

  • I have exactly the opposite. Tested only radio channells . Zapping with the FFmpeg i note a sort of micro stop and go as with Vlc I have no problem at all.

    Extract of channell.conf I use

    Code
    :test_vlc_ffmpeg
    The Outlaw vlc:240:S=1|P=0|F=RADIO|U=https%3A//ice24.securenetsystems.net/OUTLAW|A=24|H=V:I:0:0:257:0:0:24:1:34:24
    The Outlaw ffmpeg:250:S=1|P=0|F=RADIO|U=https%3A//ice24.securenetsystems.net/OUTLAW|A=25|H=F:I:0:0:257:0:0:25:1:35:25
    Aardvark Blues FM vlc :260:S=1|P=0|F=RADIO|U=https%3A//edge3.peta.live365.net/b77280_128mp3|A=26|H=V:I:0:0:257:0:0:26:1:36:26
    Aardvark Blues FM ffmpeg:270:S=1|P=0|F=RADIO|U=https%3A//edge3.peta.live365.net/b77280_128mp3|A=27|H=F:I:0:0:257:0:0:27:1:37:27
  • Zapping with the FFmpeg i note a sort of micro stop and go as with Vlc I have no problem at all.

    With all 4 channels i have no issue. Both ffmpeg and vlc are working as desired.

    It probably depends on the version of ffmpeg and vlc: ffmpeg 6.0 and vlc 3.0.21-0-gdd8bfdbabe8

    But i just saw, that my vlc installation looks really strange and it seems to be a mixup of different versions. And after a reinstallation everything looks really much better.


    Okay. Then the user has the choice to use either ffmpeg or vlc :)

  • Meines Erachtens gehören die Konfigurationsdateien in das ConfigDirectory (Standard laut vdr Makefile: /var/lib/vdr) und nicht in das ResourceDirectory (Standard laut vdr Makefile /usr/local/share/vdr). Tatsächlich sucht das iptv-Plugin die cfg-Dateien aber in /usr/local/share/vdr/plugins/iptv.

    Das Plugin kennt jetzt den Parameter -m <path>/--m3u-config-path=<path> mit dem das Verzeichnis festgelegt werden kann, in dem die Konfigurationsdateien für m3u zu finden sind.

  • Hi, danke für die tolle Vereinfachung/Weiterentwicklung vom IPTV Plugin!

    Ich versuche das mit VDR*Elec auf meinem CoreELEC zu bauen. Habe dein git neu gepulled und auf dem client installiert, ich bekomme aber bei jeder URL folgender Meldung:


    [4229] IPTV-ERROR: gethostbyname() failed: http%3A//wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3 is not valid address: Operation not permitted


    habe dabei den Kanal von oben einfach mit copy paste verwendet... Was übersehe ich hier oder mache ich hier falsch?


    Danke im Voraus für die Hilfe!

  • [4229] IPTV-ERROR: gethostbyname() failed: http%3A//wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3 is not valid address: Operation not permitted

    Das Beispiel von oben nutzt vlc und das scheint nicht installiert zu sein. Ein weiteres TODO....

    Ändere mal in der channels.conf den Eintrag von H=V auf H=F, damit ffmpeg verwendet wird und probiere es nochmal.

  • wie sieht die komplette channels.conf-Zeile aus?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Das Beispiel von oben nutzt vlc und das scheint nicht installiert zu sein. Ein weiteres TODO....

    Ändere mal in der channels.conf den Eintrag von H=V auf H=F, damit ffmpeg verwendet wird und probiere es nochmal.

    1LIVE:90:S=1|P=0|F=RADIO|U=http%3A//wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3|A=9|H=F:I:0:0:257=@3:0:0:1:1:16:8


    sorry - das hatte ich natürlich nicht erwähnt, habe auf H=F gewechselt gehabt.


    auch einen 2. testsender mag er nicht:

    Naxi_80s:80:S=1|P=1|F=RADIO|U=http%3A//naxidigital-80s128.streaming.rs%3A8040/|A=8|H=F:I:0:0:257=@3:0:0:1:1:16:0


    kommt mit derselben fehlermeldung...

  • Ich muss erstmal selber ins System springen und testen.

    Okay. Jetzt bin ich verwirrt. Ich sowohl 1LIVE, als auch Naxi_80s in die channels.conf eingetragen (copy/paste) und ich höre beide Radio-Kanäle. Mein letztes Update ist vom Freitag. Sollte also kein Problem sein - hoffe ich.


    Versuch mal ein /usr/local/bin/svdrpsend plug iptv trac 255 und schau mal, ob du im log (journalctl) etwas findest, wenn du auf einen der Kanäle wechselst.

  • Aug 05 14:32:22 BedroomTV vdr[17773]: [17773] IPTV1: bool cIptvSocket::OpenSocket(int, bool) (8, 1)

    Aug 05 14:32:22 BedroomTV vdr[17773]: [17773] IPTV1: bool cIptvUdpSocket::DropMulticast()

    Aug 05 14:32:22 BedroomTV vdr[17773]: [17773] IPTV1: bool cIptvUdpSocket::OpenSocket(int, const char*, const char*, bool) (9, http%3A//wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3, http%3A//wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3, 0)

    Aug 05 14:32:22 BedroomTV vdr[17773]: [17773] IPTV1: bool cIptvSocket::CheckAddress(const char*, in_addr_t*) (http%3A//wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3, ) Cannot convert to address

    Aug 05 14:32:22 BedroomTV vdr[17773]: [17773] IPTV-ERROR: gethostbyname() failed: http%3A//wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3 is not valid address: Operation not permitted

    Aug 05 14:32:22 BedroomTV vdr[17773]: [17773] IPTV1: bool cIptvSocket::CheckAddress(const char*, in_addr_t*) (http%3A//wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3, ) Cannot convert to address

    Aug 05 14:32:22 BedroomTV vdr[17773]: [17773] IPTV-ERROR: gethostbyname() failed: http%3A//wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3 is not valid address: Operation not permitted

    Aug 05 14:32:22 BedroomTV vdr[17773]: [17773] IPTV1: bool cIptvSocket::OpenSocket(int, bool) (9, 1)

    Aug 05 14:32:22 BedroomTV vdr[17773]: [17773] IPTV1: bool cIptvSocket::OpenSocket(int, bool) (9, 1) Socket tear-down

    Aug 05 14:32:22 BedroomTV vdr[17773]: [17773] IPTV1: void cIptvSocket::CloseSocket()

    Aug 05 14:32:22 BedroomTV vdr[17773]: [17773] IPTV1: bool cIptvUdpSocket::JoinMulticast()

    Aug 05 14:32:22 BedroomTV vdr[17773]: [17773] [socket.c,190]: setsockopt(IP_ADD_MEMBERSHIP): Invalid argument


    vermutlich etwas ziemlich Banales, oder der Fehler sitzt mal wieder an der Tastatur :) DNS Auflösung funktioniert jedenfalls, die habe ich vorhin per nslookup getestet..

  • UDP ist der Default, wenn F=RADIO nicht erkannt nicht. Irgendwie sieht es so aus, als ob das Plugin nicht aktuell ist.

    Gerade ein Update von VDR*ELEC gemacht, installiert und es läuft.


    Das Log müsste in etwa so aussehen:

    Da sieht man schön die Klasse, die für RADIO zuständig ist:

    virtual bool cIptvProtocolRadio::SetSource

    Und eben den ffmpeg Aufruf.


    Die letzten beiden commits von iptv sind noch nicht in VDR*ELEC, sollten aber nicht diese Auswirkungen haben.

    Ich komme nicht dahinter...


    Wenn du VDR*ELEC schon gebaut hast, dann hilft vielleicht ein Erzwingen des Recompile von iptv:

    Code
    cd CoreELEC
    scripts/clean _vdr-plugin-iptv
  • ich glaube ich starte morgen mal ganz neu, habe mir einen anderen Fehler eingefangen:


    ERROR: libXrandr.so.2: cannot open shared object file: No such file or directory


    danke für die Tipps bisher!

  • Hi Zabrimus


    With the latest version from today VDR crashes when I stop it (TERM) even when I'm not tuned to an IPTV channel at all

    Hopefully below dump helps here


    And thanks for working on the plugin!



Participate now!

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