vdr-live-plugin HTML5 Web-Streaming

  • wolfi.m der Pfad zu FFmpeg ist jetzt nur zu testzwecken so gewählt um möglichst wenig Konflikte zu haben. Da ich denke, dass es noch eine Weile dauert bis jede Distro mindestens 4.0 hat, muss ich mir da was überlegen. Am einfachsten währe wohl ein Konfigurierbarer Pfad.


    jsffm Die Dateityperkennung für den variablen Timeout ist jetzt verbessert und nicht mehr von /etc/mime.types abhängig.

    VDR: Zotac ZBOX EN860, 16GB RAM, 2 TB HDD, Debian Stretch, vdr-2.2.0, softhddevice, permashift, satip

  • Funktioniert noch nicht:



    vdr-User-# 755 to_h264 chk_r

  • jsffm ffmpeg hat nach 2 Versuchen jeweils nach 10 Sekunden noch keine /tmp/live-hls-buffer/master_1.m3u8 erstellt. Entweder liegt es an ffmpeg oder am streamdev-server...


    Was passiert wenn Du ffmpeg manuel startest:

    Code
    1. /tmp/ffmpeg -analyzeduration 2M -probesize 1M -i "http://localhost:3000/1" -map 0:v -map 0:a:0 -c:v copy -c:a aac -f hls -hls_time 1 -hls_start_number_source datetime -hls_allow_cache 0 -hls_flags delete_segments -master_pl_name master_1.m3u8 ffmpeg_1_data.m3u8


    Führ diesen Befehl mal einige Sekunden nach einem Neustart des VDR aus. Es sollten im aktuellen Verzeichniss einige Dateien erstellt werden, wobei die TS Dateien und die ffmpeg_1_data.m3u8 werden laufend durch neue ersetzt werden.

    VDR: Zotac ZBOX EN860, 16GB RAM, 2 TB HDD, Debian Stretch, vdr-2.2.0, softhddevice, permashift, satip


  • Code
    1. ls -l
    2. total 2740
    3. -rw-r--r-- 1 root root 368 3. Dez 13:55 ffmpeg_1_data.m3u8
    4. -rw-r--r-- 1 root root 482408 3. Dez 13:55 ffmpeg_1_data20181203135551.ts
    5. -rw-r--r-- 1 root root 499892 3. Dez 13:55 ffmpeg_1_data20181203135552.ts
    6. -rw-r--r-- 1 root root 499140 3. Dez 13:55 ffmpeg_1_data20181203135553.ts
    7. -rw-r--r-- 1 root root 492936 3. Dez 13:55 ffmpeg_1_data20181203135554.ts
    8. -rw-r--r-- 1 root root 582424 3. Dez 13:55 ffmpeg_1_data20181203135555.ts
    9. -rw-r--r-- 1 root root 228420 3. Dez 13:55 ffmpeg_1_data20181203135556.ts
    10. -rw-r--r-- 1 root root 101 3. Dez 13:55 master_1.m3u8


    vdr-User-# 755 to_h264 chk_r

  • jsffm

    [hevc @ 0x56037e038e50] Error parsing NAL unit #2.
    [hevc @ 0x56037e038e50] PPS id out of range: 1

    kann das die Ursache sein? ...mit H264 funktioniert es ja.


    Xcoder

    Da ich denke, dass es noch eine Weile dauert bis jede Distro mindestens 4.0 hat

    so ist es! Unter Ubuntu Trusty kein FFmpeg-4.x, da auch SHD(vpau) mit FFmpeg-4.0 nicht mehr funzt.


    Den Pfad für FFmpeg über Live zu konfigurieren, halte ich für eine sinnvolle Sache.


    Gruss

    Wolfgang

  • Mit h264



    vdr-User-# 755 to_h264 chk_r

  • Hi,


    Mit h264

    mein Logfile -> http://paste.ubuntu.com/p/8pChbPpsfB/


    Gruss

    Wolfgang

  • jsffm   wolfi.m

    Danke für die ffmpeg logs. Die h264 Meldungen sind normal. Wichtig ist, dass irgendwann die hls ... Opening xxx for writing kommen. Ob es mit HEVC gehen kann weis ich nicht. Ich habe nur h264-Sener erfolgreich getestet.


    Sobald also ffmepg läuft sollten Dateien in /tmp/live-hls-buffer/ auftauchen. Der Thread in FFmpegThread prüft ob das nach 10 Sekunden passiert und startet andernfalls ffmpeg noch mal neu und wartet noch einmal 10 Sekunden.


    Die Komponente pages/stream_data.ecpp wartet auch max 10 Sekunden auf das Auftauchen der master*.m3u8. Solange zeigt der Player die 3 Punkte. Gelegentlich muss man die Seite neu laden damit der Player in die Gänge kommt.


    Gemäss euren letzten logs funktioniert ffmpeg wenn es manuel gestartet wurde. Nun fragt sich ob das auch so ist wenn vdr-live ffmpeg started. Bitte also immer prüffen ob in /tmp/live-hls-buffer/ Dateien auftauchen.


    Gruss, Xcoder

    VDR: Zotac ZBOX EN860, 16GB RAM, 2 TB HDD, Debian Stretch, vdr-2.2.0, softhddevice, permashift, satip

  • Xcoder ,


    [Erledigt On]

    Nochmaliges git clone, alles Ok!

    [Erledigt Off]


    mit "commit:c0a7441 - Fix problem with TARGETDURATION=0 at start of streaming"

    Build auf Launchpad läuft nicht durch!

    Fehler:

    C
    1. CC pages/ menu.o
    2. CC pages/ recordings.o
    3. page_init.eh:6:23: fatal error: exception.h: No such file or directory
    4. #include <exception.h>
    5. ^
    6. compilation terminated.
    7. make[3]: *** [recordings.o] Error 1


    Siehe -> https://launchpadlibrarian.net…R1~trusty_BUILDING.txt.gz




    Gruss

    Wolfgang

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von wolfi.m ()

  • H264 läuft, stottert aber, hevc (DVB-T2) läuft nicht.


    vdr-User-# 755 to_h264 chk_r

  • Warum greift das plugin auf jsdelivr.net zu?


    vdr-User-# 755 to_h264 chk_r

  • mpeg2 geht auch nicht


    vdr-User-# 755 to_h264 chk_r

  • Warum greift das plugin auf jsdelivr.net zu?

    Vermutlich weil es im Header so hinterlegt ist ;D


    Hier beispielsweise:


    https://github.com/REELcoder/v…940/pages/stream.ecpp#L66


    mpeg2 geht auch nicht


    Im ersten Thread:


    Zitat

    Für die meisten Browser bedeutet das, dass nur HD Sender mit H264 Stream funktionieren.

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Ich hatte eben mit Firefox getestet, bei Chrome läuft das flüssiger.


    vdr-User-# 755 to_h264 chk_r

  • jsffm : Danke für dein Feedback. Ohne solche Hinweise würde ich einfach nur das implementieren was ich lustig und gut finde.


    Bei den Video-Codierungen haben wir ein Dilemma: Von den via DVB ausgestrahlten Formate bleibt nur h264 als Schnittmenge übrig. Safari kann noch h265/hevc. Also müsste man den Video-Stream auch transcodieren was aber ordentlich CPU braucht. Ich stelle mir vor, dass ich da eine Auswahl mache: kopieren, kleine Datenrate oder gute Qualität.


    jsdeliver: Der Einfachheit halber kommt der HTML5 Player von diesem Server. Mir ist aber bewusst, dass das wohl nicht alle gut finden. Ich habe mich noch nicht damit auseinandergesetzt wie der Player integriert werden kann und darf (Lizenz).


    Stottern: ich habe mit aktuellem Firefox oder Safari keine Probleme. Da aber bis 2MB/s durchlaufen ist eine halbwegs gute Verbindung notwendig...

    VDR: Zotac ZBOX EN860, 16GB RAM, 2 TB HDD, Debian Stretch, vdr-2.2.0, softhddevice, permashift, satip