וידאו AVI (.avi)
Microsoft תקןמעטפת המולטימדיה Audio Video Interleave (AVI) היא פורמט בולט שהוצג על ידי מיקרוסופט בשנת 1992, המשלב זרמי שמע ווידאו להפעלה מסונכרנת.
בדיקה ומטא-דאטה
מערכות הפעלה ומנתחי קבצים מזהים קבצי 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 | אינה נתמכת באופן מקומי על ידי דפדפנים מודרניים | אוניברסלית ב-100% בכל הדפדפנים | חלקי (Edge / Chrome) | נתמכת במכשירי Safari / Apple |
| הטמעת כתוביות | תלויה בטלאים (דורשת קבצי .srt חיצוניים) | טקסט מתוזמן מקומי (tx3g / VTT) | תמיכה מלאה ומקורית ב-ASS/SSA/SRT | כתוביות Apple QuickTime מקומיות |
| קצב פריימים משתנה | קצב פריימים קבוע בלבד (CFR) | תמיכה מקורית ב-VFR | תמיכה מקורית ב-VFR | תמיכה מקורית ב-VFR |
מצבי שיחשות נפוצים ומדריך שחזור הקסדצימלי (Hex)
נגן המדיה יכול להפעיל את הווידאו אך אינו יכול לדלג קדימה או אחורה, או מציג הודעת שגיאה על 'אינדקס פגום'.
גורם שורש: גוש אינדקס הסיום 'idx1' קוצץ או נמחק במהלך הורדה שנקטעה.
התאוששות: בנה מחדש את האינדקס באמצעות DivFix++, VLC ('Build index then play'), או 'ffmpeg -i broken.avi -c copy fixed.avi'.
ניתוח אבטחה ווקטורי התקפה על מנתחים (Parsers)
קבצי AVI מכילים היררכיות גושים מורכבות ותומכים באינספור קודקי וידאו ישנים ואלמוניים, מה שהופך מפנחים שאינם מוגנים בארגז חול לפגיעים לניצול פרצות במנתחים.
ווקטורי תקיפה ידועים
- גלישת חוצץ בזיכרון הדינמי (Heap buffer overflow) בניתוח גוש 'strh' (כותרת זרם) בנגני מדיה ישנים של חלונות.
- גלישת מספר שלם במהלך הקצאת מערך אינדקס עבור כותרות בעלות ספירת פריימים גדולה שהוכנו במזיד.
- קריאה מחוץ לגבולות הזיכרון בפענוח Motion JPEG בתוך מסנני DirectShow ישנים.
השיטות המומלצות להגנה:
היסטוריה ואבני דרך
יתרונות מרכזיים
- תמיכה שולחנית ישנה רחבה במיוחד בתוכנות מדיה של חלונות ועורכי וידאו.
- תומך בפריימים גולמיים לא דחוסים עבור סריקת סרטים בארכיון וניתוח וידאו מדעי.
- ארכיטקטורת שזירת זרמים פשוטה עם תקורה נמוכה של המעטפת.
מגבלות טכניות וחסרונות
- חסר תמיכה מובנית בתכונות מעטפת וידאו מודרניות כגון קצבי פריימים משתנים (VFR) ופרקים.
- אינו מתאים היטב להזרמה באינטרנט מכיוון שגוש האינדקס הראשי ('idx1') מאוחסן בסוף הקובץ.
- אין תמיכה מובנית בדפדפן וידאו ב-HTML5 ללא קידוד מחדש ל-MP4 או WebM.
עובדות טכניות מעניינות
- בתחילת שנות ה-2000, קבצי DivX ו-Xvid מסוג AVI היו הפורמט העיקרי ששימש רשתות שיתוף קבצים עמית לעמית (P2P).
- מפרט ה-AVI המקורי משנת 1992 לא יכל לעלות על 2 גיגה-בייט בשל מצביעי היסט קבצים של 32 סיביות.
- גוש ה-'idx1' בסוף קובץ AVI מפרט את היסט הבייטים של כל פרים ופרים לצורך דילוג וחיפוש.
שאלות טכניות נפוצות
מדוע אני לא יכול לנגן סרטוני AVI ישירות בדפדפני אינטרנט?
דפדפנים מודרניים מתקננים על MP4 (H.264/AV1) ו-WebM (VP9/AV1) מכיוון שמעטפות הקבצים שלהם ממוטבות לסטרימינג פרוגרסיבי. פורמט AVI חסר תכונות סטרימינג אינטרנטיות מובנות ואינו נתמך בתגית <video> של HTML5.
כיצד אוכל לתקן קובץ AVI שאינו מאפשר דילוג או גלילה (scrubbing)?
קבצי AVI מסתמכים על טבלת אינדקס בסוף הקובץ. אם היא חסרה או פגומה, ננגנים אינם יכולים לבצע דילוג. טרנסקודד או יצירת אינדקס מחדש של הקובץ באמצעות ממיר הוידאו File2File משחזר את גלילת ציר הזמן המלאה.
מה ההבדל בין AVI לבין MP4?
פורמט AVI הוא מעטפת ישנה משנת 1992 המיועדת להשמעה מקומית בשולחן העבודה. פורמט MP4 הוא תקן מודרני משנת 2001 התומך בסטרימינג באינטרנט, פרקים, קצבי פריימים משתנים, כתוביות ודחיסה עדיפה.