Vidéo Flash (.flv)
Adobe StandardFlash Video (FLV) est un format de conteneur développé par Macromedia et Adobe pour diffuser des flux vidéo et audio synchronisés sur le Web via l’extension de navigateur Adobe Flash Player.
Inspection et métadonnées
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers FLV en inspectant leur séquence initiale d'octets binaires :
Signature d'en-tête au niveau des octets (octets magiques)
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers FLV en inspectant leur séquence initiale d'octets binaires :
SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :
46 4C 56 01REPRÉSENTATION ASCII : FLV
Normalisation : Adobe Systems Flash Video File Format Specification
Spécifications techniques
| Architecture de conteneur | Conteneur de diffusion en continu basé sur des balises, avec des balises de données audio, vidéo et de script entrelacées |
| Compression | Vidéo Sorenson Spark, VP6 ou H.264 avec audio MP3 ou AAC |
| Ordre des octets | Ordre des bits et des octets gros-boutiste |
| Espaces colorimétriques | YUV 4:2:0 |
| Canaux et structure | Audio mono et stéréo avec flux vidéo |
| Dimensions maximales | Généralement jusqu'à 1080p |
| Transparence | Transparence du canal alpha prise en charge dans les flux vidéo VP6 |
| Prise en charge du traitement en continu | Prise en charge native de la diffusion en direct via RTMP (Real-Time Messaging Protocol) |
Matrice de comparaison technique : FLV face aux concurrents
| Attribut technique | FLV (Actuel) | MP4 | WEBM | MKV |
|---|---|---|---|---|
| Prise en charge actuelle par les navigateurs | 0 % (abandonné par tous les navigateurs modernes) | 100 % universel sur tous les navigateurs | 100 % pris en charge par les navigateurs modernes | Nécessite un lecteur multimédia de bureau |
| Standardisation | Spécification propriétaire Adobe | Norme internationale ouverte ISO/IEC | Norme ouverte W3C / WebM | Norme libre Matroska |
| Lecture sur appareil mobile | Non pris en charge nativement sur iOS et les appareils Android modernes | Prise en charge matérielle native | Prise en charge matérielle native | Pris en charge via VLC/applications tierces |
| Transparence alpha | Pris en charge via le codec On2 VP6 | Limité (nécessite un canvas ou WebCodecs) | Prise en charge native du canal alpha (VP9) | Pris en charge dans les flux VP9/ProRes |
Modes de corruption courants et guide de restauration hexadécimale
La durée totale de la vidéo FLV téléchargée est indiquée comme « inconnue » et il est impossible d’avancer dans la vidéo.
Cause initiale: Absence de la balise de script 'onMetaData' contenant les tables d'horodatage des images clés et de taille de fichier.
Récupération: Injectez les tables d'images clés manquantes à l'aide de 'yamdi' (Yet Another MetaData Injector) ou convertissez le fichier au format MP4 avec File2File.app.
Analyse de sécurité et vecteurs d'attaque de l'analyseur
L’extension Flash Player a longtemps été l’un des composants logiciels les plus exploités de l’histoire de l’informatique, en raison de bogues de corruption de mémoire dans ActionScript et dans l’analyse des fichiers FLV.
Vecteurs d’attaque connus
- Utilisation après libération (Use-after-free) et dépassement de tas dans le moteur d'analyse ActionScript 3 FLV (par ex. CVE-2015-5122).
- Des paquets de métadonnées AMF0/AMF3 malformés peuvent provoquer une corruption de mémoire dans les analyseurs vulnérables.
- Dépassements de tampon dans les routines de décompression Sorenson Spark héritées.
Bonnes pratiques de défense: N’exécutez jamais les extensions natives Flash Player. Convertissez les fichiers FLV archivés directement en MP4 à l’aide de FFmpeg dans un environnement isolé.
Origines historiques et jalons
Principaux avantages
- Pionnier historique de la vidéo en ligne omniprésente : a permis la lecture vidéo sur le Web sans lecteurs de bureau autonomes.
- Prend en charge la transparence alpha dans les flux vidéo à l'aide du codec On2 VP6.
- Faible surcharge de paquets, optimisée pour la diffusion vidéo en direct via RTMP à faible latence.
Limites techniques
- Complètement obsolète et non pris en charge dans tous les navigateurs Web modernes suite à l'abandon de Flash Player.
- La lecture sur iOS, Android et les téléviseurs connectés nécessite un réencodage ou un changement de conteneur au format MP4.
- Ne dispose pas de fonctionnalités de conteneur modernes telles que l'audio multipiste et la diffusion adaptative à débit variable.
Faits intéressants
- La première vidéo mise en ligne sur YouTube (« Me at the zoo », en avril 2005) a été encodée et diffusée au format FLV.
- La séquence d’octets magiques de Flash Video '46 4C 56 01' correspond aux caractères ASCII 'FLV', suivis de la version 1 du conteneur.
- Steve Jobs a publié sa célèbre lettre ouverte 'Thoughts on Flash' en 2010, ce qui a accéléré le passage de l'industrie du FLV au MP4 HTML5.
Foire aux questions techniques
Pourquoi ne puis-je plus lire les fichiers FLV sur mon ordinateur ?
Adobe et tous les principaux navigateurs Web ont officiellement abandonné Flash Player en décembre 2020 en raison de vulnérabilités de sécurité. Pour lire les fichiers FLV aujourd'hui, utilisez le lecteur multimédia VLC ou convertissez-les en MP4.
Puis-je convertir un fichier FLV en MP4 sans perte de qualité ?
Les flux H.264 et AAC compatibles peuvent être remultiplexés de FLV en MP4 sans réencodage ; la durée dépend du fichier et de l’appareil.
Quels codecs les vidéos FLV utilisaient-elles à l’origine ?
Les premiers fichiers FLV utilisaient Sorenson Spark (une variante de H.263) puis On2 VP6, avant qu'Adobe n'ajoute la prise en charge du format standard H.264 en 2007.