Streams komprimieren auf TVHeadEnd Server

  • So ich habe hier jetzt GPU Transcoding mit ner kleinen NVidia GT 720 laufen die ich für 20€ in der Bucht geschossen habe.
    Installation war ziemlich, wenn interesse besteht schreib ich das auch noch mal nieder.

    Ergebnis: Bei wesentlich besserer Bildquali ist die CPU nur noch zu 40% statt zu 100% ausgelastet.
    Reicht zwar immer noch nicht um HD Channel runterzurechnen, aber zwei SD Channel parallel Trancoden funktioniert.

  • So ich habe hier jetzt GPU Transcoding mit ner kleinen NVidia GT 720 laufen

    Das hört sich schon interessant an. Im VDR-Forum gibt es einen Beitrag zum Transkoding per GPU, wo Transferraten bei HD von mehr als 200 Frames/sec erreicht werden. Hast Du bei Dir eine Echtzeitanbindung - sprich wird das Material zeitlich 1:1 durchgereicht und wieder ausgegeben?

    http://www.vdr-portal.de/board19-versch…ffmpeg-es-geht/?

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960

    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Wäre nur mal einen Versuch wert wie sich qsv vs nvenc schlägt (Intel Gpu vs Nvidia Gpu). Weil wer will sich schon extra eine Grafikkarte einbauen wenn es auch der Intel Gpu schaffen würde.

    Stimmt natürlich. Bei mir halt die Sache das meine CPU von Intel Media SDK unter Linux nicht unterstützt wird. Ausserdem ist das aktivieren von qsv ja auch ne Sache für sich, inkl. Kernelpatches die es scheinbar offiziell nur für zwei Kernelversionen gibt. Bei NVidia reicht es in Ubuntu 16.04 Treiber und Cuda SDK aus den offiziellen Repo's zu installieren, die Header Dateien an die richtige Stelle zu verschieben und TVHeadend noch mal neu zu kompilieren.

    Das hört sich schon interessant an. Im VDR-Forum gibt es einen Beitrag zum Transkoding per GPU, wo Transferraten bei HD von mehr als 200 Frames/sec erreicht werden. Hast Du bei Dir eine Echtzeitanbindung - sprich wird das Material zeitlich 1:1 durchgereicht und wieder ausgegeben?
    http://www.vdr-portal.de/board19-versch…ffmpeg-es-geht/?

    Ja bei mir ist es eine Echtzeitanwendung, ich streame damit TVProgramm per Internet zu meinen Schiwegereltern. Damit das nicht so viel Bandbreite frisst wird der SD Stream mit gut 1800kbits eingestampft bevor es auf die Reise geht.

    Leider funktioniert es bei mir noch nicht so richtig einen HD Stream auf SD zu resizen und dann zu encoden. Eigentlich denke ich mir sollte das kein Problem sein wenn das Video vor dem Encoden resized wird. Aber bei mir kommen da nur Ruckler etc. raus.
    Keine Ahnung ob ffmpeg mit nvresize support gebaut wird.

  • Stimmt natürlich. Bei mir halt die Sache das meine CPU von Intel Media SDK unter Linux nicht unterstützt wird.

    Ich muss mal gucken, hab heute für LibreELEC Tvheadend 4.1/2 mit qsv (x264/5 ...) gebaut ich probier mal ob das auf dem J1900 funktioniert (wenn man nur 2 Cores nimmt sollte es ja mit dem J1800 identisch sein).


    Keine Ahnung ob ffmpeg mit nvresize support gebaut wird.

    Warum nimmst du nicht tvheadend aus deren Repo ? Da ist ffmpeg 3.0 statisch drin + alles "an".

  • Ja gut selber kompilieren mach ich ja zur Zeit. Die passenden Befehle gibt es ja auf der ersten Seite ausser das ich das ganze noch um ein --enable-nvenc ergänze.

    Nvresize wird mir wohl nichts bringen, so wie ich das verstanden habe wird dabei das resizen nach dem Encoding durchgeführt, mach in meinen Fall keinen sinn.
    Bei mir müsste erst resized werden und dann neu encoded, sodas man zwar die halt von einem besseren Ausgangsmaterial transcoded.

  • Ganz schön Aufwendig mit dem Transcoding wenn ich das hier so verfolge. Glaube nicht das ich das hinbekomme...
    Sollte mein HTPC ja natürlich auch können.

    gibt es eigentlich zufällig ein guten SAT>IP Server der Hardware Transcoding hat, HD macht und man das ganze per m3u abholt ?

  • gibt es eigentlich zufällig ein guten SAT>IP Server der Hardware Transcoding hat

    Gibt es nichts bezahlbares - ist halt die Frage auf was du Transcodieren willst - auf 4 x 320x200 reicht auch ein lala CPU. So etwas kann aber auch ein NAS machen, es kommt immer darauf an wie viel, wie groß (Auflösung) und ob H264 oder doch gleich H265.

  • @CvH

    Das maximale Live TV soll transcodiert werden, also z.b. 1x ZDF HD oder Servus TV HD. Haben so an die 14Mbit und das dann "on the fly" in Echtzeit runter auf ca 3Mbit, damit es mit einer 5Mbit Leitung weitergereicht werden kann.

    Parallel soll aber z.b. noch eine Aufnahme und normales Live TV am Client möglich sein.

    Meine aktuelle Konfiguration BCM7425 (kann hardwareseitig Transcoding) packt das nicht ganz. Den HD Sender macht er gut, aber dann noch zeitgleich eine Aufnahme und TV gucken geht nicht.

    Was müsste da unter Skylake her damit man auf der sicheren Seite ist ?

  • @CvH Konntest du schon den J1900 testen?

    noch nicht - unter LibreELEC gehts schon mal nicht - Softwareseitig (da ist irgendeine Abhängigkeit nicht vorhanden - fragen kann man auch keinen da ja ffmpeg nicht unterstützt wird und der Author sofort alles schließt wenn ffmpeg drin vor kommt)

    Was müsste da unter Skylake her damit man auf der sicheren Seite ist ?

    Der kleinste Pentium (~G4400) reicht (für x264 - x265 wird eher nicht)- ABER wenn QSV geht bzw die neue integration mittels vaapi (die noch nicht bei ffmpeg drin ist) sollte auch weit weniger reichen. Das ist leider eine sehr schwammige Aussage weil ohne zu probieren man auch nichts richtiges sagen kann. Aber gerade für das Streamen über Internet wäre x265 wirklich empfehlenswert - weil etwa halbierte Bandbreite bei gleicher Qualität (auf Kosten von CPU/GPU).

  • sollte meineserachtes gehen - da ich aber noch nie was aufgenommen habe ist das mit Vorsicht zu genießen ;)

    Glaub es ist nur folgender Weg möglich: Einfach die externe Festplatte als Aufnahme Verzeichnis mounten und dann stehen automatisch beim Client sämtliche Aufnahmen zur Verfügung, also auch alte Daten. Und diese können dann wiederum je nach Streaming Profil abgerufen werden.

    Aber ob ich das so mit dem Mounten hinbekomme... Heute Abend mal TV Karte installieren, sollte ankommen wenn Hermes mich findet.

  • Ahoi

    Ich glaube hier bin ich richtig :)

    Also ich habe erst kürzlich mit tvheadend gestartet und ich glaube, es wäre genau das was ich brauche ;).

    Ich habe bislang ein PlexServer am rennen mit einem angehangenem Datengrab.
    Das läuft auch so wunderbar.

    Jetzt bin ich auf diverse IPTV Plugins aufmerksam geworden. Meistens scheitert es ja daran, dass Plex diese Streams nicht nativ frisst.

    Von meinem ISP bekomme ich RTP Stream, welche ich auch im TV HEADEND einbinden kann und weiterstreame. Allerdings komme ich mit dem transcoding nicht wirklich zu Rande. Der Plex Server übernimmt ständig (als Ehrenritter) das Umwandeln und reisst somit die CPU Last in die Extreme.

    Ich könnte natürlich auch Kodi nehmen, allerdings nutzen die meisten meiner User Plex.

    Input Streams sind

    H264 MPEG 4 AVC
    A52 aka AC3

    Wenn ich die Materie um Plex richtig verstanden habe können fast alle Clienst MPEG4, demnach würde mal vermuten, dass das AC3 der Knackpunkt ist.

    Der Server ist definitiv ausreichend.

    Weiss jemand Rat ?

    mfg
    narziss

Jetzt mitmachen!

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