blueplanet hat geschrieben: Mi 01 Jul, 2026 14:08
Ich habe mich zu sehr auf CPU und GPU konzentriert und h und x übersehen. Ja klar, dass war schon "Früher" so, dass man tatsächlich optisch sichbar bessere Qualitäten (Bewegungsdarstellung oder Lowlight) bei gleicher Datenrate mit x erreichen konnte als mit h und das zudem mit kleineren Dateienmengen.
Das Thema bzw. die Namengebungen sind verwirrend, daher nochmal eine versuchte Klarstellung:
- h264/h265 sind keine Codecs, sondern Standards, auf deren Basis Codecs entwickelt werden können. Das ist dasselbe Prinzip wie bei einer Programmiersprache (wie z.B. C++) und einem Compiler für diese Sprache (wie der GNU GCC compiler oder Microsofts Visual C++). h264 wäre die Sprache, x264 einer - von vielen - Compilern für diese Sprache.
- Bzw.: x264, x265 sind hochqualitative h264- bzw. h265-standardkonforme Codecs aus der Open Source-Welt, die aber auch in diversen kommerziellen Anwendungen (Resolve, Plex...) genutzt werden.
- Adobe verwendet, in Premiere und Media Encoder, h264- und h265-konforme Software-Encoder, die ursprünglich von MainConcept lizenziert wurden.
- NVENC ist Nvidias Hardware-Encoder für h264-, h265- und AV1-konformes Video. AMDs Äquivalent heisst wohl (nachgeschlagen) VCN/AMF, Intels Äquivalent Quicksync.
Laut
diesem Shootout ist x264 qualitativ klar besser als Adobes MainConcept-Encoder, allerdings ist der von 2012... Laut
einem Reddit-Thread scheint das aber im Großen und Ganzen immer noch so zu sein. Für wen das eine wichtige Frage ist, der kann ja relativ einfach eigene Vergleichstests machen.
Aber Handbrake&Co sind im Grunde ausserhalb des kompletten Adobe-workflows und inzwischen für Otto-Normalanwender overdressed.
In der Open Source-Welt, und technisch gesehen, ist Handbrake ja nur eine GUI-Abstraktionsschicht oberhalb von x264, x265, SVT-AV1 und vielen anderen Open Source-Codecs, und zwar bereits eine Abstraktionsschicht zweiter Ordnung:
- Unterste Ebene: die "bare bones"-Codecs x264, x265, SVT-AV1. Im Prinzip kann man die auch als selbstständige Kommandozeilen-Programme nutzen. Man braucht dann unkomprimierte YUV-Videostreams als Ausgangsmaterial und encodiert direkt, "bare metal", mit dem originalen Codec-Computerprogramm und seinen jeweils eigenen (und z.T. extrem komplexen) Einstellungsparametern.
- Mittlere Ebene: ffmpeg. ffmpeg hat seine eigene Bibliothek "libavcodec", die von allen diesen Codecs - x264, x265, SVT-AV1 - abstrahiert und für sie eine einheitliche API bzw. ein einheitliches Interface zur Verfügung stellt.
Man kann sich das etwa so vorstellen wie jeden Codec als einen Auto-Motor mit eigener Technik und eigenen Einsatzgebieten (Diesel, Otto, Elektro, 2 Zylinder, 12 Zylinder, Kreiskolben etc.) und libavcodec als eine einheitliche Karrosserie für alle diese verschiedenen Motoren. Das ffmpeg-Kommandozeilenprogramm ist dann das Cockpit für diese Karrosserie.
- Obere Ebene: Handbrake, Shutter Encoder & Co. Im Prinzip nichts anderes als grafische Benutzeroberflächen bzw. alternative Cockpits für libavcodec, die auch nur einen kleinen Teil von deren Funktion zur Verfügung stellen, das aber sehr komfortabel und benutzerfreundlich. Wo das ffmpeg-Kommandozeilenprogramm eher dem Cockpit einer Boeing 747 enstpricht, entspricht Handbrake dem Cockpit eines VW Golf.
Handbrake ist damit eine direkte (Open Source-) Alternative zum Adobe Media Encoder, so, wie z.B. VLC eine direkte (Open Source-) Alternative zum Quicktime Player ist.
Bin mir nicht sicher: vor Jahren gab es sogar ein Plugin für Premiere?! Eine direkte Weiterleitung zum installierten Handbrake?!
Das ist
Voukoder, das es auch für Resolve gibt. Das klinkt sich in Premiere bzw. Media Encoder ein und verwendet dann ffmpeg's libavcodec (und die darunterliegenden Open Source-Codecs wie x264 und x265) statt der Codecs, die Adobes eigene Engine anbietet.