Video-Codecs fürs Internet: Komprimieren und Dekomprimieren

Video Codecs komprimieren und dekomprimieren

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

Das Container-Format ist nur die Verpackung für das Video. Der Video-Codec ist ein Algorithmus, nach dem ein Videostream encodiert und beim Betrachter wieder decodiert wird.

Codecs minimieren die Informationsmenge eines Videos, z.B. indem sie 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 hohe Kompressionsrate entsteht, die wiederum zu kleinen Dateigrößen führt.

Video-Codecs sind i.d.R. verlustbehaftet – ähnlich wie JPEG beim Bild. 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. H.264 oder Theora OGG) komprimiert und muss beim Empfänger 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 (das Flash-Video-Plugin natürlich … ).

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.

H.265 | ist Nachfolger des H.264/MPEG-4-AVC-Standards und soll eine doppelt so starke Kompression 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 genutzt werden. Alle Linux-Distributionen unterstützen Theora von Haus aus und auch Firefox spielt Theora ohne Plugin in einem Ogv-Container ab.

VP8 | Der WebM-Standard besteht aus dem Video-Codec VP8, der von On2 Technologies entwickelt wurde, und dem Audio-Codec Vorbis in einem auf einer Untermenge von Matroska basierenden Containerformat.

Video-Dateiformat und -Codec

Unterschiedliche Video-Formate unterstützen unterschiedliche Codecs:

MP4OGGFLVH.264OGVH.264IE 9+, SafariChrome, FirefoxNur mit Plugin

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.