FLV è Flash Video, il formato che il Flash Player di Adobe usava per mostrare video in un browser web. È stato creato da Macromedia, l'azienda dietro Flash, e passò ad Adobe quando Adobe acquistò Macromedia nel 2005. Per circa un decennio è stato il modo in cui funzionava il video online: un clip visto in un browser in quel periodo con ogni probabilità arrivava come FLV. Adobe ha interrotto il supporto per Flash Player l'ultimo giorno del 2020 e i browser lo hanno rimosso, quindi nessuna pagina web riproduce più FLV. I file però non sono scomparsi. Restano nelle cartelle dei download e negli archivi, e si riproducono ancora in un lettore multimediale desktop.
Come è strutturato un file FLV
FLV ha una struttura sorprendentemente semplice, perché è stato creato per lo streaming e non per l'archiviazione. Un breve header identifica il file e indica se contiene audio, video o entrambi. Dopo di questo, il file non è altro che una catena di tag, ciascuno un piccolo pacchetto con un tipo, un timestamp e un payload. Tag audio, tag video e tag script sono interlacciati in ordine temporale, e un lettore li legge semplicemente in sequenza. Non esiste un indice centrale, motivo per cui cercare un punto specifico in un FLV può essere scomodo.
Il contenitore non comprime nulla di per sé. I primi file FLV usavano Sorenson Spark per il video, quelli successivi il codec On2 VP6 e, una volta che Flash Player ne ebbe la capacità, video H.264 con audio AAC, tutti con compressione lossy. Adobe alla fine introdusse F4V come sostituto, basato sulla stessa struttura MP4 utilizzata ovunque.
Quali metadati contiene un file FLV
Quasi tutti i metadati FLV si trovano in un singolo tag script vicino all'inizio del file, di solito chiamato onMetaData. È un elenco di nomi e valori, scritto nel formato dati che Flash usava per comunicare con gli script, e un lettore lo leggeva prima della riproduzione per configurarsi. Le voci che è più probabile vedere sono:
- durata, larghezza e altezza, e frame rate;
- bitrate video e bitrate audio e identificatori numerici per i codec video e audio;
- frequenza di campionamento audio, dimensione del campione e se il suono è stereo;
- dimensione del file e un flag che indica se si può cercare fino alla fine del file;
- un elenco delle posizioni dei keyframe e dei relativi tempi, che è ciò che rendeva possibile la ricerca nel file;
- il nome dell'app che ha scritto o inserito i metadati, poiché esistevano programmi separati pensati solo per aggiungere questo blocco ai file che ne erano privi.
Alcuni file contengono anche un secondo tag script che racchiude un pacchetto XMP, il formato di testo strutturato che Adobe usa in tutti i suoi prodotti, e questo può contenere un titolo, un autore, una descrizione e una nota di copyright inseriti da una persona.
Quello che manca del tutto in FLV sono i metadati della fotocamera. Non c'è un blocco EXIF, nessuna marca o modello di fotocamera, nessun dato su obiettivo o esposizione e nessun campo GPS. La posizione non è mai stata qualcosa che un file Flash Video fosse pensato per registrare. Le uniche tracce di origine sono il nome dell'app che ha scritto il file e ciò che è contenuto in un pacchetto XMP.
C'è anche una lacuna frequente che vale la pena conoscere. Durata e dimensione del file vengono scritte solo quando l'intero file è noto, quindi una registrazione catturata da uno stream live spesso le ha mancanti o impostate a zero. Ecco perché alcuni lettori mostrano un FLV senza timeline e rifiutano di andare avanti: le informazioni di cui un lettore ha bisogno non sono mai state compilate.
Cosa fare oggi con un file FLV
Considera FLV un formato di archivio, non un formato operativo. Non si dovrebbe più creare nulla in FLV, perché la piattaforma per cui esisteva non c'è più.
MP4 è il sostituto sotto ogni aspetto: si riproduce nei browser e sui telefoni, consente una ricerca precisa e contiene molti più metadati. Il modo in cui converti è importante. Un FLV che contiene già video H.264 e audio AAC può di solito essere semplicemente rimuxato in un MP4, riscrivendo solo il contenitore e mantenendo il video bit per bit. Un file più vecchio che usa Sorenson Spark o VP6 deve essere ricodificato, e questo significa un secondo passaggio di compressione lossy, quindi conserva l'originale insieme alla copia se il girato è importante.