HEVC H.265 - CPU Encoding - Performance, Qualität und Tipps

  • Guten Morgen :)
    Ich hoff es gibt noch keinen Thread hierfür - ich habe zumindest keinen gefunden - und der Bereich ist hier richitg.

    Es geht um das große Thema H.265 / HEVC encoding. Speziell nur um das Thema CPU encoding
    Wie sind eure Erfahrungen? Ich möchte hier ein paar Daten und Infos Sammeln für alle, die in das Thema einsteigen möchten und ihre Sammlung ggf. auch umstellen möchte auf H.265.

    Welche Tools / Software nutzt ihr, welche Einstellungen sind "wirklich Sinnvoll" für die möglichst originale / Beste Qualität? Auch gerne ein paar gesammelte Infos zum Thema Sound hierzu :)
    Ich habe mit einem I7 7700k ein wenig getestet und bin auf knapp 22FPS mit Hoher Qualität gekommen - dauert dementsprechend lange einen Film zu wandeln, mir persönlich zu lange und die CPU verbrät dabei ordentlich Strom. Wie ist der Stand heute? Nutzt es bereits wer aktiv?
    Mein persönliches ZIel / Wunsch ist es einen Serverli zusammen zu basteln, der das ganze auch übernimmt, nur will ich mit der CPU noch in einem Humane Bereich bleiben was Preis & Stromverbrauch angeht ...

    Software

    Der wohl bekannteste Wandler ist wohl Handbrake

    Handbrake unterstützt seit geraumer Zeit bereits H.265 und nutzt hierfür auch Intels Quick Sync, welche CPU dafür geeignet ist hat Edius übersichtlich dargestellt

    das Einzige was am Ende zählt ist
    dass ihr lebt was ihr liebt und liebt wofür ihr lebt


    Kodi HTPC - W11 | AMD Athlon 3000G | Pioneer A 504R Bj. 96
    OMV NAS - NAS | Emby Server | LogitechMediaServer
    3x Logitech SqueezeBox & 3x RasPi PiCorePlayer
    Unifi Netzwerk | Sophos XGS Firewall | Agfeo TK | Kentix Security
    Loxone SmartHome

    Einmal editiert, zuletzt von noob_at_pc (15. April 2020 um 20:19)

  • Moin Moin,
    Bei "Nutzt es bereits wer aktiv?", musste ich erstmal aufs Datum schauen, wie alt der Post ist. ;)

    Ich habe ungefähr vor 3 Jahren angefangen, meine vorhanden BDs die schon in h264 aufm NAS liegen, erneut in h265 10bit umzuwandeln. Alles 1080p, keine 4K Filme.
    Filme mit 1-2 DTS Spuren, die vorher 10-12GB groß waren, sind jetzt bei gleicher Qualität 2-5GB groß. Ich nutze zudem Opus als Audio-Codec. Spart auch einiges (1,2GB DTS vs. 300MB Opus) und ich höre selbst bei Äction-Krachern keinen Unterschied. Das bumst in Opus genauso wie in DTS :thumbup:

    Früher hab ich das alles mit Megui & Co gemacht, mittlerweile nur noch Handbrake.
    Standardeinstellungen in Handbrake für einen sauberen Film bei mir sind Quali 19 oder 20, bei älteren, verrauschten Filmen 21-22, evtl mit aktivem Filter Denoise-nlmeans. Audio-Spur 5.1 in Opus 256kbps, Stereo Quellen in 128-160kbps.
    Mein 65Watt Ryzen 3700X ist beim Umrechnen je nach Einstellung und verwendeter Filter mit 10-40fps unterwegs, selten auch mal schneller.

    Das sind meine Einstellungen, es ist nicht 1:1 die originale Bluray-Qualität, aber es fehlt nicht viel. Ich stelle jedenfalls nicht viel Unterschied fest und mir reicht das. :)


    p.s. meine 720p Serien in h264, wo ich keinen physikalischen Datenträger mehr liegen hatte, habe ich auch mit Handbrake in h265 umgewandelt. 1-1,5GB Folgen sind dadurch bei gleicher Qualität auf 500-600MB geschrumpft ;)

  • Welche Tools / Software nutzt ihr, welche Einstellungen sind "wirklich Sinnvoll" für die möglichst originale / Beste Qualität?


    Handbrake unterstützt seit geraumer Zeit bereits H.265 und nutzt hierfür auch Intels Quick Sync, welche CPU dafür geeignet ist hat Edius übersichtlich dargestellt

    Also bei HEVC nehme ich: x265 mit 10 Bit (also den Software Encoder mit crf Modus - keine Hardware Encoder wie Intel Quick Sync - die sind zwar schnell, aber bei HEVC sind (bis auf den Turing NVENC hevc) die HW Encoder deutlich schlechter als die Software Encoder)

  • Moin Moin,
    Bei "Nutzt es bereits wer aktiv?", musste ich erstmal aufs Datum schauen, wie alt der Post ist. ;)

    glaube ich sofort, aber man liest und hört irgendwie nichts über das Thema, außer das es Platz spart und ewig dauert. Und genau das hat sich irgendwie nicht geändert. Wobei 40fps schon akzeptabler wären.
    Habe auf der Qualitätsstufe 22 mit Handbrake 4 Stunde für den ersten Hobbit Film benötigt, einfach viel zu lang...
    Das mit den Audio Profilen blicke ich auch noch nicht wirklich, muss ich mich nochmals einlesen.

    @monarc99das mit Intel QS versteh ich noch nicht ganz, hast du dazu mehr Infos? Mein Wissensstand war, Encoding über GPU ist schnell aber qualitativ schlecht, CPU ist top und Intel kann es dank QuickSync schneller und genauso gut?

    das Einzige was am Ende zählt ist
    dass ihr lebt was ihr liebt und liebt wofür ihr lebt


    Kodi HTPC - W11 | AMD Athlon 3000G | Pioneer A 504R Bj. 96
    OMV NAS - NAS | Emby Server | LogitechMediaServer
    3x Logitech SqueezeBox & 3x RasPi PiCorePlayer
    Unifi Netzwerk | Sophos XGS Firewall | Agfeo TK | Kentix Security
    Loxone SmartHome

  • Ich kopiere einfach mal etwas aus einem alten Beitrag von mir


    Zum Thema QuickSync. Da ist die Qualität leider nicht 1:1 zur CPU Encodierung, da bei QuickSync auch via GPU encodiert wird.
    Ja, eine x265 encodierung dauert wirklich sehr lang und du hast zum größtenteil eine Einsparung beim x265 Codec. Ich habe aber auch schon festgestellt, dass bei DVD's eine x265 Datei genauso groß ist wie eine x264 Datei. Habe es aber aktuell nur mit Animationsfilme testen können. Vielleicht mache ich morgen ja mal den Test und encodiere eine Realverfilmungs DVD via x264 und x265.

  • @monarc99das mit Intel QS versteh ich noch nicht ganz, hast du dazu mehr Infos? Mein Wissensstand war, Encoding über GPU ist schnell aber qualitativ schlecht, CPU ist top und Intel kann es dank QuickSync schneller und genauso gut?

    Mister XY hat es ja schon gesagt. Viele Intel CPU haben eine onboard Grafikkarte und darauf kann man dann Intel QuickSync laufen lassen. Also ganz normales Encoding über eine GPU.


    Wobei die Hardware Encoder aber inzwischen - in der neuesten Hardware Generation, also den neuesten Grafikkarten - schon gut bei der Quali mithalten können.
    z.B. Nvidia Turing ( z.B. GeForce RTX 1660 2060 2070 2080 )


    hier ein reiner Qualitäts-Vergleich zwischen CPU/GPU Encoder vor ca. 1 Jahr: Codec Vergleich
    (Geschwindigkeit wird nicht beachtet, aber die GPU Codecs sind grundlegend schneller)

    Was man in dem Diagramm sieht:

    Nvidia Turing (GPU) schneidet bei hevc (h.265) und avc (h.264) sehr gut ab. Hat aber das Manko, keinen CRF Modus zu besitzen.
    x265 ähnlich gut wie Turing, aber deutlich langsamer. Und hat den CRF Modus, den man gerne bei Umwandlungen möchte.
    QSV (GPU) ist bei avc (h.264) gut, bei hevc (h.265) aber mies.

    Die restlichen Codecs kann man sich selbst aus dem Bild entnehmen. Der Name unten beschreibt, was getestet wurde: Codec _ Bitrate (1 Pass - Twitch Streaming) _ Codec Parameter
    Je höher der Balken, desto besser die Qualität des Codecs. Also AV1 und VP9 in dem Diagramm.

  • Ich habe natürlich heute nochmal getestet, zwischen einem x264 DVDRip und einem x265 DVDRip ist qualitativ und größenmäßig kein Unterschied. Im Gegenteil, dadurch, dass man den x264 Codec sogar mit Placebo settings einstellen kann ist die Dateigröße noch kleiner als via x265 und schneller fertig. Wie gesagt, das habe ich jetzt an einer DVD getestet. Das sieht aber shcon anders aus, sobald man auf 1080p geht. Dort kann x265 orderntlich trumpfen. Er ist zwar nicht so schnell wie der x264 Codec, aber die Dateigröße ist bei weitem kleiner als wie mit dem x264 codec.

  • Nabend die Herrschaften,

    ich habe bei mir auch alles in HEVC und OPUS gewandelt. Für HEVC nutze ich den Encoder von rigaya. Genauer gesagt QSVEnc.
    Zum Encoden nutze ich also eine Intel CPU mit QuickSync. Und ich finde das man keinen großartigen Unterschied zum Original sieht.
    Ich nutze ffmpeg zum Einlesen des Videomaterials und reiche das dann über eine Pipe an QSVEnc weiter. Dort wird dann mit "ICQ 23" und "quality high" gewandelt.
    Bei einem G5600 komme ich auf ca. 90 fps bei 1080p. Bei 720p und 480p wird der Wert bei ICQ entsprechend erhöht.
    Achso: Stromverbrauch liegt beim Wandeln zw 40 und 50 Watt (gemessen mit einem Fritz!DECT 200).
    Die Audiospur wird nach OPUS gewandelt. Dort nutze ich die hier angegebenen maximalen Bitraten unter Music Storage.

    Und um mir das Ganze zu vereinfachen habe ich mir ein kleines Programm inkl Updateprüfung gebastelt.
    Somit kann ich ohne Probleme eine Batchkonvertierung laufen lassen

  • Standardeinstellungen in Handbrake für einen sauberen Film bei mir sind Quali 19 oder 20, bei älteren, verrauschten Filmen 21-22, evtl mit aktivem Filter Denoise-nlmeans.
    ...
    p.s. meine 720p Serien in h264, wo ich keinen physikalischen Datenträger mehr liegen hatte, habe ich auch mit Handbrake in h265 umgewandelt. 1-1,5GB Folgen sind dadurch bei gleicher Qualität auf 500-600MB geschrumpft ;)

    gruebel.. Quali 19/20 ist ja hoehere qualitaet also 21/22, richtig ?

    Nimmst Du da eine niedrigere Qualitet fuer verrauschtes Material weil dir das in der hoeheren (19/20) qualitaet zuviel platz kosten wuerde ? Und die verfaelschungen des Rauschens durch die niedrigere Qualitaet "Ok" aussieht ?

    Was nimmst Du als speed im Handbrake ? Das hat ja auch noch mal Einfluss auf die Dateigroesse (und zeit).

    Was nimmst Du fuer die 720p serien an Parametern ?

  • Verwende ffmpeg fuer x265 codierug. Glaube das ist effektiv dasselbe wie Handbrake bezueglich dem x265 encoder, hat halt noch mehr andere Parameter/filter mit denen man rumbasteln kann. Deinterlacing z.b. Wenn jemand was weiss, wo HandBrake besser ist als ffmpeg wuerde mich das interessieren. Gilt natuerlich nur fuer linux/CLI, wer gui oder windows will ist wahrscheinlich mit Handbrake einfacher dran.

    Ich hatte vor kurzem angefangen zu versuchen x265 codierung von meinen DVD rips zu machen. das ist leider schwieriger als von gutem, neuen material weil da alles arten von problemen im material sind. NTSC->PAL konvertierung, interlaced 24fps->25fps speedup usw usf...

  • Ich habe vor 5 Jahren angefangen meine Sammlung per Handbrake in H265 zu archivieren. Dabei war für mich wichtig bei Bild und Ton keine (sichtbaren) Verluste hinnehmen zu müssen. Es ergibt für mich als Filmfan nämlich keinen Sinn mich über Bildartefakte etc. zu ärgern wenn das qualitativ einwandfreie BD Exemplar im Regal steht.

    Anno 2015 hatte ich ungefähr 250 BD Filme + vielen Serienstaffeln (BD und DVD). Damit der Speicherbedarf inkl. Backup im bezahlbaren Rahmen bleibt war eine Kompression von ca. 50% nötig. Damals hatte ich einen 2500K und habe viele Settings probiert und das Ergebnis mit Frame genauen Screenshots mit dem original verglichen. Die Sammlung habe ich dann mit CFR20 und Geschwindigkeit Faster kodiert. Die CPU schaffte je nach Bildeigenschaften des Films ca. 12 FPS. Filme mit viel Filmkorn (Soldat James Ryan) waren langsamer und hatten eine geringere Kompression. Glatt gebügelte Filme wie Animationen waren wiederum deutlich schneller bei sehr guter Kompresion. Im besten Fall kam ich auf 1/3 des original Speicherbedarf. Im schlechtesten auf 2/3. Im Mittel bin ich ziemlich genau auf 50% gekommen. Sowohl bei SD als auch HD. Für die damalige gesamte Sammlung lief der Rechner quasi 6 Monate durch.

    Bei manchen Filmen sind mir später in großen dunklen Szenen Kompressionsartefakte aufgefallen. Dann habe ich den Film nochmal gerendert mit CFR 18 auf Preset Medium. Das hat die Artefakte eliminiert bei fast gleicher Dateigröße. 100-300MB mehr sind da zu verkraften. Auch Neuzugänge habe ich mit den Settings gerendert.

    2017 bin ich auf einen Ryzen 1700X umgestiegen. Neue Settings CFR16 auf Slow. Hat am Kompressionsverhältnis nichts geändert aber ich bin qualitativ auf Nummer sicher gegangen und CPU war schnell genug. Habe jetzt einen 3950X und nutze immer noch diese Settings und die CPU langweilt sich. Habe diese aber eher perspektivisch gekauft für 4K in AV1.

    Beim Ton habe ich immer die bestmögliche deutsche und englische Tonspur 1:1 übernommen.

    Stand jetzt habe ich ca 400 Filme und 100 Serienstaffeln auf ca. 10TB auf dem NAS liegen.

  • Danke für die vielen Infos 8o da lässt sich doch was zusammen schreiben.

    @TempeltonPeck wie ist die Performance mit den Ryzens, kannst du dazu noch etwas sagen?

    das Einzige was am Ende zählt ist
    dass ihr lebt was ihr liebt und liebt wofür ihr lebt


    Kodi HTPC - W11 | AMD Athlon 3000G | Pioneer A 504R Bj. 96
    OMV NAS - NAS | Emby Server | LogitechMediaServer
    3x Logitech SqueezeBox & 3x RasPi PiCorePlayer
    Unifi Netzwerk | Sophos XGS Firewall | Agfeo TK | Kentix Security
    Loxone SmartHome

  • Dankeschön! :)
    Ja, die Ansprüche an die Qualität habe ich ebenso.

    Selbst ein Ryzen 5 3600er wäre ja schon deutlich schneller!

    das Einzige was am Ende zählt ist
    dass ihr lebt was ihr liebt und liebt wofür ihr lebt


    Kodi HTPC - W11 | AMD Athlon 3000G | Pioneer A 504R Bj. 96
    OMV NAS - NAS | Emby Server | LogitechMediaServer
    3x Logitech SqueezeBox & 3x RasPi PiCorePlayer
    Unifi Netzwerk | Sophos XGS Firewall | Agfeo TK | Kentix Security
    Loxone SmartHome

  • Das beste P/L fürs Kodieren wäre der 3700X.

    Hier mal ein älterer Vergleich zu den Presets von Handbrake. Wie gesagt die Ergenbisse können je nach Material stark variieren. Man findet oft im Internet Empfehlungen von über CFR20. Das finde ich zu wenig. Mindestens CFR20 und je langsamer der Preset desto besser. Allerdings nicht langsamer als Slow, denn ab slower scheinen die Files wieder größer zu werden. Da hilft nur probieren. Wie ich oben beschrieben habe kam und komme ich im Mittel auf 50% Kompression bei CFR20 Faster und CFR16 auf Slow.

    Quelle: https://handbrake.fr/docs/en/latest…erformance.html

  • @Mister XY
    Ich kenne Staxrip, aber da ich gerne programmiere und ich (manchmal) weiß was ich tue, bastel ich mir da gerne selber was. Vor allem weiß man ja dann wie alles funktioniert (oder man hat zumindest eine Ahnung davon) und kann auch seinen Senf dazu geben :)

    Die Dateigrößen variieren bei mir. Je nach Filminhalt und Länge liege ich zwischen 900 MB und 3 GB. Serien liegen meist zwischen 300 MB und 600 MB. Wobei es da auch Ausreißer wie GoT gibt. Die sind zum Teil auch 1,5 GB groß.

  • Bei Serien nehme ich CRF20, bei Filmen aus dem TV oder BR-Rips darf es CRF18 sein. TV-Aufnahmen mit einer Größe unter 6GB recodiere ich überhaupt nicht - lohnt den Aufwand nicht.

    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

  • Verwende ffmpeg fuer x265 codierug. Glaube das ist effektiv dasselbe wie Handbrake bezueglich dem x265 encoder, hat halt noch mehr andere Parameter/filter mit denen man rumbasteln kann. Deinterlacing z.b. Wenn jemand was weiss, wo HandBrake besser ist als ffmpeg wuerde mich das interessieren. Gilt natuerlich nur fuer linux/CLI, wer gui oder windows will ist wahrscheinlich mit Handbrake einfacher dran.

    Ich hatte vor kurzem angefangen zu versuchen x265 codierung von meinen DVD rips zu machen. das ist leider schwieriger als von gutem, neuen material weil da alles arten von problemen im material sind. NTSC->PAL konvertierung, interlaced 24fps->25fps speedup usw usf...

    Ich denke, den einzigen Filter den Handbrake mehr hat, ist der decomb Filter. Aber wenn dich Filter interessieren, hast du dir schon http://www.vapoursynth.com/ angesehen?

    Gibt da ja etliche Filter die unter Linux funktionieren. https://aur.archlinux.org/packages/?O=0&…00&do_Search=Go

    Bei manchen Filmen sind mir später in großen dunklen Szenen Kompressionsartefakte aufgefallen. Dann habe ich den Film nochmal gerendert mit CFR 18 auf Preset Medium. Das hat die Artefakte eliminiert bei fast gleicher Dateigröße. 100-300MB mehr sind da zu verkraften. Auch Neuzugänge habe ich mit den Settings gerendert.

    Wegen der Artefakte in dunklen Bereichen. Hast du mal mit H265 aber 10 Bit probiert?
    Die AQ der Codecs sorgt dafür, dass helle und für das Auge besser sichtbare Bereiche immer deutlich mehr Bitrate bekommt. Dann reichts aber in dunklen Bereichen nicht aus.
    Und man kann dann entweder den ganzen Film mit Bitrate tot schmeissen (und/oder an AQ rumdoktorn), was du mit dem niedrigeren crf Modus machst. Die bessere Option ist aber 10bit,
    Im 10bit Modus reicht ihm die wenige Bitrate, um auch dunkle Bereich vernünftig darzustellen.

    Man findet oft im Internet Empfehlungen von über CFR20. Das finde ich zu wenig. Mindestens CFR20 und je langsamer der Preset desto besser. Allerdings nicht langsamer als Slow, denn ab slower scheinen die Files wieder größer zu werden.

    Das die Dateien größer werden, liegt am CRF Modus. Durch ein langsameres Preset wird Bitrate gespart und der CRF Modus investiert diese Bitrate, wenn er es für sinnvoll hält. Deshalb kann eine Datei bei verschiedenen Presets beim CRF Modus unterschiedlich groß werden.

    Die Presets medium/slow/slower wirklich nur dazu verwenden, um die Geschwindigkeit des Codecs zu steuern. Und den Rate Faktor (crf) um die Qualität zu steuern.
    Die Dateigröße, die am Ende beim CRF Modus rauskommt, hängt von sehr vielen Faktoren ab, die sich gegenseitig beeinflußen. Deshalb am besten ignorieren.

    Bei Serien nehme ich CRF20, bei Filmen aus dem TV oder BR-Rips darf es CRF18 sein. TV-Aufnahmen mit einer Größe unter 6GB recodiere ich überhaupt nicht - lohnt den Aufwand nicht.

    Bei mir variiert der CRF Wert immer etwas, kommt drauf an, wieviele feine Details ich aus dem Original übernehmen will.
    Je mehr feine Details ich übernehmen will, desto niedriger setze ich den CRF Wert.

    z.B.:
    ne normale DVD mit Mpeg2 Stream hat ein recht sauberes Bild, aber halt nur mittlere SD Auflösung. Also nicht sehr viele feine Details, die ich "retten" möchte. -> CRF 20

    ne Blueray mit HD Auflösung und guter Qualit -> viele Details -> niedriger crf Wert -> z.B. crf 17-18

    ne SD TV Aufnahme ist schwieriger -> Bild völlig zermatscht und kaum Details vom eigentlichen Film mehr enthalten, aber Bild gleichzeitig durch schlechte Komprimierung verrauscht -> Rauschen sind feine Details
    Entweder Rauschen loswerden -> Noise Filter und crf 23, um das Rauschen (und die letzten Details des Films) loszuwerden.
    Oder crf 17-18 um auch das Rauschen mit zu übernehmen.

    mfg,
    monarc

  • Bin ich also doch der einzige Dapp der in dem Bereich nichts gemacht hat bisher ... danke :thumbup:

    das Einzige was am Ende zählt ist
    dass ihr lebt was ihr liebt und liebt wofür ihr lebt


    Kodi HTPC - W11 | AMD Athlon 3000G | Pioneer A 504R Bj. 96
    OMV NAS - NAS | Emby Server | LogitechMediaServer
    3x Logitech SqueezeBox & 3x RasPi PiCorePlayer
    Unifi Netzwerk | Sophos XGS Firewall | Agfeo TK | Kentix Security
    Loxone SmartHome

Jetzt mitmachen!

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