Was sind H.264-Profile?
Der H.264-Standard (auch AVC oder MPEG-4 Part 10 genannt) definiert einen umfangreichen Satz von Codierungswerkzeugen — Algorithmen zur Komprimierung von Videobildern in kleinere Daten. Profile sind Teilmengen dieses Werkzeugsatzes. Jedes Profil aktiviert eine bestimmte Kombination von Funktionen, und höhere Profile enthalten alles aus niedrigeren Profilen plus zusätzliche Techniken.
Stellen Sie sich Profile als Schwierigkeitsgrade für den Decoder vor. Das Baseline-Profil verwendet nur die einfachsten Werkzeuge, sodass jede Hardware — selbst ein Telefon aus dem Jahr 2008 — es dekodieren kann. Das High-Profil nutzt alle verfügbaren Werkzeuge und erreicht die beste Kompression, erfordert aber mehr Rechenleistung vom Wiedergabegerät.
Die drei gebräuchlichsten Profile sind Baseline, Main und High. Es gibt weitere (Extended, High 10, High 4:2:2, High 4:4:4 Predictive), die jedoch Nischenanwendungen wie 10-Bit-Farbe oder professionelles Chroma-Subsampling bedienen. Für Standard-8-Bit-Video für die Wiedergabe auf Endgeräten sind Baseline, Main und High die einzigen relevanten Profile.
Jeder H.264-Encoder — FFmpeg, HandBrake, Adobe Media Encoder, Apple Compressor — lässt Sie ein Profil wählen. Die Wahl beeinflusst drei Dinge: Kompressionseffizienz (Dateigröße bei einer bestimmten Qualität), Encodiergeschwindigkeit (wie lange die Encodierung dauert) und Decoderkompatibilität (welche Geräte die Datei abspielen können).
Baseline-Profil
Das Baseline-Profil ist die einfachste und eingeschränkteste Teilmenge von H.264. Es wurde für stromsparende Geräte und Echtzeitanwendungen entwickelt, bei denen die Dekodierungslatenz minimal sein muss.
Wichtige Merkmale von Baseline:
- Nur I- und P-Slices — der Encoder kann Intra-codierte Frames (I-Frames, die eigenständig sind) und prädiktive Frames (P-Frames, die auf einen vorherigen Frame verweisen) verwenden. Es gibt keine B-Frames.
- CAVLC-Entropiecodierung — Context-Adaptive Variable-Length Coding ist ein einfacherer und schnellerer Entropiecodierer. Er komprimiert die quantisierten Transformationskoeffizienten in einen Bitstrom, ist aber weniger effizient als die Alternative (CABAC).
- Keine gewichtete Prädiktion — der Encoder kann keine gewichteten Referenzen für Ein- und Ausblendungen oder Kreuzblenden verwenden, was bei Übergängen zu größeren Dateien führt.
- Nur 4x4-Transformationen — die räumliche Transformation, die Pixelblöcke in Frequenzkoeffizienten umwandelt, ist auf 4x4-Blöcke beschränkt.
Da B-Frames und CABAC fehlen, erzeugt Baseline die größten Dateien der drei Profile bei jedem Qualitätsziel. Eine typische Baseline-Encodierung ist 10–20 % größer als derselbe Inhalt, der mit dem High-Profil beim gleichen CRF-Wert encodiert wurde.
Wann Baseline verwenden: Echtzeit-Videokonferenzen (wo die B-Frame-Latenz inakzeptabel ist), ältere IP-Kameras, sehr alte Android-Geräte (vor 2011) und eingebettete Systeme mit begrenzter Rechenleistung. Im Jahr 2026 sind diese Anwendungsfälle zunehmend selten.
ffmpeg -i input.mov -c:v libx264 -profile:v baseline -level 3.0 -crf 23 -c:a aac -b:a 192k -movflags +faststart output.mp4
Main-Profil
Das Main-Profil fügt zwei entscheidende Funktionen gegenüber Baseline hinzu: B-Frames und CABAC-Entropiecodierung. Diese beiden Ergänzungen allein sind für den Großteil des Kompressionsvorteils von Main verantwortlich.
B-Frames (bidirektionale prädiktive Frames) können gleichzeitig auf vergangene und zukünftige Frames verweisen. Dies ist besonders effektiv bei Zeitlupenszenen, statischen Hintergründen und allen Inhalten, bei denen zukünftige Frames nützliche Vorhersagedaten enthalten. Eine typische Encodierung verwendet 2–3 B-Frames zwischen jedem Paar von Referenzframes. Der Kompromiss ist eine leichte Erhöhung der Encodierungskomplexität und eine Dekodierungslatenz von einigen Frames — bei der Dateiwiedergabe nicht wahrnehmbar, aber problematisch für Echtzeit-Videoanrufe.
CABAC (Context-Adaptive Binary Arithmetic Coding) ersetzt CAVLC als Entropiecodierer. CABAC verwendet arithmetische Codierung mit Kontextmodellen, um den Bitstrom effizienter zu komprimieren. In der Praxis spart CABAC 10–15 % Bitrate im Vergleich zu CAVLC bei gleicher visueller Qualität. Der Preis ist eine höhere CPU-Auslastung bei Encodierung und Dekodierung, aber jedes seit etwa 2010 hergestellte Gerät verarbeitet CABAC problemlos.
Das Main-Profil ermöglicht auch gewichtete Prädiktion für P-Frames, was die Kompression bei Blenden und Szenenübergängen verbessert. Die Kombination aus B-Frames, CABAC und gewichteter Prädiktion macht Main etwa 10–12 % effizienter als Baseline.
Wann Main verwenden: terrestrisches Fernsehen (DVB-T verwendet das Main-Profil), ältere Streaming-Setups und Szenarien, in denen Sie einen Mittelweg zwischen Kompatibilität und Kompression wünschen. Da jedoch das High-Profil von praktisch jedem Gerät unterstützt wird, das auch Main unterstützt, gibt es 2026 wenig praktischen Grund, Main dem High vorzuziehen.
ffmpeg -i input.mov -c:v libx264 -profile:v main -level 4.0 -crf 23 -c:a aac -b:a 192k -movflags +faststart output.mp4
High-Profil
Das High-Profil ist das funktionsreichste Profil für Standard-8-Bit-Video. Es fügt mehrere Werkzeuge gegenüber Main hinzu, die die Kompressionseffizienz weiter verbessern.
8x8-Ganzzahltransformationen sind die wichtigste Neuerung. Während Baseline und Main auf 4x4-Transformationsblöcke beschränkt sind, kann das High-Profil 8x8-Blöcke für Bereiche mit weniger räumlichen Details verwenden. Größere Transformationsblöcke sind effizienter für glatte Farbverläufe, Himmel und Bereiche mit wenig Textur, da sie niederfrequente Informationen in weniger Koeffizienten erfassen. Für detailreiche Bereiche verwendet der Encoder weiterhin 4x4-Transformationen. Diese adaptive Blockgrößenwahl spart 5–10 % Bitrate gegenüber dem Main-Profil.
Quantisierungs-Skalierungsmatrizen ermöglichen es dem Encoder, verschiedene Frequenzkomponenten bei der Quantisierung zu gewichten. Das bedeutet, der Encoder kann Details in perzeptuell wichtigen Frequenzen erhalten und gleichzeitig weniger wichtige Frequenzen aggressiver komprimieren. Dies ähnelt der Art und Weise, wie JPEG verschiedene Quantisierungstabellen für Luminanz und Chrominanz verwendet.
Die separate Cb- und Cr-Quantisierungssteuerung ermöglicht es dem Encoder, die beiden Chrominanzkanäle unabhängig zu behandeln und bietet eine feinere Kontrolle über die Farbkompression.
Das High-Profil ist das Standardprofil des libx264-Encoders von FFmpeg. Es ist auch das erforderliche Profil für Blu-ray Disc, das empfohlene Profil für YouTube- und Vimeo-Uploads sowie der Standard aller großen Streamingdienste. Wenn jemand „H.264“ sagt, ohne ein Profil anzugeben, meint er fast sicher das High-Profil.
ffmpeg -i input.mov -c:v libx264 -profile:v high -level 4.1 -crf 23 -c:a aac -b:a 192k -movflags +faststart output.mp4
FFmpeg verwendet standardmäßig das High-Profil. Wenn Sie -profile:v überhaupt nicht angeben, verwendet libx264 automatisch das High-Profil. Im Jahr 2026 wird das High-Profil von praktisch jedem seit 2012 hergestellten Gerät unterstützt. Es gibt fast nie einen Grund, Baseline oder Main zu verwenden.
Vergleich der Kompressionseffizienz
Die folgende Tabelle vergleicht die drei Profile bei gleicher visueller Qualität (CRF 23). Die Dateigrößen sind relativ zum High-Profil, das als 100%-Referenz dient. Höhere Prozentsätze bedeuten größere Dateien bei gleicher Qualität.
| Profil | Relative Dateigröße | Hauptmerkmale | B-Frames | CABAC | 8x8-Transformation |
|---|---|---|---|---|---|
| Baseline | ~115% | Nur I- + P-Slices, CAVLC | Nein | Nein | Nein |
| Main | ~105% | + B-Frames, CABAC, gewichtete Prädiktion | Ja | Ja | Nein |
| High | 100% (Referenz) | + 8x8-Transformationen, Quantisierungsmatrizen | Ja | Ja | Ja |
Die obigen Zahlen sind typische Durchschnittswerte über verschiedene Inhaltstypen (Gesprächsaufnahmen, Action-Material, Bildschirmaufnahmen). Der tatsächliche Unterschied variiert je nach Inhalt: Sehr detailliertes Material profitiert mehr von 8x8-Transformationen (größerer Abstand zwischen Main und High), während schnelle Action-Inhalte mehr von B-Frames profitieren (größerer Abstand zwischen Baseline und Main).
Kompatibilitätsmatrix
Im Jahr 2026 ist die Kompatibilitätsfrage weitgehend geklärt. Jedes moderne Gerät unterstützt das High-Profil. Die folgende Tabelle zeigt genau, welche Geräte welches Profil unterstützen.
| Gerät / Plattform | Baseline | Main | High |
|---|---|---|---|
| iPhone 3GS+ (2009–heute) | Ja | Ja | Ja |
| Android 3.0+ (2011–heute) | Ja | Ja | Ja |
| Alle modernen Browser (Chrome, Firefox, Safari, Edge) | Ja | Ja | Ja |
| YouTube, Vimeo, Twitch | Ja | Ja | Empfohlen |
| Smart-TVs (2012–heute) | Ja | Ja | Ja |
| Blu-ray-Player | Ja | Ja | Erforderlich |
| Ältere Webcams, alte IP-Kameras (vor 2010) | Ja | Unterschiedlich | Nein |
| Feature-Phones (vor der Smartphone-Ära) | Ja | Nein | Nein |
Die einzigen Geräte, die das High-Profil nicht abspielen können, sind ältere Hardware von vor 2010 — alte IP-Kameras, Feature-Phones und Streaming-Sticks der ersten Generation. Wenn Ihre Zielgruppe ein Gerät verwendet, das in den letzten 14 Jahren gekauft wurde, ist das High-Profil sicher.
Welches Profil sollten Sie verwenden?
Die Antwort für 2026 ist eindeutig: Verwenden Sie das High-Profil. Es ist der FFmpeg-Standard, der Blu-ray-Standard und die empfohlene Einstellung für jede große Streaming-Plattform. Sie erhalten die beste Kompressionseffizienz und die kleinsten Dateien bei jedem Qualitätsniveau.
Die einzigen Ausnahmen sind äußerst speziell:
- Echtzeit-Videokonferenzen auf älteren Systemen — Baseline eliminiert die B-Frame-Latenz, die für Kommunikation mit unter 100 ms Umlaufzeit wichtig ist. Moderne WebRTC-Implementierungen handhaben dies auf Anwendungsebene, aber einige ältere SIP-basierte Systeme erfordern Baseline.
- Sicherheitskameras und IoT-Geräte — einige günstige IP-Kameras von vor 2010 decodieren nur Baseline. Wenn Sie ein solches Gerät mit Video versorgen, haben Sie keine Wahl.
- Regulatorische Compliance — bestimmte Rundfunkstandards (z. B. einige DVB-T-Konfigurationen) schreiben das Main-Profil vor. Prüfen Sie Ihre spezifische Rundfunkspezifikation.
Für alles andere — Webvideo, soziale Medien, Dateifreigabe, Archivierung, Präsentationen, E-Mail-Anhänge — ist das High-Profil die richtige Wahl. Unser Konverter verwendet automatisch das High-Profil bei der Encodierung von MOV zu MP4 und gewährleistet das beste Gleichgewicht aus Qualität, Dateigröße und universeller Kompatibilität.
Hinweis zu Levels
Profile definieren, welche Codierungswerkzeuge verfügbar sind. Levels definieren die Grenzen dieser Werkzeuge — maximale Auflösung, Bildrate, Bitrate und Referenzframes. Die am häufigsten verwendeten Levels sind:
| Level | Max. Auflösung | Max. Bildrate | Max. Bitrate (High) |
|---|---|---|---|
| 3.0 | 720x576 | 25 fps | 12,5 Mbps |
| 3.1 | 1280x720 | 30 fps | 17,5 Mbps |
| 4.0 | 1920x1080 | 30 fps | 25 Mbps |
| 4.1 | 1920x1080 | 30 fps | 62,5 Mbps |
| 4.2 | 1920x1080 | 60 fps | 62,5 Mbps |
| 5.1 | 3840x2160 | 30 fps | 300 Mbps |
Für 1080p-Inhalte ist Level 4.1 die Standardwahl und wird von den meisten Encodern automatisch ausgewählt. Für 4K-Inhalte ist Level 5.1 erforderlich. In den meisten Fällen müssen Sie das Level nicht manuell festlegen — libx264 von FFmpeg erkennt automatisch das passende Level basierend auf der Auflösung und Bildrate Ihres Videos.
FFmpeg-Befehle für jedes Profil
Hier sind vollständige FFmpeg-Befehle für die Encodierung mit jedem Profil. Alle drei erzeugen die gleiche visuelle Qualität (CRF 23), unterscheiden sich aber in der Dateigröße aufgrund der Kompressionseffizienz des Profils:
# Baseline — largest file, widest legacy compatibility
ffmpeg -i input.mov -c:v libx264 -profile:v baseline -level 3.0 -crf 23 -c:a aac -b:a 192k -movflags +faststart output_baseline.mp4
# Main — ~10% smaller, adds B-frames and CABAC
ffmpeg -i input.mov -c:v libx264 -profile:v main -level 4.0 -crf 23 -c:a aac -b:a 192k -movflags +faststart output_main.mp4
# High — smallest file, best compression (FFmpeg default)
ffmpeg -i input.mov -c:v libx264 -profile:v high -level 4.1 -crf 23 -c:a aac -b:a 192k -movflags +faststart output_high.mp4
Um zu prüfen, welches Profil eine vorhandene MP4-Datei verwendet, führen Sie aus:
ffprobe -v error -select_streams v:0 -show_entries stream=profile input.mp4
Dies gibt den Profilnamen aus (Baseline, Main oder High), damit Sie Ihre Encodierungseinstellungen überprüfen oder eine von jemand anderem erhaltene Datei prüfen können.