Wideo AVI (.avi)

Specyfikacja Standard

Audio 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:

Wybierz lub upuść pliki tutaj

Prywatnie - pliki nigdy nie opuszczają Twojego urządzenia

lub wklej Ctrl+V
Gwarancja prywatności bez przesyłania danych do sieci: 0 bajtów przesłanych na zewnętrzne serwery. Całe przetwarzanie odbyło się lokalnie w piaskownicy przeglądarki.

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 20

REPREZENTACJA ASCII: RIFF????AVI

Normalizacja: Specyfikacja Microsoft RIFF / Rozszerzenie OpenDML

Specyfikacja techniczna

Architektura konteneraKontener Resource Interchange File Format (RIFF) z przeplatanymi blokami
KompresjaPrzeplatane 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ówYUV 4:2:0, RGB oraz kolory palety
Kanały i strukturaStrumienie audio stereo i wielokanałowe
Maks. wymiaryBrak ograniczeń; rozszerzenie OpenDML AVI obsługuje rozdzielczość 4K i strumienie wielogigabajtowe
PrzezroczystośćObsługa nieskompresowanych strumieni wideo RGBA
Streaming i progresywne ładowanieBlok indeksu umieszczony na końcu pliku; słabo przystosowany do progresywnego strumieniowania internetowego

Techniczna macierz porównawcza: AVI a konkurencja

Atrybut technicznyAVI (Bieżący)MP4MKVMOV
Przydatność do strumieniowaniaSłaba; przed przewijaniem trzeba pobrać cały plikDoskonała (FastStart / HLS / DASH)Dobra (Segmentowany EBML)Doskonała (FastStart)
Odtwarzanie w przeglądarce HTML5Brak natywnej obsługi przez nowoczesne przeglądarki100% uniwersalna we wszystkich przeglądarkachCzęściowa (Edge / Chrome)Obsługiwana na urządzeniach Safari / Apple
Osadzanie napisówZależ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/SRTNatywne napisy Apple QuickTime
Zmienna liczba klatek na sekundęWyłącznie stała liczba klatek na sekundę (CFR)Natywna obsługa VFRNatywna obsługa VFRNatywna 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

1999Kompresja DivX przekształca format AVI w dominujący standard udostępniania filmów w Internecie.
1996Konsorcjum OpenDML wydaje specyfikację AVI 2.0, znosząc restrykcyjny limit rozmiaru pliku wynoszący 2 GB.
1992Microsoft wprowadza AVI wraz z Video for Windows jako część systemu Windows 3.1.

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ę.