aspose.info
DE

FLV-Dateiformat

Aktualisiert

Was ist eine FLV-Datei?

FLV (Flash Video) ist ein Containerdateiformat mit der Erweiterung .flv. FLV wird zur Bereitstellung von Audio-/Videoinhalten über das Internet mithilfe von Adobe Flash Player oder Adobe Air verwendet. Die Daten in FLV-Dateien sind genauso kodiert wie SWF-Dateien. Die direkte Unterstützung wurde Flash Player 7 im Jahr 2003 hinzugefügt. Adobe-Systeme erstellten F4V im Jahr 2007 aufgrund der Einschränkungen von FLV.

Codierung

FLV-Dateien enthalten Video-Bitstreams von Sorenson Spark, einer proprietären Variante des H.263-Videostandards. Es ist das erforderliche Komprimierungsformat für Flash Player 6 und 7. Version 8 von Flash Player unterstützt On2 TrueMotion VP6-Videobitstreams. Es ist das empfohlene Komprimierungsformat für Flash Player 8 und höher. FLV unterstützt Audio in MP3, Nellymoser Asao Codec und den Open-Source-Speex-Codec. Es unterstützt auch unkomprimiertes Audio oder Audio im ADPCM-Format. AAC (HE-AAC/AAC SBR, AAC Main Profile und AAC-LC) werden von den aktuellen Versionen von Flash Player 9 unterstützt.

Struktur

FLV-Dateien bestehen aus Header und Paketen. Eine FLV-Datei beginnt mit dem Header. Der Header hat die folgenden Felder.

  • Signatur: Sein Wert ist FLV
  • Version: Der Standardwert ist 1. Nur 0x01 ist gültig.
  • Flags: 0x04 wird für Audio und 0x01 für Video verwendet, also wird 0x05 sowohl für Audio als auch für Video verwendet.
  • Kopfzeilengröße: Der Standardwert ist 9. Er wird verwendet, um eine neuere erweiterte Kopfzeile zu überspringen.

Nach dem Header kommen die Pakete. Die FLV-Datei ist in mehrere Pakete aufgeteilt, die als FLV-Tags bezeichnet werden und 15-Byte-Header haben. Die Pakete enthalten die Metadaten für Audio, Video, Skripte, Verschlüsselungsinformationen und Nutzdaten. Die FLV-Pakete haben die folgenden Felder.

  • Reserviert: Es ist für FMS reserviert und sollte 0 sein.
  • Filter: Gibt an, ob die Pakete gefiltert werden oder nicht.
    • 0: No preprocessing required. This is used for unencrypted files.
    • 1: Preprocessing required. This is used for encrypted files
  • Pakettyp: Dies definiert den Inhaltstyp im Paket.
    • 8: Audio
    • 9: Video
    • 18: Script Data
  • Datengröße: Dies bezeichnet die Länge der Nachricht.
  • Timestamp Lower: Hier wird der Zeitstempel in Millisekunden gespeichert, zu dem die Tag-Daten gelten. Es wird für das erste Paket auf NULL gesetzt.
  • Timestamp Upper: Erweiterung zum Erstellen eines uint32_be-Werts.
  • Stream-ID: Diese wird für den ersten Stream auf NULL gesetzt.
  • Payload Data: Dies sind die Daten basierend auf dem Pakettyp.

Verweise