Streamdev-Server externremux in Hardware

  • Hallo zusammen,

    nachdem ich heute ein wenig Zeit zum rumspielen hatte, wollte ich meine Erkenntnisse hier teilen:


    Ausgangspunkt: VDR läuft auf Intel-NUC mit Celeron N2820 (headless)

    Problem: unterwegs (z.B. Hotel-WLAN oder Mobilfunk) steht nicht genügend Datenrate / traffic zur Verfügung

    Lösung: Streaming mit re-encoding

    Nachteil: Hohe CPU-Last, dadurch nur SD-Streaming.


    Ich weiß nicht mehr genau, wo die "externremux.sh" her war, ich glaube, hier aus dem Forum irgendwo. Jedenfalls habe ich die ein bisschen erweitert, sodass mein NUC nun in HW de- und encodieren kann:



    HIer habe ich ein bisschen mit den Codecs rumgespielt, ihr seht verschiedene Einstellungen:

    Oben wird alles in software gemacht. Sorgt für hohe CPU-Last, ist aber relativ leicht zu durchschauen. (das sind die kopierten Zeilen)


    In der Mitte war der Versuch, das Encoding in HW zu überführen. Läuft immer noch mit ca. 100% cpu-Last bei HD-Material (also 1 von 2 Kernen voll ausgelastet). Der Celeron ist halt nicht so gut im dekodieren von h264.


    Unten dann alles in HW; Wenn man Audio nicht anfasst, läuft FFMPEG bei ca. 10% CPU. Mit re-encoding des Audio-Streams liegt man dann bei ca. 25%.

    In der untersten Zeile rechne ich das Video in 1280x720 um, damit 1080i-Material nicht noch größer übertragen wird als notwendig. Bei geringen Datenraten sieht das eh eher nach Klötzchen-Fernsehen aus. Nachteil ist, dass SD-Programme so auf 1280x720 hochskaliert werden.

    Rausnehmen ist schwierig, hier bekomme ich eine FFMPEG-Fehlermeldung.


    Vermutlich wird das alles auch mit NVIDIA-Grafikkarten funktionieren. Bei AMD: keine Ahnung.