ویدیو AVI (.avi)
Microsoft استانداردکانتینر چندرسانهای صوتی تصویری درهمبافته (AVI) یک فرمت شاخص است که توسط مایکروسافت در سال ۱۹۹۲ معرفی شد که جریانهای صوتی و تصویری را برای پخش همگام درهمبافته میکند.
بررسی و فراداده
سیستمعاملها و تحلیلگرهای فایل، فایلهای AVI را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای هدر در سطح بایت (Magic Bytes)
سیستمعاملها و تحلیلگرهای فایل، فایلهای AVI را با بررسی توالی بایتهای دودویی ابتدایی شناسایی میکنند:
امضای HEX (آفست 0):
52 49 46 46 00 00 00 00 41 56 49 20نمایش ASCII: RIFF....AVI
استانداردسازی: Microsoft RIFF Specification / OpenDML Extension
مشخصات فنی
| معماری کانتینر | Resource Interchange File Format (RIFF) interleaved chunk container |
| فشردهسازی | Interleaved streams supporting DivX, Xvid, Motion JPEG, raw uncompressed, and MP3 audio |
| ترتیب بایتها (Endianness) | Little-Endian (Intel x86 byte order) |
| فضاهای رنگی | YUV 4:2:0, RGB, and palette colors |
| کانالها و ساختار | Stereo and multichannel audio streams |
| حداکثر ابعاد | Unrestricted; OpenDML AVI extension supports 4K and multi-gigabyte streams |
| شفافیت مشخصات | Supported via RGBA uncompressed video streams |
| استریمینگ و پیشرونده | Index chunk placed at end of file; poorly suited for progressive web streaming |
ماتریس مقایسه فنی: AVI در برابر رقبا
| ویژگی فنی | AVI (فعلی) | MP4 | MKV | MOV |
|---|---|---|---|---|
| مناسب بودن برای استریم | ضعیف؛ قبل از جستجو نیاز به دانلود کل فایل دارد | عالی (FastStart / HLS / DASH) | خوب (EBML قطعهبندی شده) | عالی (FastStart) |
| پخش وب HTML5 | به صورت بومی توسط مرورگرهای مدرن پشتیبانی نمیشود | ۱۰۰ درصد سراسری در تمام مرورگرها | نسبی (اج / کروم) | پشتیبانی شده در سافاری / دستگاههای اپل |
| تعبیه زیرنویس | وابسته به ترفند (نیازمند فایلهای خارجی .srt) | متن زمانبندی شده بومی (tx3g / VTT) | پشتیبانی بومی کامل از ASS/SSA/SRT | زیرنویسهای بومی اپل QuickTime |
| نرخ فریم متغیر | کاملاً نرخ فریم ثابت (CFR) | پشتیبانی بومی VFR | پشتیبانی بومی VFR | پشتیبانی بومی VFR |
حالتهای رایج خرابی و راهنمای بازیابی هگز
پخشکننده رسانه میتواند ویدیو را پخش کند اما نمیتواند جستجو یا جلو برود، یا خطای 'Corrupt index' را گزارش میدهد.
علت ریشهای: تکه ایندکس پایانی 'idx1' در طول دانلود متوقفشده، قطع یا حذف شده است.
بازیابی: بازسازی ایندکس با استفاده از DivFix++، VLC ('Build index then play') یا 'ffmpeg -i broken.avi -c copy fixed.avi'.
تحلیل امنیتی و بردارهای حمله تجزیهکننده (Parser)
فایلهای AVI شامل سلسله مراتب پیچیده تکهها هستند و از تعداد بیشماری کدک ویدیویی قدیمی نامعلوم پشتیبانی میکنند که باعث میشود رمزگشاهای بدون سندباکس مستعد سوءاستفادههای تجزیهکننده باشند.
بردارهای حمله شناختهشده
- سرریز بافر هیپ در تجزیه تکه 'strh' (هدر جریان) در پخشکنندههای رسانه قدیمی ویندوز.
- سرریز عدد صحیح در حین تخصیص آرایه ایندکس برای هدرهای تعداد فریم بزرگ که به صورت مخرب ساخته شدهاند.
- خواندن خارج از محدوده در فشردهسازی زدایی Motion JPEG در فیلترهای قدیمی DirectShow.
بهترین روشهای پدافندی:
تاریخچه و نقاط عطف
مزایا و نقاط قوت کلیدی
- پشتیبانی بسیار گسترده دسکتاپ قدیمی در نرمافزارهای رسانهای ویندوز و ویرایشگرهای ویدیو.
- پشتیبانی از فریمهای خام فشردهنشده برای اسکن فیلم آرشیوی و تحلیل ویدیویی علمی.
- معماری ساده درهمبافتن جریان با سربار کم کانتینر.
محدودیتها و معایب فنی
- فاقد پشتیبانی بومی برای ویژگیهای کانتینر ویدیویی مدرن مانند نرخ فریم متغیر (VFR) و فصلها.
- نامناسب برای استریم وب زیرا تکه ایندکس اصلی ('idx1') در انتهای فایل ذخیره میشود.
- عدم پشتیبانی بومی مرورگر ویدیو HTML5 بدون کدگذاری مجدد به MP4 یا WebM.
نکات فنی جالب
- در اوایل دهه ۲۰۰۰، فایلهای DivX و Xvid AVI فرمت اصلی مورد استفاده توسط شبکههای اشتراکگذاری فایل همتا به همتا بودند.
- مشخصات اصلی AVI در سال ۱۹۹۲ به دلیل پوینترهای افست فایل ۳۲ بیتی نمیتوانست از ۲ گیگابایت تجاوز کند.
- تکه 'idx1' در انتهای فایل AVI، آفست بایت هر تک فریم را برای جستجو فهرست میکند.
سوالات فنی متداول
چرا نمیتوانم ویدیوهای AVI را مستقیماً در مرورگرهای وب پخش کنم؟
مرورگرهای مدرن بر روی MP4 (H.264/AV1) و WebM (VP9/AV1) استانداردسازی کردهاند زیرا فرمتهای کانتینر آنها برای پخش جریانی پیشرونده بهینه شدهاند. AVI فاقد ویژگیهای پخش جریانی وب بومی است و در تگ HTML5 <video> پشتیبانی نمیشود.
چگونه میتوانم مشکل فایلی AVI که جستجو یا اسکراب نمیشود را برطرف کنم؟
فایلهای AVI به یک جدول شاخص در انتهای فایل متکی هستند. اگر ناقص باشد، پخشکنندهها نمیتوانند جستجو کنند. تبدیل یا نمایهسازی مجدد فایل با مبدل ویدیوی File2File، اسکراب کامل خط زمانی را بازیابی میکند.
تفاوت بین AVI و MP4 چیست؟
AVI یک کانتینر قدیمی محصول سال ۱۹۹۲ است که برای پخش دسکتاپ محلی طراحی شده است. MP4 یک استاندارد مدرن محصول سال ۲۰۰۱ است که از پخش جریانی وب، فصلها، نرخ فریم متغیر، زیرنویسها و فشردهسازی برتر پشتیبانی میکند.