Per rispondere a queste domande mi son dovuto chiarire un po' le idee sui formati video, sui formati audio e sul concetto di formato contenitore. I più attenti avranno notato che nella lista iniziale ho volutamente mischiato formati video e file contenitori.
Parlerò di conversioni, software e ridimensionamenti in altri articoli, questo articolo mi serve come premessa per cominciare a introdurre l'argomento.
Per capire facciamo un piccolo passo indietro. Cos'è il formato di un file? I file altro non sono che sequenze ordinate di bit 0001000100000011111010101. A seconda di come sono fatte queste sequenze, del formato che hanno, queste sequenze potranno rappresentare video, audio, documenti, foto, ecc... Il sistema operativo ha dei suoi trucchi per identificare il formato del file: Windows usa l'estensione del file, una serie di lettere unita al nome del file attraverso un punto (ad esempio il file pippo.txt viene identificato come un file di testo - txt è l'estensione dei file di testo); i sistemi Unix-like, tipo GNU/Linux, utilizzano i primi byte del file per identificarne il tipo. I tipi di file esistenti sono innumerevoli, e tali sono i formati dei file.
Prendiamo ora il caso di tipi simili, ad esempio formati di flussi video. Non esiste un solo formato video, bensì si può codificare un flusso video in tanti modi. E' possibile memorizzare ogni singolo fotogramma, oppure ricostruire il fotogramma successivo a partire dalle variazione dal precedente. E' possibile rendere il file più piccolo perdendo qualcosa, oppure preservare il flusso originale. Si possono aggiungere protezioni, cifrature... insamma, le tecniche per codificare flussi video sono molte e molti sono i formati video esistenti. Per essere visti sul proprio computer, oltre che di un lettore (player) si dovrà disporre anche degli opportuni codec, alias dei decodificatori.
Attenzione, per ora ho parlato solo di flusso video, niente audio. Lo stesso discorso di può fare per l'audio. Esistono tanti formati, il più famoso è il formato mp3.
Ecco allora che si intuisce l'origine della complicazione. Flussi audio e video sono due cose distinte. Ho un formato per il video e un formato per l'audio. Ora li devo unire in una sorta di contenitore. Ecco quindi i formati contenitore, formati di file che possono contenere diversi tipi di dati audio/video. Ogni tipo di formato contenitore può però supportare solo alcuni tipi di flussi video e audio.
Facciamo un esempio. Prendiamo il tipo contenitore AVI: Audio Video Interleave, realizzato da Microsoft nel 1992. AVI non è un formato video, bensì un contenitore che contiene flussi video e audio. Può contenere due flussi audio e uno video. Supporta i formati video: MPEG-1, MPEG-2, MPEG-4, WMV, RealVideo, Theora; ma non supporta il formato video flash. Supporta i seguenti formati audio: MP3,
WMA, AC3, DTS; mentre non supporta: RealAudio, Vorbis e FLAC.
Ecco che se cercate di creare un AVI con flusso video in MPEG-2 e audio RealAudio avrete un file muto, perché RealAudio non è supportato da questo formato.
Dato che più codifiche video possono avere lo stesso contenitore può succedere che alcune volte riusciate ad aprire un file AVI senza problemi, mentre altre volte il computer vi chieda di installare il codec opportuno: non basta che il file sia AVI per essere letto, bisogna avere il codec per il flusso video del file.
Concludo osservando che nei formati contenitore recenti è possibile anche aggiungere il flusso dei sottotitoli, in questo modo i sottotitoli non sono sovraimpressi nel flusso video, ma possono essere attivati a piacimento.
Per approfondire:
Che ne pensate di queste informazioni? Possono esservi utili? Sicuramente sono un po' troppo teorico per ora. Credo comunque che parlarne in un blog sul mondo della scuola sia utile: noi e i nostri studenti produciamo video e saperli manipolare diventa fondamentale.