aspose.info
CS

Formát souboru FLV

Aktualizováno

Co je soubor FLV?

FLV (Flash Video) je kontejnerový formát souboru s příponou .flv. FLV se používá k doručování audio/video obsahu přes internet pomocí Adobe Flash Player nebo Adobe Air. Data v souborech FLV jsou kódována stejným způsobem jako soubory SWF. Přímá podpora byla přidána do Flash Player 7 v roce 2003. Systémy Adobe vytvořily F4V v roce 2007 kvůli omezením FLV.

Kódování

Soubory FLV obsahují bitové toky videa Sorenson Spark, které jsou proprietární variantou standardu videa H.263. Je to požadovaný kompresní formát pro Flash Player 6 a 7. Verze 8 Flash Player podporuje video bitové toky On2 TrueMotion VP6. Je to doporučený kompresní formát pro Flash Player 8 a vyšší. FLV podporuje zvuk ve formátu MP3, kodek Nellymoser Asao a open source kodek Speex. Podporuje také nekomprimovaný zvuk nebo zvuk ve formátu ADPCM. AAC (HE-AAC/AAC SBR, AAC Main Profile a AAC-LC) jsou podporovány v nejnovějších verzích Flash Player 9.

Struktura

Soubory FLV se skládají ze záhlaví a paketů. Soubor FLV začíná záhlavím. Záhlaví obsahuje následující pole.

  • Podpis: Jeho hodnota je FLV
  • Verze: Jeho výchozí hodnota je 1. Platí pouze 0x01.
  • Flags: 0x04 se používá pro zvuk a 0x01 se používá pro video, takže 0x05 se používá pro zvuk i video.
  • Velikost záhlaví: Výchozí hodnota je 9. Používá se k přeskočení novějšího rozšířeného záhlaví.

Po záhlaví následují pakety. Soubor FLV je rozdělen do několika paketů nazývaných značky FLV, které mají 15bajtová záhlaví. Pakety obsahují metadata pro zvuk, video, skripty, informace o šifrování a užitečné zatížení. Pakety FLV mají následující pole.

  • Vyhrazeno: Je rezervováno pro FMS a mělo by být 0.
  • Filter: Označuje, zda jsou pakety filtrovány nebo ne.
    • 0: No preprocessing required. This is used for unencrypted files.
    • 1: Preprocessing required. This is used for encrypted files
  • Typ paketu: Definuje typ obsahu v paketu.
    • 8: Audio
    • 9: Video
    • 18: Script Data
  • Velikost dat: Označuje délku zprávy.
  • Timestamp Lower: Toto ukládá časové razítko v milisekundách, kdy se data tagu použijí. Pro první paket je nastavena na NULL.
  • Timestamp Upper: Rozšíření pro vytvoření hodnoty uint32_be.
  • ID streamu: Toto je nastaveno na hodnotu NULL pro první stream.
  • Payload Data: Jedná se o data založená na typu paketu.

Reference

Viz také