El término códec procede de las palabras CODificador/DECodificador. Cada códec está constituído por un conjunto de librerías que implementan diferentes algoritmos. El objetivo fundamental de estos algoritmos es la compresión y decompresión de audio y vídeo digital.
Un ejemplo de códec de audio es MP3 y de códec de vídeo es Xvid.
Un contenedor es un tipo de archivo cuyo cometido es almacenar información. Por ejemplo: el formato contenedor AVI puede contener datos de audio en MP3 y de vídeo en DivX, lo que hace posible almacenar un vídeo en el que la imagen y el sonido estén sincronizados. Es importante no confundir este concepto con el de códec; un contenedor sólo almacena la información y un códec es un elemento software que la transforma, no almacena nada.
La mayor parte de la compresión se consigue mediante dos técnicas:
Comprensión sin pérdida de información: "Lossless Data Compression" define el conjunto de algoritmos que permite que la información sea comprimida y decodificada sin perder nada en el proceso.
Comprensión con pérdida de información: "Lossy Data Compression" es el tipo de codificación más típica, ya que se reduce la cantidad de información requerida para hacer llegar al destinatario una imagen en movimiento. Se puede optar por una transformación de la información original en otra más simple, reduciendo la tasa de bits necesaria para ser transmitida, o por la reducción de información a través de la predicción de los cambios en la imagen, enviando tan solo los cambios existentes de un fotograma a otro.