Wideo AVI (.avi)
Specyfikacja StandardAudio Video Interleave (AVI) to przełomowy kontener multimedialny wprowadzony przez Microsoft w 1992 roku, który przeplata strumienie audio i wideo, umożliwiając ich zsynchronizowane odtwarzanie.
Inspekcja i metadane
Systemy operacyjne i analizatory plików identyfikują pliki AVI, sprawdzając początkową sekwencję bajtów binarnych:
Podpis nagłówka na poziomie bajtów (Magic Bytes)
Systemy operacyjne i analizatory plików identyfikują pliki AVI, sprawdzając początkową sekwencję bajtów binarnych:
PODPIS HEX (OFFSET 0):
52 49 46 46 ?? ?? ?? ?? 41 56 49 20REPREZENTACJA ASCII: RIFF????AVI
Normalizacja: Specyfikacja Microsoft RIFF / Rozszerzenie OpenDML
Specyfikacja techniczna
| Architektura kontenera | Kontener Resource Interchange File Format (RIFF) z przeplatanymi blokami |
| Kompresja | Przeplatane strumienie obsługujące DivX, Xvid, Motion JPEG, nieskompresowane dane surowe oraz audio MP3 |
| Kolejność bajtów (Endianness) | Little-Endian (kolejność bajtów Intel x86) |
| Przestrzenie kolorów | YUV 4:2:0, RGB oraz kolory palety |
| Kanały i struktura | Strumienie audio stereo i wielokanałowe |
| Maks. wymiary | Brak ograniczeń; rozszerzenie OpenDML AVI obsługuje rozdzielczość 4K i strumienie wielogigabajtowe |
| Przezroczystość | Obsługa nieskompresowanych strumieni wideo RGBA |
| Streaming i progresywne ładowanie | Blok indeksu umieszczony na końcu pliku; słabo przystosowany do progresywnego strumieniowania internetowego |
Techniczna macierz porównawcza: AVI a konkurencja
| Atrybut techniczny | AVI (Bieżący) | MP4 | MKV | MOV |
|---|---|---|---|---|
| Przydatność do strumieniowania | Słaba; przed przewijaniem trzeba pobrać cały plik | Doskonała (FastStart / HLS / DASH) | Dobra (Segmentowany EBML) | Doskonała (FastStart) |
| Odtwarzanie w przeglądarce HTML5 | Brak natywnej obsługi przez nowoczesne przeglądarki | 100% uniwersalna we wszystkich przeglądarkach | Częściowa (Edge / Chrome) | Obsługiwana na urządzeniach Safari / Apple |
| Osadzanie napisów | Zależy od niestandardowych rozwiązań (wymaga zewnętrznych plików .srt) | Natywne napisy z kodem czasowym (tx3g / VTT) | Pełna natywna obsługa formatów ASS/SSA/SRT | Natywne napisy Apple QuickTime |
| Zmienna liczba klatek na sekundę | Wyłącznie stała liczba klatek na sekundę (CFR) | Natywna obsługa VFR | Natywna obsługa VFR | Natywna obsługa VFR |
Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego
Odtwarzacz multimedialny odtwarza wideo, ale nie pozwala przeskakiwać do innych fragmentów ani przewijać do przodu, lub zgłasza błąd „Corrupt index”.
Główna przyczyna: Końcowy blok indeksu 'idx1' został obcięty lub usunięty podczas przerwanego pobierania.
Odzyskiwanie: Odbuduj indeks za pomocą DivFix++, odtwarzacza VLC (opcja „Zbuduj indeks, a następnie odtwarzaj”) lub polecenia „ffmpeg -i broken.avi -c copy fixed.avi”.
Analiza bezpieczeństwa i wektory ataku na parser
Pliki AVI mają złożoną hierarchię bloków i obsługują wiele rzadko spotykanych starszych kodeków wideo, przez co dekodery działające bez izolacji są podatne na ataki wykorzystujące błędy parsera.
Znane wektory ataku
- Przepełnienie bufora sterty podczas parsowania bloku nagłówka strumienia ('strh') w starszych odtwarzaczach multimedialnych systemu Windows.
- Przepełnienie liczby całkowitej podczas alokacji tablicy indeksów na podstawie spreparowanych złośliwie nagłówków z dużą liczbą klatek.
- Odczyt poza dozwolonym zakresem pamięci podczas dekompresji Motion JPEG w starszych filtrach DirectShow.
Najlepsze praktyki obronne: Przed wprowadzeniem niezaufanych plików AVI do systemu przekonwertuj je do nowoczesnego kontenera MP4 w odizolowanym środowisku.
Pochodzenie historyczne i kamienie milowe
Główne zalety
- Szeroka obsługa w starszych programach multimedialnych Windows i edytorach wideo.
- Obsługuje nieskompresowane surowe klatki do archiwizacji skanów filmowych oraz naukowej analizy wideo.
- Prosta architektura przeplatania strumieni z niskim narzutem kontenera.
Ograniczenia techniczne i wady
- Brak natywnej obsługi nowoczesnych funkcji kontenerów wideo, takich jak zmienna liczba klatek na sekundę (VFR) i rozdziały.
- Słabo przystosowany do strumieniowania internetowego, ponieważ główny blok indeksu ('idx1') jest przechowywany na końcu pliku.
- Brak natywnej obsługi wideo HTML5 w przeglądarkach bez ponownego kodowania do MP4 lub WebM.
Ciekawe informacje techniczne
- Na początku XXI wieku pliki AVI z kodekami DivX i Xvid były głównym formatem w sieciach wymiany plików peer-to-peer.
- Oryginalna specyfikacja AVI z 1992 roku nie mogła przekroczyć 2 GB ze względu na 32-bitowe wskaźniki przesunięcia pliku.
- Blok „idx1” na końcu pliku AVI zawiera przesunięcie w bajtach każdej klatki, co umożliwia szybkie przewijanie.
Często zadawane pytania techniczne
Dlaczego nie mogę odtwarzać filmów AVI bezpośrednio w przeglądarkach internetowych?
Nowoczesne przeglądarki obsługują MP4 (H.264/AV1) i WebM (VP9/AV1), ponieważ te kontenery są zoptymalizowane pod kątem progresywnego strumieniowania. AVI nie ma natywnych funkcji strumieniowania przez sieć i nie jest obsługiwany przez element HTML5 <video>.
Jak mogę naprawić plik AVI, którego nie można przewijać?
Pliki AVI korzystają z tabeli indeksu umieszczonej na końcu pliku. Jeśli tabela jest niekompletna, odtwarzacze nie mogą przewijać nagrania. Transkodowanie lub ponowne indeksowanie pliku w konwerterze wideo File2File.app przywraca możliwość przewijania osi czasu.
Jaka jest różnica między formatem AVI a MP4?
AVI to starszy kontener z 1992 roku przeznaczony do odtwarzania na komputerach lokalnych. MP4 to nowoczesny standard z 2001 roku obsługujący strumieniowanie internetowe, rozdziały, zmienną liczbę klatek na sekundę, napisy oraz lepszą kompresję.