Video Flash (.flv)
Specificația StandardFlash Video (FLV) este un format de container dezvoltat de Macromedia și Adobe pentru livrarea de conținut video și audio sincronizat pe web prin intermediul plugin-ului de browser Adobe Flash Player.
Inspectare și metadate
Sistemele de operare și analizatoarele de fișiere identifică fișierele FLV prin inspectarea secvenței binare inițiale:
Semnătura antetului la nivel de octet (octeți magici)
Sistemele de operare și analizatoarele de fișiere identifică fișierele FLV prin inspectarea secvenței binare inițiale:
SEMNĂTURĂ HEXAZECIMALĂ (DECALAJ 0):
46 4C 56 01REPREZENTARE ASCII: FLV
Standardizare: Specificația Adobe Systems pentru formatul de fișier Flash Video
Specificații tehnice
| Arhitectură container | Container de transmisie în flux, bazat pe etichete, cu etichete intercalate pentru audio, video și date de script |
| Compresie | Video Sorenson Spark, VP6 sau H.264 cu audio MP3 sau AAC |
| Ordinea octeților | Ordinea biților și octeților Big-Endian |
| Spații de culoare | YUV 4:2:0 |
| Canale și structură | Audio mono sau stereo împreună cu flux video |
| Dimensiuni maxime | De regulă, până la 1080p |
| Transparență | Transparență prin canal alfa acceptată în fluxurile video VP6 |
| Streaming și progresiv | Compatibilitate nativă cu transmisia în flux RTMP (Real-Time Messaging Protocol) |
Matrice de comparație tehnică: FLV vs. concurenți
| Atribut tehnic | FLV (Curent) | MP4 | WEBM | MKV |
|---|---|---|---|---|
| Suport pentru browser astăzi | 0% (Eliminat complet din toate browserele moderne) | Compatibil cu numeroase browsere actuale; disponibilitatea variază în funcție de versiune și platformă | Compatibil cu numeroase browsere actuale; disponibilitatea variază în funcție de versiune și platformă | Necesită un player media pentru desktop |
| Standardizare | Specificație proprietară Adobe | Standard deschis internațional ISO/IEC | Standard deschis W3C / WebM | Standard Matroska cu sursă deschisă |
| Redare pe dispozitive mobile | Neacceptat nativ pe iOS și Android modern | Suport hardware nativ | Suport hardware nativ | Acceptat prin VLC/aplicații terțe |
| Transparență alfa | Acceptat prin codec-ul On2 VP6 | Limitat (necesită canvas sau WebCodecs) | Suport nativ pentru canalul alfa (VP9) | Acceptat în fluxurile VP9/ProRes |
Moduri comune de corupție și ghid de recuperare hexazecimală
Videoclipul FLV descărcat afișează durata totală ca „necunoscută” și nu poate fi derulat.
Cauză principală: Lipsește eticheta de script „onMetaData” care conține marcajul de timp al cadrelor cheie și tabelele de dimensiune a fișierului.
Recuperare: Adaugă tabelele de cadre cheie lipsă cu „yamdi” (Yet Another MetaData Injector) sau convertește fișierul în MP4 cu File2File.app.
Analiză de securitate și vectori de atac asupra parserului
Plugin-ul Flash Player a fost din punct de vedere istoric una dintre cele mai exploatate componente software din istoria computerelor din cauza erorilor de corupție a memoriei în ActionScript și în parsarea FLV.
Vectori de atac cunoscuți
- Use-after-free și depășirea heap-ului în motorul de parsare ActionScript 3 FLV (de exemplu, CVE-2015-5122).
- Pachetele de metadate AMF0/AMF3 malformate pot provoca coruperea memoriei în analizatoare vulnerabile.
- Depășiri de tampon în vechile rutine de decompresie Sorenson Spark.
Cele mai bune practici de securitate: Nu rula niciodată pluginuri Flash Player native. Transcodează fișierele FLV arhivate direct în MP4 cu FFmpeg într-un mediu izolat.
Origini istorice și repere
Avantaje cheie și beneficii
- Pionier istoric al videoclipurilor omniprezente pe internet: a permis redarea video pe web fără playere desktop independente.
- A acceptat transparența alfa în fluxurile video utilizând codec-ul On2 VP6.
- Cost redus al pachetelor, optimizat pentru difuzare video live RTMP cu latență redusă.
Limitări tehnice și dezavantaje
- Complet învechit și neacceptat în toate browserele web moderne în urma eliminării treptate a Flash Player.
- Necesită recodare sau schimbarea containerului în MP4 pentru redare pe iOS, Android și televizoare inteligente.
- Nu dispune de caracteristici moderne ale containerului, cum ar fi audio cu mai multe piste și streaming adaptiv cu rată de biți.
Curiozități tehnice interesante
- Primul videoclip încărcat vreodată pe YouTube („Me at the zoo" în aprilie 2005) a fost codificat și livrat ca fișier FLV.
- Secvența de octeți magici a Flash Video „46 4C 56 01" reprezintă în ASCII „FLV", urmat de versiunea 1 a containerului.
- Steve Jobs și-a publicat celebra scrisoare deschisă „Gânduri despre Flash" în 2010, care a accelerat trecerea industriei de la FLV la HTML5 MP4.
Întrebări tehnice frecvente
De ce nu mai pot reda fișiere FLV pe computerul meu?
Adobe și toate browserele web majore au retras oficial Flash Player în decembrie 2020 din cauza vulnerabilităților de securitate. Pentru a reda fișiere FLV astăzi, folosește playerul media VLC sau convertește-le în MP4.
Pot converti FLV în MP4 fără pierderi de calitate?
Fluxurile H.264 și AAC compatibile pot fi remuxate din FLV în MP4 fără recodare; durata depinde de fișier și dispozitiv.
Ce codecuri foloseau inițial videoclipurile FLV?
Fișierele FLV timpurii foloseau Sorenson Spark (o variantă de H.263) și ulterior On2 VP6, înainte ca Adobe să adauge suport pentru standardul H.264 în 2007.