Streams komprimieren auf TVHeadEnd Server

  • SD ist 25fps, HD ist 50fps ... für flüssiges Videobild bei HD brauchst du also auch mindestens die doppelte CPU Power als bei SD. Selbst wenn du auf gleiche Auflösung/Bitrate runterstellst.Aber reicht deine Bitrate bei SD nicht ohne das du umrechnest?

    SD hat auch Spitzen von 6-7k kB/s somit reicht der Upload von 4600-5000kb/s leider nicht ohne Buffer Unterbrechung.

  • Wozu dann transcoding, Natascha.. Wenn wert eingestellt ist, sollte dieser auch max. Ausgegeben werden. Ich meine auch das es an tvh liegt. Bis vor meiner Neuinstallation hatte ich auf einem G1610T keine Probleme.. Nun schon.

    Meine Hardware

    NAS-->: G4560, 8GB, Gigabyte DS3H- WD Red OMV 4.x (latest)| TVHeadend 4.x.x (latest) | DD CineS2 V6. (+Oscam)
    Raspi 4 --> LibreElec (latest)
    Nvidia Shield 2017

  • Wozu dann transcoding, Natascha.. Wenn wert eingestellt ist, sollte dieser auch max. Ausgegeben werden. Ich meine auch das es an tvh liegt. Bis vor meiner Neuinstallation hatte ich auf einem G1610T keine Probleme.. Nun schon.

    Eben, TVH hält sich nicht an die eingestellten Werte.
    Maximale Wert ist per 3000kb/s von mir eingestellt, siehe Screenshot. Die Fritzbox zeigt auch ein dauerhaften Upload Stream von nur 3000kb/s aber TVH zeigt im Status eben das es nicht bei 3000 bleibt sondern immer mal wieder Ausreisser nach oben dabei sind, siehe Screenshot. Somit kommt es dann zu dem Buffering...

  • hab nochmals bisschen getestet. Also der AMD x4 640 hat ja immerhin 3Ghz, denke da sollte HD Transcoding schon machbar sein

    Jein, du hast 4 Kerne was bei ultrafast nicht gut skaliert (es skalieren nur die Optimierung richtig gut auf die Kerne, nicht das eigentliche Encoding und bei Ultrafast gibt es nicht viele Optimierungen) das bedeutet ein Kern ist voll beschäfftigt die anderen kacken ab. Das ist ein x264 Problem bzw ein Encoder Problem - evtl mal VP8/9 probieren ob die besser Skalieren.

    1024x576 ist nicht so wenig - mein Intel G3258 hat bei Ultrafast ein Kern bei 70% Auslastung bei Ultrafast (2. bei fast 0) und ein Kern bei dem CPU ist schneller als 2 Kerne zusammen von deinem AMD. Da kannst du dir ausmalen das es eben nicht reicht ;) Probier mal in den Einstellungen ob evtl fast/faster bessere Ergebnisse liefert. Sonst einfach die Auflösung auf normales SD das sollte problemlos drin sein.

    Eine Enigma2 Box mit Dualcore 1,5Ghz und 2GB kann wohlgemerkt auch HD Transcoding.

    Die hat dafür aber auch irgend einen gammelchip drin der hinten irgend einen Stream rausdrückt, das passiert aber nicht über den CPU - der wäre viel zu lahm dafür. Deswegen ist ja gerade das GPU Encoding über die Grafikkarte so gewollt - da würde das dann auch gehen (bei AMD wahrscheinlich nicht).

    scheinbar ist man fertig mit der Implementierung des GPU Encodings in FFMPEG, müssen wir nur noch warten bis es bei einer release Version mit dabei ist


    Somit kommt es dann zu dem Buffering...

    das wird wohl an ultra fast liegen da das "ich glaube" eine genaue Größenberechnung nicht zu lässt.

    Zitat von ffmpeg

    - VAAPI-accelerated format conversion and scaling
    - VAAPI-accelerated H.264/HEVC/MJPEG encoding

    im ffmpeg 3.1 - ist bereits im code drin :)

    Einmal editiert, zuletzt von CvH (9. Mai 2016 um 13:23)

  • das wird wohl an ultra fast liegen da das "ich glaube" eine genaue Größenberechnung nicht zu lässt.

    Kann man denn bei tvheadend optionale Parameter irgendwie selbst setzen?

    ich denke da an vbv-maxrate, vbv-bufsize, nal-hrd:cbr ... also die Parameter an denen man normalerweise beim Streamen schraubt.

  • Hat geklappt @CvH
    mit den Einstellungen (siehe Bild) läuft es nun durch, lag an dem "ultrafast" das hab ich nun auf "faster"

    Es geht 1x Client mit Originalem HD Stream und 1x Client mit dem transcodierten Stream (aufs Handy, LTE) - gleichzeitig.
    CPU ist dann bei 80-90%.
    Ein dritter Client geht nicht mehr, dann bricht das Transcoding zusammen und CPU ist bei 100%.

    720p klappte mit keinem Setting ohne Buffering. 576p (=720x576 ?) ist das äußerste. Aber es funktioniert :)

  • 720p klappte mit keinem Setting ohne Buffering. 576p (=720x576 ?) ist das äußerste.

    450p = 800x450
    576p = 1024x576
    720p = 1280x720
    1080p = 1980x1080

    Ich würde 450p fahren dafür eine bessere Einstellung (Medium), das wäre der Qualität weit mehr zuträglich als Auflösung wo keine Bitrate dahinter steht.

  • Hallo zusammen, ich greife den Thread mal auf.

    Ich suche schon längere Zeit nach einer Möglichkeit mein TV-Signal auch unterwegs zu streamen. Jetzt habe ich mir nach rPi1 & 2 einen 3er geholt, jeweils mit MPEG und AC-1 Lizenzen. Fernziel sollte es sein, das ich den Stream von SD-Sendern so transcodiert bekomme, das ich mit 1-2 Mbit Bandbreite Streamen kann.
    Jetzt lese ich hier immer wieder das Ihr euch TVHeadend mit Transcodingsupport selbst kompiliert habt, ich bin jetzt extra deshalb auf LibreELEC umgestiegen, da CvH da ja immer wieder Builds von TVHeadend baut. Nur ich finde auf meinem Backend immer noch keine Transcoding Option.

    Außerdem ist mir nicht so ganz klar: Ihr redet hier immer von schwacher Leistung des Raspberry Pi, ich meine um ein SD-Signal so bissl runter zu rechnen und bissl die Bitrate im Stream runter zu rechnen, kann doch 4 Kerne jetzt nicht sooooo mega krass ausreizen, oder? Bei HD-Material kann ich das ja noch verstehen, aber bei SD?

    Wie kriege ich es hin eine Version von TVHeadend auf den RPi zu bekommen, mit dem ich zumindest mal probieren kann wie sich dass dann mit transcoding verhält?

  • Einer deiner Pi dient als TV Server?
    Die Leistung reicht nicht für transcoding. Da braucht man schon halbwegs potente Hardware

    Meine Hardware

    NAS-->: G4560, 8GB, Gigabyte DS3H- WD Red OMV 4.x (latest)| TVHeadend 4.x.x (latest) | DD CineS2 V6. (+Oscam)
    Raspi 4 --> LibreElec (latest)
    Nvidia Shield 2017

    Einmal editiert, zuletzt von Ruschi (6. August 2016 um 10:57)

  • Ja. Momentan setze ich den 3er als neues Kodi mit LibreELEC auf... der 2er läuft auch noch mit Kodi (OpenELEC). Jeweils mit TVH Server aber gleichzeitig auch als Client zum schauen am TV. Als Tuner kommt nen DVB-C Stick von Sundtek zum Einsatz

    Meinst wenn würde es mehr Sinn machen den 2er als reines MediaCenter mit Client laufen zu lassen und auf den 3er nen Rasbian zu spielen und ne richtige TVHeadend Build zu installieren und dann als reinen Server für THV zu benutzen inkl. transcoding für die SD-Signale via Stream?

    Und das hier die Hardware potenter sein muss habe ich hier auch gelesen. Aber dabei ging es, so wie ich das verstanden habe, auch immer um HD Material. Ich muss doch irgendwie an kleinere Streams ran kommen die nicht gleich 3-4 GB/Stunde ausmachen, oder?

  • Es passt zwar nicht so zu TvHeadend, aber ich möchte auf die Möglichkeit hinweisen das ganze auch mit DVBViewer zu realisieren.
    Im Webpanel kann man einfach eine .m3u speichern, die transkodierte Fernsehkanäle enthällt. Diese kann man dann mit VLC oder einem anderen Programm benutzen.

  • Der rpi kann wohl full HD in Echtzeit transcodieren, das Problem ist das es noch nicht fertig in Tvh integriert ist. http://Github.com/lekma macht das gerade.
    Prinzipiell geht transcoding aber so zu realisieren, müssen wir aber warten bis die neue transcoding Oberfläche in Tvh drin ist. Weil ohne gpu Beschleunigung geht beim rpi gar nichts deswegen ist es auch nicht mit eingebaut.

  • Danke für die Info. Denn die GPU hat ja eigentlich schon bissl Power und nen guten Datendurchsatz. Und selbst simple Dual-Core NAS Systeme packen ja mittlerweile Transcoding. Da sollte dass nen RPi ja fast auch schaffen!?

    Dann warte ich mal, bis sich da was tut. Sonst besorge ich mir echt mal nen Leistungsstarken passiv gekühlten i5 Rechner als Media und TV-Server und nutze den
    RPi dann nur als Client... vllt. sogar echt nen QNAP Nas mit 4 Cores oder so.

  • Das Problem beim Transcoding ist nicht das Runterrechnen von einem großen Bild (HD) in ein kleines, sondern das erneute Encodieren. Das verbraucht die meiste Power.

    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

  • Ich greife das Thema grad nochmal auf :)

    Ich bin nun von den HLS Streams als Input weg und habe nun "ordentliche" Sources DVB-C/S.

    Allerdings bereitet mir das transcoding immer noch Kopfschmerzen.

    Ich habe ein

    model name : Intel(R) Xeon(R) CPU D-1520 @ 2.20GHz
    stepping : 2
    microcode : 0xa
    cpu MHz : 802.570
    cache size : 6144 KB
    physical id : 0
    siblings : 8
    core id : 3
    cpu cores : 4
    apicid : 6
    initial apicid : 6


    Welcher meiner Meinung nach nicht zu schwachbrüstig sein sollte. Leider stosse ich aber immer wieder an meine Grenzen.
    Nun habe ich von Quick Sync Video gelesen, was mir eventuell helfen könnte, aber ich weiss nicht genau wie :(.

    Ziel wäre es, die FullHD Streams zumindest in HD weiterzureichen. Ich habe 50 Mbit Upload, das sollte demnach nicht der Knackpunkt sein.

    Hat jemand ne Idee wie ich bei Tvheadend das QSV mit meiner CPU nutzen kann ?

    mfg

  • Also ich habe

    http://www.supermicro.com/products/mothe…DV-4C-TLN4F.cfm

    Das Board, da ich eigentlich nie auf grosse Grafikprozessor aus war hatte ich darauf auch keine besondere Rücksicht genommen.

    Die Onboard Graka ist "glaube ich" hauptsächlich fürs IPMI bzw. Konsolendarstellung und fürs transcoding ungeeignet.

    Mein Problem ist, dass mein PCIe Port bereits von einer DVB-S Karte belegt ist, demnach fällt wohl eine extra Graka flach :(.

  • demnach fällt wohl eine extra Graka flach

    schlicht Ja ! Bei dem Preis (allein vom MB) muss ich aber ehrlich sagen selber Schuld :) (ohne jetzt zu wissen warum und weshalb es so ein Board sein musste)

    Alternativ, Digibit R1 und dafür die DVB-S rauswerfen. Wenn es ein SingleTuner ist könnte man natürlich auch über USB nachdenken.

  • OCTO Tuner ;)

    Ja das Board erfüllt noch andere Zwecke, für die es gedacht war von daher passt das schon :) ..

    Ich habe an ein IP-LNB gedacht, dann wäre der Platz wieder frei, aber ohne Garantie, dass es mit einer Graka besser läuft würde ich diese 350 Euro + Graka nicht unbedingt setzen wollen.

    Ansich würde ich den Input stream auch nur gern resizen, das sollte doch nicht so CPU intensiv sein, oder ? sprich von 1080 auf 720 um meine Bandbreite ein wenig zu schonen, da der Plex ja auch noch läuft kann es schon mal sein, dass 6 - 8 Leute von dort streamen. Bei nur 50Mbit schlagen x FHD Streams mit 12 - 15 MBit natürlich ordentlich zu :(.

Jetzt mitmachen!

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