[live] Streamen via Internet mit geringer Bandbreite

  • Hi *,

    das Subject nimmt es schon vorweg: Wie kann ich am besten via Internet eine Aufnahme aus live streamen, wenn die Bandbreite ziemlich mau ist.

    Es geht um das Abspielen in einem Mediaplayer, nicht um das Web-Streaming.

    Danke und ciao.

    Michael.

    VDR zwei drei
    • VDR 01 (Server): 2.7.2 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Das Streamen von Aufnahmen passiert letztendlich über streamdev (laut der URL in der m3u-Datei) - wenn der VDR flott genug ist, um das in Echtzeit zu transkodieren, kannst du da eine passende externremux.sh anlegen und die Streaming-URL erweitern, damit transkodiert wird: http://www.vdr-wiki.de/wiki/index.php/Externremux.sh

    Meine VDRs

    VDR 1: Point of View Ion-330-1, 2x Sundtek MediaTV Pro (DVB-C), Atric IR-Einschalter Rev.5, Ubuntu 18.04 (yavdr-ansible)
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    VDR 3: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 18.04 (yavdr-ansible), VDR 2.4.1, CIR-Empfänger
    Client 1: Raspberry Pi 2, Arch Linux ARM, VDR 2.3.8
    vdr-epg-daemon auf Cubietruck mit 32 GB SSD, Arch Linux ARM

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Das Streamen von Aufnahmen passiert letztendlich über streamdev (laut der URL in der m3u-Datei) - wenn der VDR flott genug ist, um das in Echtzeit zu transkodieren, kannst du da eine passende externremux.sh anlegen und die Streaming-URL erweitern, damit transkodiert wird: http://www.vdr-wiki.de/wiki/index.php/Externremux.sh

    Hm, ich habe ein solches Script, dessen Default bei DSL1000 steht, also dem kleinstmöglichen Wert für die Bandbreite.

    Offenbar wird das aber nicht genutzt.

    Was könnte da faul sein?

    VDR zwei drei
    • VDR 01 (Server): 2.7.2 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Hm, ich habe ein solches Script, dessen Default bei DSL1000 steht, also dem kleinstmöglichen Wert für die Bandbreite.

    Offenbar wird das aber nicht genutzt.

    Was könnte da faul sein?

    Es war nicht als Parameter angegeben, aber auch mit --remux wird es nicht genutzt.

    Man sieht im Log des VDR, dass streamdev-server loslegt, aber das Script wird nicht gestartet, zumindest gibt es nix ins Journal aus, obwohl "logger" sein Ausgabeprogramm ist.

    VDR zwei drei
    • VDR 01 (Server): 2.7.2 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Einstellungen -> Streamdev Stream Typ: "EXT"

    Ah, danke. Da hat dann auf der Kiste auch noch mencoder, d.h. MPlayer gefehlt.

    Jetzt kommt allerdings:

    Noch ne Idee evtl.?

    VDR zwei drei
    • VDR 01 (Server): 2.7.2 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Ich hab jetzt mal das "neueste" Script von 2015 hier aus dem Forum genommen, das VLC zum remuxen nutzt.

    Da startet das Remuxen, aber es gibt Unmengen an Meldungen im Journal:

    Code
    Sep 23 20:26:34 vdr[24141]: [9653] ERROR (extern.c,327): write failed: Datenübergabe unterbrochen (broken pipe)
    Sep 23 20:26:34 vdr[24141]: [9653] ERROR (extern.c,327): write failed: Datenübergabe unterbrochen (broken pipe)
    Sep 23 20:28:17 vdr[24141]: [9822] ERROR (thread.c,258): Keine Berechtigung
    Sep 23 20:28:17 vdr[24141]: [9823] ERROR (thread.c,258): Keine Berechtigung
    Sep 23 20:28:47 vdr[24141]: [10095] ERROR (thread.c,258): Keine Berechtigung
    Sep 23 20:28:47 vdr[24141]: [10096] ERROR (thread.c,258): Keine Berechtigung
    Sep 23 20:29:20 vdr[24141]: [24183] ERROR: streamdev-recstreaming thread 9823 won't end (waited 3 seconds) - canceling it...
    Sep 23 20:29:23 vdr[24141]: [24183] streamdev-server: externremux process won't stop - killing it
    VDR zwei drei
    • VDR 01 (Server): 2.7.2 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Aber trotzdem kommt nach einer Weile ein Bild - und das unterbrechungsfrei.

    Wenn Jemand noch ein moderneres Script hat, würde ich das gerne nehmen.

    Ansonsten sehe ich das Ganze als gelöst an.

    Danke.

    Ciao.

    Michael.

    VDR zwei drei
    • VDR 01 (Server): 2.7.2 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Aber trotzdem kommt nach einer Weile ein Bild - und das unterbrechungsfrei

    War leider ne optische Täuschung - live stand wieder auf "TS", und da, wo wir gerade sind, ist die Bandbreite hinreichend.

    Mit "EXT" kommt aktuell nur Ton, kein Bild.

    VDR zwei drei
    • VDR 01 (Server): 2.7.2 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Ich würde folgende Meldungen mal genauer untersuchen.

    Code
    Sep 23 20:28:17 vdr[24141]: [9822] ERROR (thread.c,258): Keine Berechtigung
    Sep 23 20:28:17 vdr[24141]: [9823] ERROR (thread.c,258): Keine Berechtigung
    Sep 23 20:28:47 vdr[24141]: [10095] ERROR (thread.c,258): Keine Berechtigung
    Sep 23 20:28:47 vdr[24141]: [10096] ERROR (thread.c,258): Keine Berechtigung
    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Ich würde folgende Meldungen mal genauer untersuchen.

    Code
    Sep 23 20:28:17 vdr[24141]: [9822] ERROR (thread.c,258): Keine Berechtigung
    Sep 23 20:28:17 vdr[24141]: [9823] ERROR (thread.c,258): Keine Berechtigung
    Sep 23 20:28:47 vdr[24141]: [10095] ERROR (thread.c,258): Keine Berechtigung
    Sep 23 20:28:47 vdr[24141]: [10096] ERROR (thread.c,258): Keine Berechtigung
    Code
    void cThread::SetPriority(int Priority)                                                                                                                                                                
    {                                                                                                                                                                                                      
      if (setpriority(PRIO_PROCESS, 0, Priority) < 0)                                                                                                                                                      
         LOG_ERROR;                                                                                                                                                                                        
    }

    Sieht jetzt nicht so kritisch aus

    Code
    ERROR (extern.c,327):

    Ist wohl kritischer

    Code
    void cTSExt::Put(const uchar *Data, int Count)                                                                                                                                                         
    {                                                                                                                                                                                                      
      if (safe_write(m_Inpipe, Data, Count) == -1) {                                                                                                                                                       
        LOG_ERROR_STR("write failed");                                                                                                                                                                     
        return;                                                                                                                                                                                            
      }                                                                                                                                                                                                    
    }

    Anscheinend nimmt das externe Script die Daten nicht an. Andererseits kommt ja Ton ...

    Teste doch mal die Konvertierung mit dem externen Script ohne VDR/Streaming

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Dual-Quadcore Intel(R) Xeon(R) CPU E3-1241 v3 @ 3.50GHz

    32 Gig RAM

    Sollte doch reichen?

    VDR zwei drei
    • VDR 01 (Server): 2.7.2 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]

Participate now!

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