Ein Videocodec (auch Video-Codec) bezeichnet ein Algorithmenpaar zur Kodierung und Dekodierung von digitalen Videos.
Da die anfallende Datenmenge bei Videos verhältnismäßig groß ist, werden im Consumerbereich, zum Beispiel bei DVDs oder Videoportalen, Videos heutzutage verlustbehaftet komprimiert.
Verfahren
Bei der Kompression wird aus dem Quellvideo mit Hilfe eines Algorithmus ein komprimierter Datenstrom erzeugt, der dann übertragen oder gespeichert wird. Zur Wiedergabe der komprimierten Daten muss diese Kompression wieder rückgängig gemacht werden. Die Zeit, die zur Komprimierung, Übertragung, Dekomprimierung und Wiedergabe der Videodaten benötigt wird, wird als Latenz bezeichnet.
Ein zusammengehöriges Algorithmenpaar wird als Videocodec (Encoder/Decoder, englisch für Kodierer/Dekodierer) bezeichnet. Unterschiedliche Videocodecs sind normalerweise nicht zueinander kompatibel, d. h., dass Videoinhalte, die mit dem Encoder eines Codecs komprimiert worden sind, nicht mit dem Decoder eines anderen Codecs dekomprimiert werden können.
Anwendungen und Verbreitung
Je nach Anwendungsgebiet kann man Videocodecs grob in zwei Kategorien unterscheiden: Einerseits Codecs, die das Video in möglichst hoher Qualität erhalten sollen. Solche Codecs sind zum Beispiel MPEG-2 oder H.264 und werden bei DVD-Videos oder digitalem Fernsehen eingesetzt, wo in der Regel eine hohe Übertragungsrate zur Verfügung steht. Andererseits Codecs, die eine möglichst niedrige Datenrate oder nur wenig Energie beim Dekodieren benötigen, zum Beispiel H.263 oder VP8. Sie sind für den Einsatz auf mobilen Endgeräten, wie zum Beispiel Smartphones, gedacht, die nur eine geringe Datenrate empfangen können oder wo nur eine geringere Rechenleistung bzw. wenig Energie zur Verfügung steht.
Die fortschreitend steigende Rechenleistung führt zu immer höheren Kompressionsraten bei gleichzeitig steigender Qualität der Videos.
In den meisten Geräten, die Videos wiedergeben sollen, sind spezielle Grafikchips verbaut, die die Dekodierung des Videos übernehmen oder zumindest unterstützen (siehe auch Hardwarebeschleunigung).