AVI 视频 (.avi)
Microsoft มาตรฐานAudio Video Interleave (AVI) คือคอนเทนเนอร์มัลติมีเดียหลักที่เปิดตัวโดย Microsoft ในปี 1992 ซึ่งสลับสตรีมเสียงและวิดีโอเข้าด้วยกันเพื่อให้เล่นได้อย่างซิงโครไนซ์
ตรวจสอบและดู Metadata
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ AVI โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวในระดับไบต์ (Magic Bytes)
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ AVI โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 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 |
| การจัดลำดับไบต์ (Byte 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) | ดี (Segmented EBML) | ยอดเยี่ยม (FastStart) |
| การเล่นเว็บ HTML5 | เบราว์เซอร์สมัยใหม่ไม่รองรับแบบเนทีฟ | สากล 100% ในทุกเบราว์เซอร์ | บางส่วน (Edge / Chrome) | รองรับบน Safari / อุปกรณ์ Apple |
| การฝังคำบรรยายแทนเสียง | ขึ้นอยู่กับการแฮ็ก (ต้องใช้ไฟล์ .srt ภายนอก) | ข้อความตามกำหนดเวลาแบบเนทีฟ (tx3g / VTT) | รองรับ ASS/SSA/SRT แบบเนทีฟเต็มรูปแบบ | คำบรรยาย Apple QuickTime แบบเนทีฟ |
| อัตราเฟรมแบบแปรผัน | อัตราเฟรมคงที่อย่างเคร่งครัด (CFR) | รองรับ VFR แบบเนทีฟ | รองรับ VFR แบบเนทีฟ | รองรับ VFR แบบเนทีฟ |
รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex
เครื่องเล่นสื่อสามารถเล่นวิดีโอได้แต่ไม่สามารถค้นหาหรือกรอไปข้างหน้าได้ หรือรายงาน 'ดัชนีเสียหาย'
สาเหตุหลัก: ชั๊ดดัชนี 'idx1' ที่ต่อท้ายถูกตัดทอนหรือลบไประหว่างการดาวน์โหลดที่ถูกขัดจังหวะ
การกู้คืน: สร้างดัชนีใหม่โดยใช้ DivFix++, VLC ('สร้างดัชนีแล้วเล่น') หรือ 'ffmpeg -i broken.avi -c copy fixed.avi'
การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์
ไฟล์ AVI มีลำดับชั้นชั๊ดที่ซับซ้อนและรองรับโคเดกวิดีโอยุคเก่าที่คลุมเครือจำนวนนับไม่ถ้วน ทำให้ตัวถอดรหัสที่ไม่มีแซนด์บ็อกซ์ไวต่อช่องโหว่ของตัวแยกวิเคราะห์
เวกเตอร์การโจมตีที่ทราบ
- บัฟเฟอร์ฮีปโอเวอร์フローในการแยกวิเคราะห์ชั๊ด 'strh' (ส่วนหัวของสตรีม) ในเครื่องเล่นสื่อ Windows รุ่นเก่า
- จำนวนเต็มล้นระหว่างการจัดสรรอาร์เรย์ดัชนีสำหรับส่วนหัวจำนวนเฟรมขนาดใหญ่ที่สร้างขึ้นอย่างประสงค์ร้าย
- การอ่านนอกขอบเขตในการคลายการบีบอัด Motion JPEG ภายในตัวกรอง DirectShow รุ่นเก่า
แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน:
ประวัติความเป็นมาและเหตุการณ์สำคัญ
ข้อได้เปรียบและจุดเด่นสำคัญ
- การสนับสนุนเดสก์ท็อปรุ่นเก่าที่กว้างขวางมากในซอฟต์แวร์สื่อ Windows และโปรแกรมแก้ไขวิดีโอ
- รองรับเฟรมดิบที่ไม่ได้บีบอัดสำหรับการสแกนภาพยนตร์เก็บถาวรและการวิเคราะห์วิดีโอทางวิทยาศาสตร์
- สถาปัตยกรรมการสลับสตรีมแบบง่ายที่มีค่าใช้จ่ายเพิ่มเติมของคอนเทนเนอร์ต่ำ
ข้อจำกัดทางเทคนิคและข้อควรพิจารณา
- ขาดการสนับสนุนแบบเนทีฟสำหรับฟีเจอร์คอนเทนเนอร์วิดีโอสมัยใหม่ เช่น อัตราเฟรมตัวแปร (VFR) และบท
- ไม่เหมาะสำหรับการสตรีมบนเว็บเพราะชั๊ดดัชนีหลัก ('idx1') ถูกจัดเก็บไว้ที่ส่วนท้ายของไฟล์
- ไม่มีการสนับสนุนเบราว์เซอร์วิดีโอ HTML5 แบบเนทีฟโดยไม่ต้องเข้ารหัสใหม่เป็น MP4 หรือ WebM
เกร็ดความรู้ทางเทคนิคที่น่าสนใจ
- ในช่วงต้นปี 2000 ไฟล์ DivX และ Xvid AVI เป็นรูปแบบหลักที่ใช้โดยเครือข่ายการแชร์ไฟล์แบบเพียร์ทูเพียร์
- ข้อกำหนด AVI ดั้งเดิมในปี 1992 ไม่สามารถเกิน 2 GB เนื่องจากพอยน์เตอร์ออฟเซ็ตไฟล์แบบ 32 บิต
- ชั๊ด 'idx1' ที่ส่วนท้ายของไฟล์ AVI แสดงรายการออฟเซ็ตไบต์ของทุกๆ เฟรมเพียงเฟรมเดียวสำหรับการค้นหา
คำถามทางเทคนิคที่พบบ่อย
ทำไมฉันถึงไม่สามารถเล่นวิดีโอ AVI บนเว็บเบราว์เซอร์ได้โดยตรง?
เบราว์เซอร์สมัยใหม่ใช้มาตรฐาน MP4 (H.264/AV1) และ WebM (VP9/AV1) เนื่องจากรูปแบบคอนเทนเนอร์ได้รับการปรับแต่งมาสำหรับการสตรีมแบบโปรเกรสซีฟ AVI ขาดฟีเจอร์การสตรีมเว็บแบบเนทีฟและไม่รองรับในแท็ก HTML5 <video>
ฉันจะซ่อมแซมไฟล์ AVI ที่ไม่สามารถข้ามไปดูช่วงต่างๆ (seek หรือ scrub) ได้อย่างไร?
ไฟล์ AVI พึ่งพาตารางดัชนีที่อยู่ส่วนท้ายของไฟล์ หากไม่สมบูรณ์ โปรแกรมเล่นจะไม่สามารถข้ามไปยังส่วนต่างๆ ได้ การแปลงรหัส (transcoding) หรือการทำดัชนีไฟล์ใหม่ด้วย File2File Video Converter จะช่วยคืนค่าการเลื่อนดูไทม์ไลน์ได้อย่างสมบูรณ์
AVI และ MP4 แตกต่างกันอย่างไร?
AVI เป็นคอนเทนเนอร์รุ่นเก่าจากปี 1992 ที่ออกแบบมาสำหรับการเล่นบนเดสก์ท็อปภายในเครื่อง ส่วน MP4 เป็นมาตรฐานสมัยใหม่จากปี 2001 ที่รองรับการสตรีมผ่านเว็บ, บทเพลง, อัตราเฟรมแบบแปรผัน, ซับไตเติล และการบีบอัดที่เหนือกว่า