Resource Interchange File Format
RIFF (Resource Interchange File Format) ist ein Containerformat zur Speicherung von Multimedia-Daten, das 1991 von Microsoft und IBM entwickelt und mit den Multimediaerweiterungen für Windows 3.1 eingeführt wurde. Als Grundlage für das RIFF-Dateiformat diente das IFF-Dateiformat (Interchange File Format). RIFF-Dateien können beliebige Multimedia-Ressourcen in einer Datei abspeichern (z.B. Bitmaps, Audio- und Videodaten oder RTF-Texte).
Die einfachste Form z.B. einer AVI Datei wäre ein einziger Videostream, meistens werden aber dazu noch Audio-Informationen gespeichert. Allgemein ist es möglich, auch spezielle Multimedia-Sequenzen wie etwa einen MIDI-Track als zusätzlichen Datenstream in einer AVI-Datei aufzunehmen. Um Audioinformationen in Stereoton zu sichern, benötigt man dazu nur einen Stream, genauso als würde nur Mono gespeichert werden. Weiterhin sind Control-Tracks möglich, etwa um externe Geräte zu steuern.
Aufbau am Beispiel “Wave“
Der RIFF-Chunk (auch RIFF-Header) identifiziert die Datei als WAV-Datei:
Offset | Länge | Inhalt |
---|---|---|
0 | 4 bytes | 'RIFF' |
4 | 4 bytes | <file length - 8> |
8 | 4 bytes | 'WAVE' |
Der anschließende FORMAT-Chunk hat einige Parameter wie z. B. die Sample-Rate gespeichert:
12 | 4 bytes | 'fmt' | ||||||
16 | 4 bytes | 0x00000010 // Länge der fmt-Daten (16 Bytes) | ||||||
20 | 2 bytes | 0x0001 // Format-Tag: 1 = PCM | ||||||
22 | 2 bytes | <channels> // Kanäle: 1 = mono, 2 = stereo | ||||||
24 | 4 bytes | <sample rate> // Abtastrate pro Sekunde: z.B., 44100 | ||||||
28 | 4 bytes | <bytes/second> // Sample-Rate * Block-Align | ||||||
32 | 2 bytes | <block align> // Kanäle * Bits/Sample / 8 | ||||||
34 | 2 bytes | <bits/sample> // 8 oder 16
}| Der DATA-Chunk enthält schließlich die tatsächlichen Audiodaten:
Siehe auchIFF (Interchange File Format), AIFF (Audio Interchange File Format) Weblinks |