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

  • Zabrimus Ich lese hier nur am Rande mit, aber https://github.com/Zabrimus/remotetranscode beschäftigt sich doch eigentlich mit einem ähnlichen Szenario, Streams aus dem Web im TS- Container für den VDR aufzubereiten, oder?

  • Ich lese hier nur am Rande mit, aber https://github.com/Zabrimus/remotetranscode beschäftigt sich doch eigentlich mit einem ähnlichen Szenario, Streams aus dem Web im TS- Container für den VDR aufzubereiten, oder?

    Im Prinzip macht der nichts anderes. Wobei ffmpeg die Hauptarbeit macht und den Transcode zu einem TS-Stream übernimmt, der dann dem Plugin zum Abspielen vorgelegt wird. Theoretisch müsste alles was ffmpeg lesen kann, auch gesendet werden können. Aus Zeitgründen bin ich aber leider noch nicht dazu gekommen, ein wenig mehr mit dem Gesamtsystem zu spielen.

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

    Der Ton ist manchmal da, aber meistens kein Ton.

    Try following:

    Code
    sudo sysctl -w net.core.rmem_max=2097152
    sudo sysctl -w net.core.rmem_default=2097152
    sudo sysctl -w net.core.wmem_max=2097152
    sudo sysctl -w net.core.wmem_default=2097152

    I’ve seen that VLC works, but ffmpeg needs above lines to get performant udp streaming

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

    $URL scheint leer zu sein.

    Die kommt aus der Konfigurationsdatei für den Kanal.

    Wenn es mit der VLC-Variante von den Skript geht, sollte es das eigentlich auch hier.

    Evtl. ist da irgendwo noch was falsch, was ich nicht sehe, oder es liegt an der verwendeten Shell.

    Du könntest mal versuchen das "#!/bin/bash" wieder in "#!/bin/sh", wie im Originalskript zu ändern.


    Zum weiteren testen kannst Du auch erstmal nur mit dem Skript von carel weiter machen, das geht momentan besser.

    Ich denke das spart Zeit, wenn das andere Skript geht ziehe ich die Änderungen nach.


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

    Der Ton ist manchmal da, aber meistens kein Ton.

    Ich hatte irgendwo im Zusammenhang mit der Telerising.api von derartigen Problemen gelesen.

    Irgendwas war da mit ffmpeg und hls7 und im Log taucht "hls7" auf.


    Ich lese hier nur am Rande mit, aber https://github.com/Zabrimus/remotetranscode beschäftigt sich doch eigentlich mit einem ähnlichen Szenario, Streams aus dem Web im TS- Container für den VDR aufzubereiten, oder?

    Das Thema kenne ich, hatte es bislang aber nur am Rande verfolgt, obwohl ich die ganze HBBTV-Geschichte echt interessant finde.

    Die Hauptinnovation von remotetranscode, die Ich sehe ist, dass der Aufruf von ffmpeg direkt erfolgt und (wenn ich das richtig verstanden habe) die Pipes weg fallen. Das könnte bei Umschaltzeiten und Zuverlässigkeit einiges bringen.

    Eigentlich wollte ich mir das zwischen den Jahren mal ansehen, inzwischen ist der Winter aber auch schon wieder rum ...

    Gruss
    SHF


  • carel

    ich habe die von Dir empfohlenen Werte auf der Konsole ausgeführt:

    Code
    sudo sysctl -w net.core.rmem_max=2097152
    sudo sysctl -w net.core.rmem_default=2097152
    sudo sysctl -w net.core.wmem_max=2097152
    sudo sysctl -w net.core.wmem_default=2097152

    aber es gab keinerlei Änderung.

    Das Bild ist immer noch zerhackt, bleibt manchmal stehen und Ton habe ich gar keinen mehr. :(


    Im syslog gibt es jetzt diese Meldungen:


    Im ffmpeg.log gibt es ständig diese Meldungen:

  • Let's see if this is HLS related or something different.


    Can you replace one url from urls,conf with this one and switch to it:

    Code
    https://hse24.akamaized.net/hls/live/2006663/hse24/playlist.m3u8


    ffmpeg version and config, because I saw a version mismatch in the ffprobe dump:


    WARNING: library configuration mismatch - avcodec

    Maybe there's another version of the library floating around

    Code
    ffmpeg -version
    sudo find /usr -name "libavcodec.so.*" 


    And can you share the channels.conf channel line you tested with?

  • carel

    Die Meldung "WARNING: library configuration mismatch - avcodec" hatte ich auch gesehen und nach einer kurzen Recherche konnte ich die Warnung beseitigen. Meine Lösung aus dem Internet war:

    Code
    apt install --reinstall libavcodec58 libavdevice58 libavfilter7 libavformat58 libavutil56 libpostproc55 libswresample3 libswscale5


    Wenn ich jetzt ffprobe http://192.168.1.3:5000/api/zde/live/ard.m3u8 ausführe, dann ist da keine Warnung mehr vorhanden:


    Hier noch die gewünschten Angaben zu dem verwendeten ffmpeg :

    Ausgabe von ffmpeg -version

    Ausgabe von  sudo find /usr -name "libavcodec.so.*" 

    Code
    root@yavdr:/home/yavdr# sudo find /usr -name "libavcodec.so.*"
    /usr/lib/x86_64-linux-gnu/libavcodec.so.58.134.100
    /usr/lib/x86_64-linux-gnu/libavcodec.so.58


    Meine Tests habe ich immer mit folgendem Eintrag in der channels.conf  gemacht:

    Code
    :@101 IPTV 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:100:65281:200:0
    Das Erste HD;IPTV:1010:S=0|P=1|F=EXT|U=ffmpeg2iptv_raw|A=1:I:0:258=27:0:0:0:100:65281:200:0

    Allerdings löscht mir der VDR jetzt immer die APID,DPID 256=@15;257=@122: aus dem Eintrag (2. Zeile), obwohl diese richtig sind.

    Dann habe ich immer nur noch die 3. Zeile in der "channels.conf" stehen.


    Die Werte wie ind der 2. Zeile verwende ich zum Beispiel bei den Tests, wenn ich den VLC-Player mit dem Script vlc2iptv_raw nutze.

    damit habe ich dann beide Tonkanäle: AAC-Stereo und eAC3-5.1

    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
  • Ich musste meine Antwort teilen, weil sonst die maximal 10.000 Zeichen überschritten wurden. ;)


    Noch etwas zu dem Test mit der URL: https://hse24.akamaized.net/hls/live/2006663/hse24/playlist.m3u8

    Das geht überhaupt nicht, denn da kommen ca. 5.000 Meldungen mit dem gleichen Inhalt:

    [hls @ 0x55a214a58a00] Skip ('#EXT-X-PROGRAM-DATE-TIME:2024-03-25T12:54:03.601Z')


    Hier mal noch das stark gekürzte ffmpeg.log 

  • Code
    [MPEGTS muxer @ 0x55a217eb5dc0] Error setting option mpegts_transport_stream_id to value 0.

    Please configure your channels.conf with TID, SID and NID:


    Code
    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
  • Das kannst Du im iptv-Plugin evtl. Umgehen, indem Du dort „Benutze Abschnittsfilter“ auf ja stellst. Dann deaktivierte Filter auf 1 und Filter 1 auf „PAT (0x00)“.

    hilft das nicht gegen das ungewollte Entfernen der Audio-Pids in der channels.conf?

    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

  • hilft das nicht gegen das ungewollte Entfernen der Audio-Pids in der channels.conf?

    Ja, das habe ich schon so gemacht und klappt auch so. :thumbup:

    Wollte jetzt nur beim Testen sehen, ob es auch ohne Einschränkungen funktioniert.

  • Code
    [hls @ 0x55a214a58a00] Could not find codec parameters for stream 4 (Audio: aac ([15][0][0][0] / 0x000F), 0 channels, fltp): unspecified sample rate
    Consider increasing the value for the 'analyzeduration' (2000000) and 'probesize' (2000000) options
    [hls @ 0x55a214a58a00] Could not find codec parameters for stream 6 (Video: h264 ([27][0][0][0] / 0x001B), none): unspecified size
    Consider increasing the value for the 'analyzeduration' (2000000) and 'probesize' (2000000) options
    [hls @ 0x55a214a58a00] Could not find codec parameters for stream 7 (Audio: aac ([15][0][0][0] / 0x000F), 0 channels, fltp): unspecified sample rate
    Consider increasing the value for the 'analyzeduration' (2000000) and 'probesize' (2000000) options

    Can you set

    Code
    PROBESIZE="5000000" # bytes, 5MB default
    ANALYZEDURATION="5000000" # ms, 5 sec. default


    In the script?

    If ffmpeg still complains then increase with 1000000 until it's happy

    Lower values increase zapping speed, but here it's too low

  • carel

    ich hatte jetzt nochmal Zeit zum Testen.

    Die Einträge in der channels.conf habe ich geändert:

    Code
    :@101 IPTV 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:100:65281:200:0
    HSE24 HD;IPTV:1020:S=0|P=1|F=EXT|U=ffmpeg2iptv_raw|A=2:I:0:258=27:256=@15;257=@122:0:0:300:65281:400:0

    Jetzt habe ich auch ein Bild + Ton bei dem Sender HSE24. ;)

    Allerdings ist das Bild ist ebenso teilweise ruckelnd und hat Artefakte wie bei dem Stream von "Das Erste HD", den ich immer zum Testen genommen habe.

    Am unteren Bildrand hat es Schlieren und Artefakte, was besondres bei viel Bewegung im Bild deutlich zu sehen ist.

    Der Ton kommt in Stereo und ist auch manchmal ruckelnd.


    Das Verhalten bei "HSE24" ist genauso wie bei den Streams, die ich eigentlich empfangen möchte.

    Damit kannst Du testen, ob und wie es bei Dir funktioniert.



    Im ffmpeg.log gibt es tausende von den Meldungen, die ich bereits beschrieben habe.

    Hier mal noch das stark gekürzte ffmpeg.log

  • carel

    PROBESIZE="5000000" # bytes, 5MB default

    ANALYZEDURATION="5000000" # ms, 5 sec. default

    Habe ich eingestellt bzw. auch auf 10000000 erhöht, bringt aber keine Erfolge. :(


    Ich denke Du kannst jetzt selbst testen, mit dem Stream von HSE24.

    Denn hier habe ich das gleiche Verhalten, wie bei den anderen TV-Streams.


    Wenn es also irgendwann bei HSE24 richtig funktioniert, dann wird es auch bei den anderen Streams funktionieren. ;)

  • Runs like a charm


    This is my ffmpeg command running:

    Code
    ffmpeg -y -hide_banner -user_agent Mozilla/5.0 -reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 1 -probesize 8000000 -analyzeduration 8000000 -f hls -http_persistent 0 -re -i https://hse24.akamaized.net/hls/live/2006663/hse24/playlist.m3u8 -codec:v copy -codec:a copy -streamid 0:100 -streamid 1:200 -flush_packets -1 -f mpegts -mpegts_transport_stream_id 2836 -mpegts_pmt_start_pid 4096 -mpegts_service_id 6016 -mpegts_original_network_id 65281 udp://brix:4320?pkt_size=1316&buffer_size=65536&overrun_nonfatal=1


    Try to find obvious difference with your ffmpeg while running ‘HSE’

    Especially this part is important

    Code
     pkt_size=1316&buffer_size=65536&overrun_nonfatal=1
  • Ich habe mal einen Test gemacht und nur diesen Part pkt_size=1316&buffer_size=65536&overrun_nonfatal=1

    in der ffmpeg2iptv_raw geändert.

    Bei mir ergibt sich hier leider keinerlei Verbesserung gegenüber vorher. :(

  • Hi,

    Testet ihr denn mit vergleichbarer Hardware?

    MfG Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • This is my ffmpeg command running

    Damit geht bei mir gar nichts.

    Ausgabe sind lediglich zwei PIDs von ffmpeg, sonst nichts.


    Debian 11 mit entsprechendem ffmpeg aus den original Quellen.


    Especially this part is important

    Da scheint es bei mir zu hängen, wenn man die komplette URL quotet geht es!

    Ich vermute die "&" machen Probleme mit meiner Shell.


    Mit dem überarbeiteten Befehl geht es bei mir:

    Code
    ffmpeg -y -hide_banner -user_agent Mozilla/5.0 -reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 1 -probesize 8000000 -analyzeduration 8000000 -f hls -http_persistent 0 -re -i https://hse24.akamaized.net/hls/live/2006663/hse24/playlist.m3u8 -codec:v copy -codec:a copy -streamid 0:100 -streamid 1:200 -flush_packets -1 -f mpegts -mpegts_transport_stream_id 2836 -mpegts_pmt_start_pid 4096 -mpegts_service_id 6016 -mpegts_original_network_id 65281 "udp://localhost:4320?pkt_size=1316&buffer_size=65536&overrun_nonfatal=1"

    Den Stream kann ich mit Xine öffnen und ruckelfrei und ohne jegliche Aussetzer wiedergeben.

    Code
    xine udp://localhost:4320

    Mit VLC und Mplayer geht gar nichts, warum auch immer.

    Gruss
    SHF


Jetzt mitmachen!

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