Video-Codecs fürs Internet: Komprimieren und Dekomprimieren

Video Codecs komprimieren und dekomprimieren

Video kann nicht unkomprimiert über das Internet abgespielt werden - dafür sind die Datenmengen eines Videos zu groß (selbst auf DVDs und BlueRays ist das Video immer komprimiert).

23-02-02 SITEMAP CSS HTML JS Basis JS Web Tutorial SVG

Video-Codec

Das Container-Format ist nur die Verpackung des Videos. Der Video-Codec ist ein Algorithmus, nach dem ein Videostream encodiert (gepackt) und beim Betrachter wieder decodiert (entpackt) wird. Ein Codec minimiert die Informationsmenge eines Videos, z.B. indem er nicht jedes Einbild speichern, sondern nur die Unterschiede zwischen den einzelnen Bildern oder Frames.

Bei den meisten Videos ist der Unterschied zwischen zwei aufeinander folgenden Bildern ausgesprochen gering, so dass beim Speichern der reinen Unterschiede eine starke Komprimierung entsteht, die wiederum zu kleinen Dateigrößen führt.

Video-Codecs sind i.d.R. verlustbehaftet – ähnlich wie JPEG beim Foto. Moderne Video-Codecs sind z.B. MPEG-4 ASP, H.264, H.265, VC-I, Theora und Dirac.

video-codec

Das Video wird mit einem »Codec« (z.B. MP4 H.264 oder OGG theora) komprimiert und muss zum Abspielen beim Empfänger mit dem passenden Decoder decodiert werden.

Der Browser wird zum Video-Player

Es gibt unzählige Codecs, die einander durch bessere Komprimierung und unterschiedliche Funktionen Konkurrenz machen, aber bei einem Video in der Webseite gilt nur die Frage, ob der Browser das Video abspielen kann – also den Codec bereits mitbringt oder ob ein Plugin für den Codec installiert ist.

AVC H.264
wurde von der MPEG-Gruppe entwickelt und ist für Geräte mit einer schmalen Bandbreite und schwächere CPUs gedacht (u.a. Smartphones). Die meisten Handys benutzten einen H.264-Decoder-Chip, da ihre CPU gar nicht in der Lage wäre, den Film zu decodieren. Auf Grafikkarten findet man ebenfalls oft H.264-Chips.
HEVC H.265
(High Efficiency Video Coding) ist Nachfolger des H.264/MPEG-4-AVC-Standards und soll eine doppelt so starke Komprimierung bei gleichbleibender Qualität liefern (ein Ziel, dass aber nicht unbedingt erreicht wird). H.265 braucht weniger Speicherplatz und zielt auf hochaufgelöstes Video (4K) und besseres Streaming über die Internetverbindung.
Theora
ist lizenzfrei und (wahrscheinlich) keinerlei Patenten unterworfen. Der Standard wurde 2004 eingefroren, kann aber in den meisten Containerformaten (z.B. Ogg) genutzt werden. Alle Linux-Distributionen unterstützen Theora von Haus aus und auch Firefox spielt Theora ohne Plugin in einem Ogg-Container ab.
VP8
Video Processor 8 besteht aus dem Video-Codec VP8 und dem Audio-Codec Vorbis in den Containerformaten 3GP, Ogg und WebM.
VP9
Video Processor 9 kann in den Containerformaten MP4, Ogg und WebM abgespielt werden.

Video-Dateiformat und -Codec

Unterschiedliche Video-Formate unterstützen unterschiedliche Codecs:

Video-Audio-Codecs
Video-Container-Formate und Codecs für Video / Audio

Damit das komplizierte Geflecht aus Videoformat und Video-Codec schön undurchschaubar bleibt, haben Codecs manchmal auch denselben Namen wie Containerformate.

Richtwerte für die Komprimierung

Auch wenn die Videos vom eigenen Server abgespielt werden – die Einstellungen für YouTube-Video sind ein guter Ausgangspunkt.

  • Progressiver Scan (kein Zeilensprungverfahren)
  • Profil "High"
  • 2 aufeinanderfolgende B-Frames
  • Geschlossene GoP; GoP entspricht der halben Frame-Rate
  • CABAC
  • Variable Bitrate: Es wird keine bestimmte Bitrate vorausgesetzt; unten findest du jedoch empfohlene Bitraten als Richtwert.
  • Chroma-Subsampling: 4:2:0

Quelle: Empfohlene Einstellungen für die Upload-Codierung

H.265 verringert die Dateigröße merklich, braucht aber bei der Komprimierung auch deutlich mehr Rechenzeit.

Video-Einstellungen Handbreak
Beispiel: Mögliche Einstellungen für YouTube-Video in Handbreak

YouTube unterstützt H.265 oder HEVC seit Juni 2017 ohne große Ankündigung.