Come funzionano i codec audio e video? Per quali scopi ed in quale modo si usano?

Iniziamo con l’analisi del nome che è il frutto dell’unione
di due parole CODer e DECoder. Infatti tramite i codec dovrebbe
essere possibile sia decodificare file multimediali, audio
o video che siano, sia crearli. In realtà non sempre i codec
permettono anche la creazione di file, e il motivo spesso è
di natura legale/commerciale.

Il loro funzionamento interno è spesso molto complesso, proprio
per la natura delle elaborazioni che devono fare. Mentre lo
scopo è quello di permettere l’espandibilità dei vari player,
in modo che possano visualizzare o farci ascoltare il contenuto
di file scritti in un formato che al momento della loro uscita
non comprendevano.

Indipendentemente dal formato del file, il contenuto è sempre lo
stesso, cioè un filmato o un audio, destinati ad essere riprodotti.
Per cui si è
pensato di introdurre un livello software in più tra il file e
il player, che filtri l’accesso al file stesso e che faccia
“vedere” al player sempre lo stesso tipo di oggetto anche se il formato
del file varia.

Per poter usare i codec, è necessario innanzitutto conoscere la
loro esistenza, ed è per questo che nei sistemi windows esistono
parti del file di registro, che raccolgono informazioni
sui i vari filtri multimediali installati. In genere la loro
interazione con i player avviene tramite interfacce COM.
In poche parole, quando diciamo al nostro player preferito di
aprire un file multimediale, lui non farà altro che recuperare la
lista dei codec installati, e cercare di aprire il file con
ognuno. Se uno dei codec darà esito positivo, il player lo userà
per farci vedere o sentire il file.

Come abbiamo visto il loro uso è del tutto trasparente all’utente
ed è gestito completamente dal player. Alcuni player gestiscono
persino l’installazione dei codec necessari. Comunque è
possible installarli anche manualmente. Sui sistemi windows
i codec che sfruttano la tecnologia COM, sono generalmente sotto forma di
DLL che vanno registrate, procedura che consiste nell’inserire
nel file di registro tutte le interfacce pubbliche del codec.
Per fare questo è necessario eseguire il comando
“regsvr32 <nome della dll>”, mentre per la sua disinstallazione
basterà aggiungere al comando di prima l’opzione “/u”.

Altri sistemi operativi utilizzano qualche meccanismo di comunicazione fra
processi diverso da COM, ma la struttura non varia. Ossia si tratta sempre
di un filtro per l’accesso al file.

L’esistenza di diversi formati e relativi CODEC nasce da ragioni tecniche
e commerciali. Le varie società che operano in ambito multimediale spesso
preferiscono definire i propri formati di codifica, per ottimizzare il
loro uso da parte delle loro applicazioni. E oltre a questo, definendo
un loro formato proprietario, non sono costrette a pagare licenze
d’uso. Questo vale principalmente per la generazione di file, infatti
molti codec in realtà sono solo dei decoder.

In questo modo le aziende possono aggiungere il supporto in lettura dei
vari formati alle loro applicazioni senza spese aggiuntive, mentre utilizzano
per il salvataggio il loro formato proprietario.