Flash-video (.flv)
Adobe StandardFlash Video (FLV) er et beholderformat utviklet av Macromedia og Adobe for å levere synkronisert video og lyd over nettet via nettlesertillegget Adobe Flash Player.
Inspeksjon og metadata
Operativsystemer og filanalysatorer identifiserer FLV-filer ved å undersøke den innledende binære bytesekvensen:
Filsignatur på bytenivå (magiske byte)
Operativsystemer og filanalysatorer identifiserer FLV-filer ved å undersøke den innledende binære bytesekvensen:
HEX-SIGNATUR (OFFSET 0):
46 4C 56 01ASCII-REPRESENTASJON: FLV
Standardisering: Adobe Systems Flash Video File Format Specification
Tekniske spesifikasjoner
| Beholderarkitektur | Taggbasert strømmebeholder med sammenflettede lyd-, video- og skriptdata |
| Komprimering | Sorenson Spark-, VP6- eller H.264-video med MP3- eller AAC-lyd |
| Bytterekkefølge | Big-endian bit- og byterekkefølge |
| Fargerom | YUV 4:2:0 |
| Kanaler og struktur | Mono- og stereolyd med videostrøm |
| Maks. dimensjoner | Vanligvis opptil 1080p |
| Gjennomsiktighet | Alfakanal for gjennomsiktighet støttes i VP6-videostrømmer |
| Strømming og progressiv visning | Innebygd støtte for RTMP (Real-Time Messaging Protocol) direktestrømming |
Teknisk sammenligningsmatrise: FLV sammenlignet med konkurrenter
| Teknisk attributt | FLV (Gjeldende) | MP4 | WEBM | MKV |
|---|---|---|---|---|
| Nettleserstøtte i dag | 0 % (Fullstendig fjernet fra alle moderne nettlesere) | Støttes av mange av dagens nettlesere; tilgjengeligheten varierer med versjon og plattform | Støttes av mange av dagens nettlesere; tilgjengeligheten varierer med versjon og plattform | Krever stasjonær mediespiller |
| Standardisering | Proprietær Adobe-spesifikasjon | ISO/IEC internasjonal åpen standard | W3C / WebM åpen standard | Åpen kildekode Matroska-standard |
| Avspilling på mobilenhet | Støttes ikke innebygd på iOS og moderne Android | Innebygd maskinvarestøtte | Innebygd maskinvarestøtte | Støttes via VLC / tredjepartsapper |
| Alfatransparens | Støttes via On2 VP6-kodek | Begrenset (krever canvas eller WebCodecs) | Innebygd støtte for alfakanal (VP9) | Støttes i VP9/ProRes-strømmer |
Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning
Nedlastet FLV-video viser total varighet som 'ukjent' og det er ikke mulig å spole frem og tilbake i videoen.
Underliggende årsak: Manglende 'onMetaData'-skripttagg som inneholder tabeller over nøkkelbildetidsstempel og filstørrelse.
Utbedring: Injiser manglende nøkkelbildetabeller ved hjelp av 'yamdi' (Yet Another MetaData Injector) eller konverter til MP4 med File2File.app.
Sikkerhetsanalyse og angrepsvektorer mot parsere
Flash Player-tillegget var historisk sett en av de mest utnyttede programvarekomponentene i databehandlingens historie på grunn av minnekorrupsjonsfeil i ActionScript og FLV-parsing.
Kjente angrepsvektorer
- Bruk etter frigjøring og heap-overflyt i ActionScript 3-motoren for parsing av FLV (f.eks. CVE-2015-5122).
- Feilformede AMF0/AMF3-metadata-pakker kan føre til minnekorrupsjon i sårbare parsere.
- Bufferoverflyt i eldre Sorenson Spark-dekompresjonsrutiner.
Anbefalte sikkerhetstiltak: Kjør aldri Flash Player-tillegg som innebygde programtillegg. Transkod arkiverte FLV-filer direkte til MP4 ved hjelp av FFmpeg i en sandkasse.
Historisk opprinnelse og milepæler
Viktige fordeler
- Historisk pioner innen allestedsnærværende nettvideo: muliggjorde avspilling av nettvideo uten frittstående stasjonære spillere.
- Støttet alfatransparens i videostrømmer ved hjelp av On2 VP6-kodeken.
- Lite ekstra belastning fra pakker, optimalisert for RTMP-direktesending av video med lav latens.
Tekniske begrensninger og ulemper
- Helt foreldet og støttes ikke i noen moderne nettlesere etter utfasingen av Flash Player.
- Krever omkoding eller beholderbytte til MP4 for avspilling på iOS, Android og smart-TV-er.
- Mangler moderne beholderfunksjoner som flerkanalslyd og adaptiv strømming med variabel bitrate.
Interessante tekniske fakta
- Den første videoen som noen gang ble lastet opp til YouTube ('Me at the zoo' i april 2005) ble kodet og levert som en FLV-fil.
- Flash Videos magiske bytesekvens '46 4C 56 01' består av ASCII-tegnene 'FLV' etterfulgt av beholderversjon 1.
- Steve Jobs publiserte sitt berømte åpne brev 'Thoughts on Flash' i 2010, noe som akselererte industriens overgang fra FLV til HTML5 MP4.
Ofte stilte tekniske spørsmål
Hvorfor kan jeg ikke lenger spille av FLV-filer på datamaskinen min?
Adobe og alle større nettlesere avsluttet offisielt Flash Player i desember 2020 på grunn av sikkerhetssårbarheter. For å spille av FLV-filer i dag, bruk VLC media player eller konverter dem til MP4.
Kan jeg konvertere FLV til MP4 uten kvalitetstap?
Kompatible H.264- og AAC-strømmer kan remukses fra FLV til MP4 uten ny koding; behandlingstiden avhenger av fil og enhet.
Hvilke kodeker brukte FLV-videoer opprinnelig?
Tidlige FLV-filer brukte Sorenson Spark (en variant av H.263) og senere On2 VP6, før Adobe la til støtte for standard H.264 i 2007.