Wideo Flash (.flv)

Specyfikacja Standard

Flash Video (FLV) to kontener opracowany przez Macromedia i Adobe do przesyłania zsynchronizowanego wideo i audio przez internet za pomocą wtyczki Adobe Flash Player do przeglądarki.

Inspekcja i metadane

Systemy operacyjne i analizatory plików identyfikują pliki FLV, sprawdzając początkową sekwencję bajtów binarnych:

Wybierz lub upuść pliki tutaj

Prywatnie - pliki nigdy nie opuszczają Twojego urządzenia

lub wklej Ctrl+V
Gwarancja prywatności bez przesyłania danych do sieci: 0 bajtów przesłanych na zewnętrzne serwery. Całe przetwarzanie odbyło się lokalnie w piaskownicy przeglądarki.

Podpis nagłówka na poziomie bajtów (Magic Bytes)

Systemy operacyjne i analizatory plików identyfikują pliki FLV, sprawdzając początkową sekwencję bajtów binarnych:

PODPIS HEX (OFFSET 0):

46 4C 56 01

REPREZENTACJA ASCII: FLV

Normalizacja: Specyfikacja formatu pliku Flash Video firmy Adobe Systems

Specyfikacja techniczna

Architektura konteneraKontener strumieniowy oparty na znacznikach, przeplatający dane audio, wideo i skryptów
KompresjaKompresja wideo Sorenson Spark, VP6 lub H.264 z dźwiękiem MP3 lub AAC
Kolejność bajtów (Endianness)Kolejność bitów i bajtów typu Big-Endian
Przestrzenie kolorówYUV 4:2:0
Kanały i strukturaDźwięk mono i stereo ze strumieniem wideo
Maks. wymiaryZazwyczaj do rozdzielczości 1080p
PrzezroczystośćObsługa przezroczystości kanału alfa w strumieniach wideo VP6
Streaming i progresywne ładowanieNatywna obsługa transmisji strumieniowej na żywo RTMP (Real-Time Messaging Protocol)

Techniczna macierz porównawcza: FLV a konkurencja

Atrybut technicznyFLV (Bieżący)MP4WEBMMKV
Obecna obsługa przez przeglądarki0% (całkowicie usunięta z nowoczesnych przeglądarek)100% uniwersalna we wszystkich przeglądarkachObsługa we wszystkich nowoczesnych przeglądarkachWymaga stacjonarnego odtwarzacza multimedialnego
StandaryzacjaWłasnościowa specyfikacja firmy AdobeMiędzynarodowy standard otwarty ISO/IECStandard otwarty W3C / WebMOtwartoźródłowy standard Matroska
Odtwarzanie na urządzeniach mobilnychBrak natywnej obsługi w systemach iOS i nowoczesnym AndroidzieNatywna obsługa sprzętowaNatywna obsługa sprzętowaObsługiwane przez VLC / aplikacje firm trzecich
Przezroczystość alfaObsługa przez kodek On2 VP6Ograniczona (wymaga elementu canvas lub WebCodecs)Natywna obsługa kanału alfa (VP9)Obsługiwana w strumieniach VP9/ProRes

Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego

Czas trwania pobranego filmu FLV jest oznaczony jako „nieznany” i nie można przewijać nagrania.

Główna przyczyna: Brak znacznika skryptowego 'onMetaData' zawierającego tablice znaczników czasu klatek kluczowych oraz rozmiaru pliku.

Odzyskiwanie: Dodaj brakujące tablice klatek kluczowych za pomocą narzędzia „yamdi” (Yet Another MetaData Injector) lub przekonwertuj plik do MP4 w File2File.app.

Analiza bezpieczeństwa i wektory ataku na parser

Wtyczka Flash Player była historycznie jednym z najczęściej wykorzystywanych do ataków składników oprogramowania. Przyczyną były błędy uszkodzenia pamięci w ActionScript i parserach FLV.

Znane wektory ataku

  • Użycie zwolnionej pamięci (use-after-free) i przepełnienie sterty w silniku parsującym FLV w ActionScript 3 (np. CVE-2015-5122).
  • Nieprawidłowo sformowane pakiety metadanych AMF0/AMF3 mogą powodować uszkodzenie pamięci w podatnych parserach.
  • Przepełnienia bufora w przestarzałych procedurach dekompresji Sorenson Spark.

Najlepsze praktyki obronne: Nigdy nie uruchamiaj natywnych wtyczek Flash Player. Przekonwertuj zarchiwizowane pliki FLV bezpośrednio do MP4 za pomocą FFmpeg działającego w piaskownicy.

Pochodzenie historyczne i kamienie milowe

2020Firma Adobe oficjalnie kończy wsparcie dla programu Flash Player 31 grudnia 2020 r., wycofując aktywne użycie formatu FLV.
2005Serwis YouTube uruchamia swoją działalność, wykorzystując FLV jako swój wyłączny format dostarczania wideo.
2003Macromedia wprowadza format Flash Video wraz z programem Flash Player 7.

Główne zalety

  • Historyczny pionier powszechnego wideo online: umożliwił odtwarzanie wideo w przeglądarce bez osobnego odtwarzacza komputerowego.
  • Obsługa przezroczystości kanału alfa w strumieniach wideo używających kodeka On2 VP6.
  • Niski narzut pakietów zoptymalizowany pod kątem transmisji strumieniowej wideo na żywo o niskim opóźnieniu w protokole RTMP.

Ograniczenia techniczne i wady

  • Całkowicie przestarzały i nieobsługiwany w żadnej nowoczesnej przeglądarce internetowej po wycofaniu wtyczki Flash Player.
  • Do odtwarzania na urządzeniach z iOS, Androidem i w telewizorach Smart TV plik trzeba ponownie zakodować lub zmienić jego kontener na MP4.
  • Brak nowoczesnych funkcji kontenerów, takich jak wiele ścieżek audio oraz adaptacyjne strumieniowanie ze zmienną przepływnością bitową.

Ciekawe informacje techniczne

  • Pierwszy film przesłany do YouTube („Me at the zoo”, kwiecień 2005 r.) zakodowano i udostępniono jako plik FLV.
  • Sekwencja sygnatury Flash Video „46 4C 56 01” zapisuje w ASCII „FLV”, po czym podaje wersję kontenera: 1.
  • Steve Jobs opublikował swój słynny list otwarty 'Przemyślenia na temat programu Flash' w 2010 roku, co przyspieszyło przejście branży z formatu FLV na HTML5 MP4.

Często zadawane pytania techniczne

Dlaczego nie mogę już odtwarzać plików FLV na moim komputerze?

Adobe i wszystkie główne przeglądarki oficjalnie wycofały Flash Player w grudniu 2020 r. z powodu luk w zabezpieczeniach. Aby obecnie odtwarzać pliki FLV, użyj odtwarzacza VLC albo przekonwertuj je do MP4.

Czy mogę przekonwertować plik FLV do formatu MP4 bez utraty jakości?

Zgodne strumienie H.264 i AAC można remuksować z FLV do MP4 bez ponownego kodowania; czas zależy od pliku i urządzenia.

Jakich kodeków używały pierwotnie filmy FLV?

Wczesne pliki FLV używały formatu Sorenson Spark (wariant H.263), a później On2 VP6, zanim firma Adobe dodała w 2007 roku obsługę standardowego H.264.