AVI Video (.avi)
Microsoft StandartinisAudio Video Interleave (AVI) yra svarbus multimedijos konteineris, kurį 1992 m. pristatė „Microsoft" ir kuris sinchronizuotam atkūrimui sujungia garso bei vaizdo srautus.
Tikrinti ir metaduomenys
Operacinės sistemos ir failų analizatoriai atpažįsta AVI failus tikrindami pradinę dvejetainę baitų seką:
Baitų lygio antraštės parašas (magiškieji baitai)
Operacinės sistemos ir failų analizatoriai atpažįsta AVI failus tikrindami pradinę dvejetainę baitų seką:
ŠEŠIOLIKTAINIS PARAŠAS (POSLINKIS 0):
52 49 46 46 00 00 00 00 41 56 49 20ASCII ATVAIZDAVIMAS: RIFF....AVI
Standartizacija: Microsoft RIFF Specification / OpenDML Extension
Techninės specifikacijos
| Konteinerio architektūra | Resource Interchange File Format (RIFF) interleaved chunk container |
| Glaudinimas | Interleaved streams supporting DivX, Xvid, Motion JPEG, raw uncompressed, and MP3 audio |
| Baitų seka (Endianness) | Little-Endian (Intel x86 byte order) |
| Spalvų erdvės | YUV 4:2:0, RGB, and palette colors |
| Kanalai ir struktūra | Stereo and multichannel audio streams |
| Maksimalūs matmenys | Unrestricted; OpenDML AVI extension supports 4K and multi-gigabyte streams |
| Skaidrumas | Supported via RGBA uncompressed video streams |
| Srautas ir progresyvusis įkėlimas | Index chunk placed at end of file; poorly suited for progressive web streaming |
Techninė palyginimo matrica: AVI vs konkurentai
| Techninis atributas | AVI (Dabartinis) | MP4 | MKV | MOV |
|---|---|---|---|---|
| Transliavimo tinkamumas | Prastas; reikalauja atsisiųsti visą failą prieš naršant | Puikus („FastStart" / HLS / DASH) | Geras (Segmentuotas EBML) | Puikus („FastStart") |
| HTML5 atkūrimas žiniatinklyje | Šiuolaikinių naršyklių nepalaikomas iš prigimties | 100% universalus visose naršyklėse | Dalinis („Edge" / „Chrome") | Palaikomas „Safari" / „Apple" įrenginiuose |
| Subtitrų įterpimas | Priklausomas nuo pataisų (reikalauja išorinių .srt failų) | Gimtieji laiko žymų tekstai (tx3g / VTT) | Pilnas gimtasis ASS / SSA / SRT palaikymas | Gimtieji „Apple QuickTime" subtitrai |
| Kintamas kadrų dažnis | Griežtai pastovus kadrų dažnis (CFR) | Gimtasis VFR palaikymas | Gimtasis VFR palaikymas | Gimtasis VFR palaikymas |
Dažni sugadinimo režimai ir šešioliktainio atkūrimo vadovas
Medijos grotuvas gali leisti vaizdo įrašą, bet negali naršyti arba sukti pirmyn, arba praneša apie sugadintą indeksą („Corrupt index").
Pirminė priežastis: Galinio „idx1" indekso blokas buvo apkarpytas arba ištrintas nutraukto atsisiuntimo metu.
Atkūrimas: Atkurkite indeksą naudodami „DivFix++", VLC („Build index then play") arba komandą „ffmpeg -i broken.avi -c copy fixed.avi".
Saugumo analizė ir analizatoriaus atakos vektoriai
AVI failuose yra sudėtingų blokų hierarchijų ir jie palaiko nesuskaičiuojamą daugybę nežinomų senų vaizdo kodekų, todėl neizoliuoti (nepriklausomose smėlio dėžėse veikiantys) dekoderiai yra pažeidžiami analizatoriaus (parserio) spragų.
Žinomi atakos vektoriai
- Atminties srities (heap) buferio liedimas analizuojant „strh" (srauto antraštės) bloką senuose „Windows" medijos grotuvuose.
- Sveikųjų skaičių perpildymas paskirstant indekso masyvą kenksmingai sukurtoje didelio kadrų skaičiaus antraštėje.
- Skaitymas už ribų (out-of-bounds read) „Motion JPEG" dekompresijos metu senuose „DirectShow" filtruose.
Geriausia apsaugos praktika:
Istorinė kilmė ir svarbiausi etapai
Pagrindiniai privalumai
- Ypač platus senųjų stalinių kompiuterių palaikymas „Windows" medijos programinėje įrangoje ir vaizdo įrašų rengyklėse.
- Palaiko neglaudintus pirminius kadrus archyviniam filmų skanavimui ir mokslinei vaizdo įrašų analizei.
- Paprasta srautų sujungimo architektūra su maža konteinerio apimties apkrova.
Techniniai apribojimai ir trūkumai
- Trūksta gimtojo palaikymo šiuolaikinėms vaizdo konteinerio funkcijoms, tokioms kaip kintamas kadrų dažnis (VFR) ir skyriai.
- Prastai tinka srautiniam transliavimui internetu, nes pagrindinis indekso blokas („idx1") saugomas failo pabaigoje.
- Nėra gimtojo HTML5 vaizdo įrašų naršyklės palaikymo neatlikus perkodavimo į MP4 arba WebM.
Įdomūs techniniai faktai
- 2000-ųjų pradžioje „DivX" ir „Xvid" AVI failai buvo pagrindinis formatas, kurį naudojo lygiarangio (P2P) failų dalijimosi tinklai.
- Originalioji 1992 m. AVI specifikacija negalėjo viršyti 2 GB dėl 32 bitų failo poslinkio rodyklių.
- „idx1" blokas AVI failo pabaigoje nurodo kiekvieno atskiro kadro baito poslinkį naršymui.
Dažniausiai užduodami techniniai klausimai
Kodėl negaliu tiesiogiai paleisti AVI vaizdo įrašų interneto naršyklėse?
Šiuolaikinės naršyklės standartizuoja MP4 (H.264/AV1) ir WebM (VP9/AV1), nes jų konteinerių formatai yra optimizuoti tolygiam srautiniam transliakimui. AVI trūksta vietinių internetinio srautinio siuntimo funkcijų, ir jo nepalaiko HTML5 <video> žymė.
Kaip pataisyti AVI failą, kurio nepavyksta persukti ar peržiūrėti iš naujo?
AVI failai remiasi indekso lentele failo pabaigoje. Jei ji neišsami, grotuvai negali atlikti paieškos. Failo perkodavimas arba pakartotinis indeksavimas su „File2File Video Converter“ atkuria pilną laiko juostos naršymą.
Kuo skiriasi AVI ir MP4?
AVI yra 1992 m. pasenęs konteineris, sukurtas vietiniam darbalaukio atkūrimui. MP4 yra 2001 m. modernus standartas, palaikantis internetinį srautinį siuntimą, skyrius, kintamą kadrų dažnį, subtitrus ir geresnį glaudinimą.