Gibt es eine Alternative zu DVB-C welche mit VDR funktioniert?

  • m syslog gibt es folgende Fehlermeldung, wenn ich zum Kanal 101 umschalte:

    Warum es an der Stelle eine Fehlermeldung gibt, verstehe ich nicht.

    Ich hatte den ersten Teil komplett kopiert, bis zum veränderten Teil sind wir gar nicht gekommen.

    Meine Vorlage war dieses Skript: RE: config vdr-plugin-iptv mit vlc2iptv Das verwendest Du doch auch?


    Einfach nur das neue Skript nach vlc2iptv_raw verlinken (oder umbennen), channels.conf nicht ändern!


    Jetzt kommt die Frage, wo weise ich denn dem Script die URLs von der telerisin.api zu, also den iptv channel?

    Wenn ich dein Script richtig lese, dann sollte das in /etc/vdr/plugins/iptv/vlcinput/ sein.

    Es war eigentlich so gedacht, dass die beiden Skripte (vlc/ffmpeg2iptv) ohne weitere Änderungen austauschbar sein sollten.

    Dass die Konfigurationen von vlcinput verwendet werden war also beabsichtigt.


    Das ist so erstmal zum Testen gedacht, so kann man die Varianten vergleichen, ohne weitere Änderungen machen zu müssen.


    I used the 'cksum' command to generate them (see above)

    vlc2iptv macht das wohl mit unterschiedlichen PIDs für die Kanäle. SID und TID tauchen beim VLC-Aufruf jedenfalls nicht auf.


    Ich hatte jetzt gehofft, es klappt mit den default Werten von ffmpeg, das war aber wohl nix.

    Was VLC da macht ist mir momentan nicht ganz klar, die Doku ist da lückenhaft.

    Ich hatte gehofft, dass ich mir das Sparen kann, aber wenn ich am WE Zeit habe muss ich wohl mal auszuprobieren, was bei VLC raus kommt.



    Die Defaultwerte von VLC für NID und TSID scheinen zufällig zu sein.

    Von daher müsste es mit ffmpeg eigentlich so gehen.

    Gruss
    SHF


    Einmal editiert, zuletzt von SHF ()

  • Some changes:


    #!/bin/bash dropped off

    HOST= line was wrong

    Simplified: use ‘sed’ to find and print the url line

    New URLS_CONF



    urls.conf line beispiel

    Code
    1050:http://192.168.1.3:5000/api/zde/live/ndr-niedersachsen.m3u8


    You can try and start it manually:


    ./ffmpeg2iptv_raw.sh 1050 4321


    The script should not throw an error

    4 Mal editiert, zuletzt von carel () aus folgendem Grund: Redirect to log file!

  • Ich habe heute noch etwas getestet.

    Meine channels.conf für die Streaming-Kanäle sieht jetzt folgendermaßen aus:

    Code
    :@101 IPTV-Sender Tel ffmpeg2iptv_raw-test
    Das Erste HD;IPTV:1010:S=0|P=1|F=EXT|U=ffmpeg2iptv_raw|A=1:I:0:258=27:256=@15;257=@122:0:0:1:0:0:0
    ZDF HD;IPTV:1020:S=0|P=1|F=EXT|U=ffmpeg2iptv_raw|A=2:I:0:258=27:256=@15;257=@122:0:0:1:0:0:0
    RBB Brandenburg HD;IPTV:1030:S=0|P=1|F=EXT|U=ffmpeg2iptv_raw|A=3:I:0:258=27:256=@15;257=@122:0:0:1:0:0:0


    Die Scripte von carel und SHF unterscheiden sich nur in der Funktion für die Auswahl der URLs für die einzelnen Kanäle/Streams.

    Zum testen werden beide Scripte jeweils über einen symbolischen Link als ffmpeg2iptv_raw benannt, also ohne *.sh. Deshalb musste auch die Zeile:

    local CHANNEL_RECORD=`grep "[:]S=[10][|]P=[10][|]F=EXT[|]U=ffmpeg2iptv_raw[|]A=$PARAMETER[:]I" $CHANNELS_CONF` entsprechend angepasst werden.


    Nach den Änderungen der Zeile HOST='127.0.0.1' habe ich in beiden Scripts nur noch 1 Fehlermeldung, die bei beiden gleich ist! :!:

    Beim Script von SHF gibt es noch in /etc/vdr/plugins/iptv/vlcinput jeweils ein Datei mit der URL, wie z.B. Das Erste HD, welche beim ursprünglichen alten Script: vlc2iptv_raw einwandfrei funktionieren:

    Code
    URL="http://192.168.1.3:5000/api/zde/live/ard.m3u8"

    Wenn ich nun auf den Streamingkanal 101 schalte, dann kommt folgende Fehlermeldung:

    Code
    Mar 23 17:17:43 yavdr vdr: [1245] switching to channel 101 I-0-1010-1 (Das Erste HD)
    Mar 23 17:17:43 yavdr vdr[3520]: /usr/share/vdr/plugins/iptv/ffmpeg2iptv_raw: Zeile 92: 1: Keine Berechtigung

    Die Zeile #92 ist folgende: LC_NUMERIC=C ffmpeg \




    Mein Test mit dem Script von carel zeigt genau die gleiche Fehlermeldung!

    Für die Verwendung vom Script carel habe ich noch folgende Datei /etc/vdr/plugins/iptv/urls.conf angelegt:

    Code
    1:http://192.168.1.3:5000/api/zde/live/ard.m3u8
    2:http://192.168.1.3:5000/api/zde/live/zdf.m3u8
    3:http://192.168.1.3:5000/api/zde/live/rbb-brandenburg.m3u8

    Hier kommt bei Aufruf von Streamingkanal 101 die Fehlermeldung:

    Code
    Mar 23 17:33:40 yavdr vdr: [2336] switching to channel 101 I-0-1010-1 (Das Erste HD)
    Mar 23 17:33:40 yavdr vdr[2620]: /usr/share/vdr/plugins/iptv/ffmpeg2iptv_raw: Zeile 70: 1: Keine Berechtigung

    Die Zeile #70 ist folgende: LC_NUMERIC=C ffmpeg \ . also genau an der gleichen Stelle, wie im anderen Script von SHF


    Ich hoffe das hilft Euch bei der Fehlersuche! ;)

    Einmal editiert, zuletzt von Paulaner ()

  • Die Zeile #70 ist folgende: LC_NUMERIC=C ffmpeg \ . also genau an der gleichen Stelle, wie im anderen Script von SHF

    So war das auch beabsichtigt.

    Meins sollte, wenn alles klappt wie es soll, mit den ganzen VLC-Skripten austauschbar sein.

    Die Scripte von carel und SHF unterscheiden sich nur in der Funktion für die Auswahl der URLs für die einzelnen Kanäle/Streams.

    Das ist nicht verwunderlich, die Zeilen hatte ich aus dem anderen Skript kopiert.

    Das LC_NUMERIC=C setzt lediglich eine Umgebungsvariable und sollte unproblematisch sein. Das hat wohl mit dem Dezimalpunt/Komma zu tun.

    Dann kommt gleich der Aufruf von ffmpeg.

    Der zieht sich übrigens noch über mehrere Zeilen hin, der Backslash \ "entfernt" quasi den Zeilenumbruch. Das heisst, die nächsten Zeilen gehören zu den Aufruf auch noch dazu. (Mit Zeilenumbruch ist es lediglich besser lesbar.)


    Den eigentlichen Fehler hat carel ja wohl schon beseitigt.

    Wenn es weiterhin Fehler gibt, darauf achten ob der VDR in /tmp/ffmpeg.log auch schreiben darf.

    Und auch wenn es geht, kann, mal einen Blick in die Datei kann werfen, auch nicht schaden ;) .

    Gruss
    SHF


  • carel

    es geht vorwärts! ;)

    mit der Änderung >/tmp/ffmpeg.log bekomme ich keine Fehlermeldungen mehr im syslog, nur noch die Bestaätigung des Wechsels auf den Kanal 101:

    Code
     Mar 23 23:24:33 yavdr vdr: [32532] switching to channel 101 I-0-1010-1 (Das Erste HD)


    Dafür gibt es im neuen /tmp/ffmpeg.log jetzt folgende Meldungen:

    Code
    1:http://192.168.1.3:5000/api/zde/live/ard.m3u8
    1:http://192.168.1.3:5000/api/zde/live/ard.m3u8
    2:http://192.168.1.3:5000/api/zde/live/zdf.m3u8
    3:http://192.168.1.3:5000/api/zde/live/rbb-brandenburg.m3u8?buffer_size=16777216: Protocol not found
    Did you mean file:1:http://192.168.1.3:5000/api/zde/live/ard.m3u8
    1:http://192.168.1.3:5000/api/zde/live/ard.m3u8
    2:http://192.168.1.3:5000/api/zde/live/zdf.m3u8
    3:http://192.168.1.3:5000/api/zde/live/rbb-brandenburg.m3u8?buffer_size=16777216?


    Die dabei für die Streamingkanäle verwendete /var/lib/vdr/channels.conf und die entsprechende /etc/vdr/plugins/iptv/urls.conf habe ich im oberen Beitrag #103 bereits gepostet.


    Die Syntax in der urls.conf scheint hier noch nicht richtig zu sein. Oder?

    Hast Du da noch eine Idee, was ich testen kann?

  • SHF

    wenn ich die Änderung von carel mit Deinem Script teste, dann habe ich auch im syslog nun keine Fehlermeldung mehr,

    aber dafür in der neuen /tmp/ffmpeg.log nur folgende Meldung:

    Code
    ?buffer_size=16777216: No such file or directory


    Mehr kommt da nicht. Kannst Du da mal nachschauen, wo es da noch hakt?


    Für heute ist allerdings dann erstmal Schluss, es geht dann frühestens Morgen weiter! ;)

  • Crap..


    Can you change the lines in urls.conf from


    1:http.. to 1,http.. as in:

    Code
    1,http://192.168.1.3:5000/api/zde/live/ard.m3u8


    And you need (random but unique) values for SID, and TID in channels.conf. NID can be 65281 for all channels. Example:

    Code
    Das Erste HD;IPTV:1010:S=0|P=1|F=EXT|U=ffmpeg2iptv_raw|A=1:I:0:258=27:256=@15;257=@122:0:0:100:65281:200:0

    Here I chose 100 and 200

    Next line might have 300 and 400

    And so on


    Next try 😊


    Just try to start manually once to verify no errors are raised

    Code
    ./ffmpeg2iptv_raw 1 4321
  • carel

    ich habe alle Änderungen von Dir übernommen und es sieht nicht schlecht aus, obwohl noch kein Bild+Ton da sind. :)


    In der syslog gibt es folgende Meldung wenn ich zum Streamingkanal umschalte.

    Die Meldungen bedeuten, dass der Stream empfangen wird:

    Code
    Mar 24 12:08:47 yavdr vdr: [2759] switching to channel 101 I-65281-200-100 (Das Erste HD)
    Mar 24 12:08:47 yavdr api[1635]: 192.168.1.3 - - [24/Mar/2024 12:08:47] "GET /api/zde/live/ard.m3u8?buffer_size=16777216 HTTP/1.1" 200 -


    In der /tmp/ffmpeg.log gibt es jetzt folgende Meldungen:

    Das sieht schon nicht schlecht aus, bis auf die letzte Zeile: 4096: Permission denied

    Vielleicht hast Du dafür auch noch eine Lösung, denn der Rest scheint ja schon zu funktionieren! ;)


    PS: Ich weiß nicht ob das wichtig ist, aber die Zahl 4096 habe ich schon im TVheadend Status -> Stream gesehen, denn da wird eine PID list angezeigt.

    Diese PID list ist bei allen von mir verwendeten Streams gleich und sieht so aus:  0,1,16,17,256,257,258,4096 

  • Mit dem VLC-Player unter Windows10 kann ich problemlos den Stream sehen.

    VLC-Player starten -> Medien -> Netzwerkstream öffnen -> Eingabe von: http://192.168.1.3:5000/api/zde/live/ard.m3u8 und nach ein paar Sekunden sind Bild+Ton da.



    Auch direkt mit dem VDR und dem vdr-plugin-iptv kann ich den Stream schon direkt anschauen.

    Dazu muss ich in der channels.conf folgenden Eintrag einfügen:

    Code
    Das Erste HD;IPTV:710:S=0|P=1|F=EXT|U=vlc2iptv_raw|A=710:I:0:258=27:256=@15;257=@122:0:0:1:0:0:0

    und dazu gibt es dann noch in /etc/vdr/plugins/iptv/vlcinput eine Datei Das Erste HD.conf  mit dem Inhalt:

    Code
    URL="http://192.168.1.3:5000/api/zde/live/ard.m3u8"

    Hier gibt es nur einen wesentlichen Nachteil, das Umschalten zwischen den Sendern dauert sehr lange, ca. 20 Sekunden und manchmal klappt es gar nicht.

    Also nicht praktikabel für den produktiven Einsatz und deshalb gibt es ja den Versuch das Ganze ohne den VLC-Player zu machen, sondern mit  ffmpeg wie es auch im TVheadend verwendet wird.



    Hier noch die Ausgabe von: ffprobe http://192.168.1.3:5000/api/zde/live/ard.m3u8:

  • carel

    was hat diese Zahl 4096 in Zeile #5 zu bedeuten?

    Kann daraus der Fehler kommen?

    Code
    LC_NUMERIC=C ffmpeg \
    -y -hide_banner -user_agent "Mozilla/5.0" -reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 1 $CORRECT_TS_OVERFLOW \
    $DISCARD_CORRUPT_PACKAGES -probesize $PROBESIZE -analyzeduration $ANALYZEDURATION $STREAM_FORMAT -i "${URL}${BUFFER}" \
    -codec:v $VCODEC $VCODEC_OPTIONS -codec:a $ACODEC $ACODEC_OPTIONS -streamid 0:$VPID -streamid 1:$APID $FLUSH_PACKETS \
    -f mpegts -mpegts_transport_stream_id $TID -mpegts_pmt_start_pid 4096 -mpegts_service_id $SID \
    -mpegts_original_network_id $NID udp://$HOST:$PORT?pkt_size=1316\&buffer_size=65536\&overrun_nonfatal=1 &>/tmp/ffmpeg.log &
  • Okay, next step next error ;)

    jetzt kommt in der /tmp/ffmprg.log diese Fehlermeldung (unterer Ausschnitt aus dem Log), siehe Zeile #28 + #29 :

  • Mit HOST=127.0.0.1 ergibt sich folgende Meldung im ffmpeg.log:


  • carel

    mit der letzten Änderung habe ich das erste mal ein Bild und auch manchmal Ton. :)


    Das Bild ist allerdings zerhackt, ruckelt, bleibt stehen und es gibt viele Blockartefakte.

    Der Ton ist manchmal da, aber meistens kein Ton.


    Hier das ffmpeg.log:

    Ich musste das Log kürzen, da es sonst die 10.000 Zeichen überschritten hätte.

    Aber ich hoffe Du kannst mit dem Log etwas anfangen.

  • Ich kann heute nicht mehr weiter machen, habe erst Morgen wieder etwas Zeit für den VDR ;)

Jetzt mitmachen!

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