[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.

  • 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

    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?

  • 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.

  • 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.?

  • 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
  • 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.

  • 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.

  • 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


    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?

Participate now!

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