Videocodierung ist der Prozess der Komprimierung eines digitalen Videosignals in ein Format, das für die Speicherung und Übertragung über Netzwerke mit minimalem Qualitätsverlust geeignet ist. Ohne Codierung würde eine Minute unkomprimiertes 4K-Video etwa 30 GB belegen, was eine Übertragung über das Internet unmöglich macht. Laut dem Bericht Sandvine Global Internet Phenomena (2025) macht Video 65% des gesamten Internetverkehrs aus, und die Codierung ist die Schlüsseltechnologie, die dies ermöglicht.
Wichtige Punkte
Videocodierung ist der Prozess der Umwandlung eines unkomprimierten Videosignals in ein digitales Format mithilfe von Komprimierungsalgorithmen. Diese Algorithmen, die in Videocodecs implementiert sind, entfernen redundante Informationen sowohl im räumlichen Bereich (innerhalb eines Einzelbildes) als auch im zeitlichen Bereich (zwischen aufeinanderfolgenden Bildern).
Unkomprimiertes Video ist eine Folge von Einzelbildern, die jeweils als Pixel-Array im RGB- oder YUV-Format gespeichert werden. Ohne Komprimierung benötigt eine Sekunde 1080p-Video bei 30 FPS etwa 1,5 GB Speicher. Der H.264-Codec komprimiert diesen Strom auf 3–5 Mbit/s, was 2500-mal weniger als die ursprüngliche Größe ist.
Videocodecs verwenden zwei Arten der Komprimierung: Intra-Frame und Inter-Frame. Die Intra-Frame-Komprimierung wird auf jedes Bild unabhängig angewendet und verwendet Algorithmen ähnlich wie JPEG: Diskrete Kosinustransformation (DCT), Quantisierung und Entropiekodierung.
Die Inter-Frame-Komprimierung analysiert die Differenz zwischen aufeinanderfolgenden Bildern und codiert nur die Änderungen. Wenn der Hintergrund statisch ist, überträgt der Codec nur einmal ein vollständiges Bild (I-Frame) und dann nur die Differenzen (P- und B-Frames), was die Datenmenge für Szenen mit geringer Bewegung erheblich reduziert.
Die Auswahl des Videocodecs bestimmt das Verhältnis von Qualität zu Größe, die Gerätekompatibilität und die Lizenzgebühren. Vier Hauptcodecs dominieren den Markt für mobile Anwendungen: H.264 (AVC), H.265 (HEVC), VP9 und AV1.
| Codec | Standard | Jahr | Komprimierung vs. H.264 | Lizenzierung |
|---|---|---|---|---|
| H.264/AVC | MPEG-4 Part 10 | 2003 | 1x (Basis) | Lizenzgebühren (MPEG LA) |
| H.265/HEVC | MPEG-H Part 2 | 2013 | 40–50% effizienter | Lizenzgebühren (zwei Pools) |
| VP9 | 2013 | 30–40% effizienter | Kostenlos | |
| AV1 | AOM | 2018 | 50–60% effizienter | Lizenzgebührenfrei |
H.264 (AVC — Advanced Video Coding) bleibt der kompatibelste Videocodec: Er wird seit 2005 von allen mobilen Geräten, Browsern und Smart-TVs unterstützt. Hardwarebeschleunigte H.264-Decodierung ist selbst auf Budgetgeräten verfügbar, was ihn ideal für einen universellen Stream macht.
Der Hauptnachteil von H.264 ist die relativ geringe Komprimierungseffizienz im Vergleich zu modernen Codecs. Bei gleicher Bitrate bieten H.265 und AV1 eine deutlich höhere Qualität, was besonders für HDR- und 4K-Inhalte wichtig ist.
H.265 (HEVC — High Efficiency Video Coding) bietet bei gleicher visueller Qualität eine 40–50% bessere Komprimierung als H.264. Dies wird durch eine flexiblere Aufteilung des Bildes in Blöcke (CTU bis zu 64×64 Pixel statt 16×16) und verbesserte Bewegungsvorhersagealgorithmen erreicht.
HEVC wird auf allen Apple-Geräten (ab iPhone 6), auf Android (ab Version 5.0 mit Hardware-Decodierung) und auf den meisten Smart-TVs unterstützt. Die HEVC-Lizenzgebühren sind höher als bei H.264 und werden von zwei Patentpools verwaltet, was die rechtliche Nutzung erschwert.
AV1 ist ein Videocodec, der von der Alliance for Open Media (AOM) entwickelt wurde, einem Konsortium unter der Leitung von Google, Netflix, Amazon, Intel und Mozilla. AV1 bietet eine 50–60% bessere Komprimierung als H.264 und ist vollständig lizenzgebührenfrei, was ihn für Streaming-Dienste attraktiv macht.
Der Hauptnachteil von AV1 ist die hohe Rechenkomplexität der Codierung. Die AV1-Codierung kann auf derselben Hardware 5–10 mal langsamer sein als H.264, obwohl Hardware-Decodierung bereits auf Geräten von 2024–2025 erscheint (Snapdragon 8 Gen 3, Apple A17 Pro).
Audiocodecs sind in mobilen Anwendungen nicht weniger wichtig als Videocodecs. Streaming-Video erfordert Audio mit minimaler Latenz, hoher Qualität und Kompatibilität mit MP4- und WebM-Containern. Drei Hauptaudiocodecs decken 99% der mobilen Streaming-Anwendungen ab.
AAC (Advanced Audio Coding) ist der Nachfolger von MP3, der 1997 von MPEG entwickelt wurde und zum Standard-Audiocodec für iTunes, YouTube und Android wurde. AAC bietet bei 30% niedrigerer Bitrate die gleiche Qualität wie MP3 und unterstützt Mehrkanal-Audio bis zu 7.1.
Für mobile Anwendungen wird AAC-LC mit 128–192 kbit/s für Stereo und AAC-HE für niedrige Bitraten von 32–64 kbit/s empfohlen. Hardware-AAC-Decodierung ist auf allen modernen Geräten verfügbar und minimiert den Stromverbrauch.
Opus ist ein offener Audiocodec der IETF (RFC 6716), der bei Bitraten von 6 bis 510 kbit/s die beste Qualität aller Audiocodecs bietet. Opus kombiniert SILK (Algorithmus für Sprache) und CELT (für Musik) und wechselt automatisch den Modus je nach Inhalt.
Opus wird in WebRTC für Videoanrufe, in Spotify- und Discord-Anwendungen verwendet und ist ab iOS 11 und Android 5.0 in HLS unterstützt. Die geringe Latenz von Opus (5–26 ms gegenüber 40–100 ms bei AAC) macht es zur bevorzugten Wahl für Live-Übertragungen und Videokonferenzen.
Die Codierungsparameter bestimmen die endgültige Dateigröße, die Videoqualität und die Gerätekompatibilität. Ein Entwickler mobiler Anwendungen muss die optimalen Einstellungen für jede Art von Inhalt wählen: Filme, Sportübertragungen, benutzergenerierte Inhalte.
Bitrate ist die Anzahl der Bits, die zum Codieren einer Sekunde Video verwendet werden. Es gibt CBR (Constant Bitrate) für Live-Übertragungen, VBR (Variable Bitrate) mit Zielqualität für die Archivierung und ABR (Average Bitrate) für Streaming.
| Auflösung | H.264 (empfohlen) | H.265/HEVC | AV1 |
|---|---|---|---|
| 360p | 400–800 kbit/s | 250–500 kbit/s | 200–400 kbit/s |
| 720p | 1,5–4 Mbit/s | 1–2,5 Mbit/s | 0,8–2 Mbit/s |
| 1080p | 3–8 Mbit/s | 2–5 Mbit/s | 1,5–4 Mbit/s |
| 4K (2160p) | 15–40 Mbit/s | 10–25 Mbit/s | 8–20 Mbit/s |
CRF (Constant Rate Factor) ist ein Codierungsparameter in x264 und x265, der die Zielqualität anstelle einer festen Bitrate festlegt. Die CRF-Skala reicht von 0 (verlustfrei) bis 51 (schlechteste Qualität), wobei 18–28 der Arbeitsbereich ist. Für mobile Anwendungen werden CRF 23 für x264 und CRF 25 für x265 empfohlen.
CRF 18–20 bietet hohe Qualität für Präsentationsinhalte und Offline-Ansicht. CRF 24–28 eignet sich für Streaming und benutzergenerierte Inhalte, bei denen die Dateigröße wichtiger ist als die absolute Qualität.
Der H.264-Standard definiert Profile (Baseline, Main, High) und Stufen (Level 1–5.2), die die maximalen Videoparameter begrenzen. Baseline Profile ist mit allen Geräten kompatibel, unterstützt jedoch keine B-Frames. High Profile bietet maximale Qualität und wird für 1080p-Inhalte verwendet.
Für 4K-Streaming ist Level 5.1 und höher erforderlich, das von den meisten mobilen Geräten ab 2018 unterstützt wird. Die Codec-Stufe bestimmt die maximale Auflösung, Bitrate und Puffergröße und gewährleistet so die korrekte Decodierung auf allen zertifizierten Geräten.
Die Codierung für Streaming unterscheidet sich von der Archivcodierung durch die Notwendigkeit, mehrere Qualitätsvarianten (ABR-Leiter) zu erstellen und für die Netzwerkübertragung zu optimieren. Inhaltsanbieter verwenden Echtzeit-Transcodierung oder Vorcodierung für VOD.
Eine typische ABR-Leiter für mobile Anwendungen umfasst 4–6 Varianten: von 144p (200 kbit/s) für schwache Netzwerke bis zu 1080p (8 Mbit/s) für Wi-Fi. Empfohlene Auflösungen: 144p, 240p, 360p, 480p, 720p, 1080p. Für 4K-Inhalte werden 1440p und 2160p hinzugefügt.
val mediaCodec = MediaCodec.createEncoderByType(
MediaFormat.MIMETYPE_VIDEO_AVC
)
val format = MediaFormat.createVideoFormat(
MediaFormat.MIMETYPE_VIDEO_AVC,
1280, 720
).apply {
setInteger(MediaFormat.KEY_BIT_RATE, 3_000_000)
setInteger(MediaFormat.KEY_FRAME_RATE, 30)
setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 2)
setInteger(MediaFormat.KEY_PROFILE,
MediaCodecInfo.CodecProfileLevel.AVCProfileHigh)
setInteger(MediaFormat.KEY_LEVEL,
MediaCodecInfo.CodecProfileLevel.AVCLevel31)
}
mediaCodec.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE)
Bei Live-Übertragungen ist geringe Latenz besonders wichtig. Die Codierungseinstellungen sollten die Eingabe-/Ausgabeverzögerung des Codecs minimieren: Eine GOP-Größe von 1–2 Sekunden (alle 30–60 Bilder) wird empfohlen, B-Frames sollten deaktiviert oder minimiert werden, und für H.264 wird Baseline Profile verwendet.
Moderne Low-Latency-Protokolle — LL-HLS und CMAF-Low Latency — erfordern fragmentierte Codierung mit 1–2-Sekunden-Segmenten und Unterstützung für partielle Downloads (Partial Segments). Der Codec muss moof-box in jedem Segment für fragmentiertes MP4 unterstützen.
Häufig gestellte Fragen
Videocodierung ist der Prozess der Komprimierung eines digitalen Videosignals mithilfe von Codecs zur Reduzierung der Datenmenge. In mobilen Anwendungen ermöglicht die Codierung die Übertragung und Speicherung von Video, wobei die Größe um ein Vielfaches reduziert wird, ohne dass auf dem Gerätebildschirm ein merklicher Qualitätsverlust auftritt.
H.264 bietet maximale Kompatibilität mit älteren Geräten, während H.265 bei gleicher Qualität 40–50% effizienter ist. Für 1080p und darunter ist H.264 ausreichend; für 4K wird H.265 oder AV1 empfohlen, wenn das Gerät es unterstützt.
Bitrate ist die Datenmenge pro Sekunde Video. Für 1080p beträgt die optimale Bitrate 3–8 Mbit/s für H.264 und 2–5 Mbit/s für H.265. Die Wahl hängt vom Inhalt ab: dynamische Szenen (Sport) erfordern eine höhere Bitrate, statische Szenen (Interviews) eine niedrigere.
VP9 ist der Vorgänger von AV1 von Google und bietet eine Komprimierung auf dem Niveau von H.265. AV1 komprimiert 20–30% effizienter als VP9, benötigt aber 5–10 mal mehr Codierungsressourcen. VP9 ist besser für YouTube, AV1 für Netflix und moderne Streaming-Dienste.
Für Live-Übertragungen verwenden Sie H.264 Baseline Profile mit GOP von 1–2 Sekunden, ohne B-Frames, Bitrate 2–4 Mbit/s für 1080p. Aktivieren Sie fragmentiertes MP4 (CMAF) für LL-HLS und verwenden Sie Hardware-Codierung über MediaCodec oder VideoToolbox.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch