Flash-video (.flv)
Adobe StandardFlash Video (FLV) er et beholderformat udviklet af Macromedia og Adobe til at levere synkroniseret video og lyd over nettet via browserpluginet Adobe Flash Player.
Undersøgelse og metadata
Operativsystemer og filanalysatorer identificerer FLV-filer ved at inspicere den indledende binære bytesekvens:
Byte-niveau Header-signatur (Magic Bytes)
Operativsystemer og filanalysatorer identificerer FLV-filer ved at inspicere den indledende binære bytesekvens:
HEX-SIGNATUR (OFFSET 0):
46 4C 56 01ASCII-REPRÆSENTATION: FLV
Standardisering: Adobe Systems Flash Video File Format Specification
Tekniske specifikationer
| Containerarkitektur | Tagbaseret streamingbeholder med indflettede lyd-, video- og scriptdatatags |
| Komprimering | Sorenson Spark-, VP6- eller H.264-video med MP3- eller AAC-lyd |
| Byte-rækkefølge | Big-Endian-bit- og byterækkefølge |
| Farverum | YUV 4:2:0 |
| Kanaler og struktur | Mono- og stereolyd sammen med videostrøm |
| Maks. dimensioner | Typisk op til 1080p |
| Gennemsigtighed | Alfakanalens gennemsigtighed understøttes i VP6-videostrømme |
| Streaming og progressiv | Indbygget understøttelse af RTMP-streaming (Real-Time Messaging Protocol) i realtid |
Teknisk sammenligningsmatrix: FLV sammenlignet med konkurrenterne
| Teknisk attribut | FLV (Aktuel) | MP4 | WEBM | MKV |
|---|---|---|---|---|
| Browser-understøttelse i dag | 0% (Fuldstændig fjernet fra alle moderne browsere) | Understøttes af mange aktuelle browsere; tilgængeligheden afhænger af version og platform. | Understøttes af mange aktuelle browsere; tilgængeligheden afhænger af version og platform. | Kræver en medieafspiller til computer. |
| Standardisering | Proprietær Adobe-specifikation | Åben international ISO/IEC-standard | W3C / WebM åben standard | Open-source Matroska-standard |
| Afspilning på mobilenheder | Ikke understøttet indbygget på iOS og moderne Android | Indbygget hardwareunderstøttelse | Indbygget hardwareunderstøttelse | Understøttet via VLC/tredjepartsapps |
| Alfagennemsigtighed | Understøttet via On2 VP6-codec | Begrænset (kræver canvas eller WebCodecs) | Indbygget alfakanalunderstøttelse (VP9) | Understøttet i VP9/ProRes-strømme |
Almindelige korruptionstilstande og hex-gendannelsesvejledning
En downloadet FLV-video viser den samlede varighed som 'ukendt' og kan ikke spoles i.
Grundlæggende årsag: Manglende 'onMetaData'-script-tag, der indeholder tabeller over nøglebilledernes tidsstempler og filstørrelser.
Gendannelse: Indsæt manglende nøglebilledetabeller ved hjælp af 'yamdi' (Yet Another MetaData Injector) eller konverter til MP4 med File2File.app.
Sikkerhedsanalyse og parser-angrebsvektorer
Flash Player-plugin'et var historisk set en af de mest udnyttede softwarekomponenter i computerteknologiens historie på grund af hukommelseskorruptionsfejl i ActionScript og FLV-parsing.
Kendte angrebsvektorer
- Brug af frigivet hukommelse (use-after-free) og heap-overløb i ActionScript 3-motoren til parsing af FLV (f.eks. CVE-2015-5122).
- Fejlformede AMF0/AMF3-metadata-pakker kan udløse hukommelseskorruption i sårbare parsere.
- Bufferoverløb i ældre Sorenson Spark-dekomprimeringsrutiner.
Defensive bedste praksisser: Kør aldrig indfødte Flash Player-plugins. Omkod arkiverede FLV-filer direkte til MP4 ved hjælp af FFmpeg i en sandkasse.
Historisk oprindelse og milepæle
Vigtige fordele og styrker
- Historisk pioner inden for allestedsnærværende onlinevideo: muliggjorde webvideoafspilning uden fristående stationære medieafspillere.
- Understøttede alfagennemsigtighed i videostrømme ved hjælp af On2 VP6-codecen.
- Lav overhead for pakker optimeret til live videokringkastning med lav latens via RTMP.
Tekniske begrænsninger og ulemper
- Fuldstændig forældet og ikke understøttet af nogen moderne webbrowser efter udfasningen af Flash Player.
- Kræver omkodning eller skift af container til MP4 for afspilning på iOS, Android og smart-tv'er.
- Mangler moderne beholderfunktioner såsom flersporslyd og responsiv adaptiv bitratestreaming.
Interessante tekniske fakta
- Den første video nogensinde uploadet til YouTube ('Me at the zoo' i april 2005) blev kodet og leveret som en FLV-fil.
- Flash Videos magiske bytesekvens '46 4C 56 01' staver ASCII 'FLV' efterfulgt af containerversion 1.
- Steve Jobs udgav sit berømte åbne brev 'Thoughts on Flash' i 2010, hvilket accelererede branchens skift fra FLV til HTML5 MP4.
Ofte stillede tekniske spørgsmål
Hvorfor kan jeg ikke afspille FLV-filer på min computer længere?
Adobe og alle større webbrowsere indstillede officielt understøttelsen af Flash Player i december 2020 på grund af sikkerhedssårbarheder. For at afspille FLV-filer i dag skal du bruge VLC media player eller konvertere dem til MP4.
Kan jeg konvertere FLV til MP4 uden kvalitetstab?
Kompatible H.264- og AAC-streams kan remuxes fra FLV til MP4 uden genkodning; behandlingstiden afhænger af filen og enheden.
Hvilke codecs brugte FLV-videoer oprindeligt?
Tidlige FLV-filer brugte Sorenson Spark (en variant af H.263) og senere On2 VP6, før Adobe tilføjede understøttelse af standard H.264 i 2007.