Wideo AVI (.avi)
Specyfikacja StandardowyAudio Video Interleave (AVI) to przełomowy kontener multimedialny wprowadzony przez firmę Microsoft w 1992 roku, który przeplata strumienie audio i wideo w celu zsynchronizowanego odtwarzania.
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 00 00 00 00 41 56 49 20REPREZENTACJA ASCII: RIFF....AVI
Normalizacja: Specyfikacja Microsoft RIFF / Rozszerzenie OpenDML
Specyfikacja techniczna
| Architektura kontenera | Przeplatany kontener fragmentów Resource Interchange File Format (RIFF) |
| 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 | Nieograniczone; rozszerzenie OpenDML AVI obsługuje strumienie 4K oraz wielogigabajtowe |
| Przezroczystość | Obsługiwane za pomocą 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; wymaga pobrania całego pliku przed przewijaniem | Doskonała (FastStart / HLS / DASH) | Dobra (Segmentowany EBML) | Doskonała (FastStart) |
| Odtwarzanie w sieci Web 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żne od obejść (wymaga zewnętrznych plików .srt) | Natywny czasowy tekst (tx3g / VTT) | Pełna natywna obsługa formatów ASS/SSA/SRT | Natywne napisy Apple QuickTime |
| Zmienna liczba klatek na sekundę | Ściśle 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 może go przewijać ani przyspieszać, lub zgłasza błąd 'Uszkodzony indeks'.
Główna przyczyna: Końcowy blok indeksu 'idx1' został obcięty lub usunięty podczas przerwanej pobierania.
Odzyskiwanie: Odbuduj indeks za pomocą narzędzia DivFix++, odtwarzacza VLC ('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 zawierają złożone hierarchie bloków i obsługują niezliczone niejasne, starsze kodery-dekodery wideo, co czyni nieizolowane dekodery podatnymi na ataki wykorzystujące luki w analizatorach.
Znane wektory ataku
- Przepełnienie bufora sterty podczas parsowania bloku nagłówka strumienia ('strh') w starszych odtwarzaczach multimedialnych systemu Windows.
- Przepełnienie liczbowe podczas alokacji tablicy indeksów dla złośliwie przygotowanych nagłówków o dużej liczbie klatek.
- Odczyt poza zakresem w dekompresji Motion JPEG wewnątrz starszych filtrów DirectShow.
Najlepsze praktyki obronne: Przekonwertuj niezaufane pliki AVI do nowoczesnych, odizolowanych kontenerów MP4 przed ich przetworzeniem.
Pochodzenie historyczne i kamienie milowe
Główne zalety
- Wyjątkowo szeroka starsza obsługa na komputerach stacjonarnych w oprogramowaniu multimedialnym systemu Windows oraz 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) oraz 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 lat 2000 pliki DivX i Xvid AVI były głównym formatem używanym przez sieci 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 bajtowe każdej pojedynczej klatki w celu szybkiego przewijania.
Często zadawane pytania techniczne
Dlaczego nie mogę odtwarzać filmów AVI bezpośrednio w przeglądarkach internetowych?
Nowoczesne przeglądarki standardowo obsługują formaty MP4 (H.264/AV1) oraz WebM (VP9/AV1), ponieważ ich struktury kontenerów są zoptymalizowane pod kątem progresywnego strumieniowania. Format AVI nie posiada natywnych funkcji strumieniowania webowego i nie jest obsługiwany w elemencie HTML5 <video>.
Jak mogę naprawić plik AVI, którego nie można przewijać?
Pliki AVI opierają się na tabeli indeksu umieszczonej na końcu pliku. Jeśli jest ona niekompletna, odtwarzacze nie mogą wykonać przewijania. Transkodowanie lub ponowne indeksowanie pliku za pomocą konwertera wideo File2File przywraca pełne przewijanie 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ę.