วิดีโอ AVI (.avi)
Microsoft มาตรฐานAudio Video Interleave (AVI) คือคอนเทนเนอร์มัลติมีเดียรุ่นบุกเบิกที่ Microsoft เปิดตัวในปี 1992 โดยสลับสตรีมเสียงและวิดีโอเพื่อให้เล่นพร้อมกันได้อย่างซิงโครไนซ์
ตรวจสอบไฟล์และข้อมูลเมตา
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ AVI โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวระดับไบต์
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ AVI โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 0):
52 49 46 46 ?? ?? ?? ?? 41 56 49 20การแสดงผลรูปแบบ ASCII: RIFF????AVI
มาตรฐาน: Microsoft RIFF Specification / OpenDML Extension
ข้อมูลจำเพาะทางเทคนิค
| สถาปัตยกรรมคอนเทนเนอร์ | คอนเทนเนอร์ชังก์สลับข้อมูล Resource Interchange File Format (RIFF) |
| การบีบอัด | สตรีมที่สลับข้อมูลและรองรับ DivX, Xvid, Motion JPEG, วิดีโอดิบแบบไม่บีบอัด และเสียง MP3 |
| การจัดลำดับไบต์ | ลำดับไบต์ Little-Endian (ตามลำดับของ Intel x86) |
| พื้นที่สี | YUV 4:2:0, RGB และสีแบบพาเลต |
| ช่องสัญญาณและโครงสร้าง | สตรีมเสียงสเตอริโอและหลายช่องสัญญาณ |
| ขนาดสูงสุด | ไม่จำกัด; ส่วนขยาย OpenDML AVI รองรับ 4K และสตรีมขนาดหลายกิกะไบต์ |
| ความโปร่งใส | รองรับผ่านสตรีมวิดีโอ RGBA แบบไม่บีบอัด |
| การสตรีมและแบบโปรเกรสซีฟ | ชังก์ดัชนีอยู่ท้ายไฟล์ จึงไม่เหมาะกับการสตรีมเว็บแบบโปรเกรสซีฟ |
ตารางเปรียบเทียบทางเทคนิค: 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 รุ่นเก่า
แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: แปลงไฟล์ AVI ที่ไม่น่าเชื่อถือเป็นคอนเทนเนอร์ MP4 สมัยใหม่ภายในแซนด์บ็อกซ์ก่อนนำเข้า
ประวัติความเป็นมาและเหตุการณ์สำคัญ
ข้อได้เปรียบและจุดเด่นสำคัญ
- การสนับสนุนเดสก์ท็อปรุ่นเก่าที่กว้างขวางมากในซอฟต์แวร์สื่อ 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 อาศัยตารางดัชนีที่ท้ายไฟล์ หากตารางไม่สมบูรณ์ โปรแกรมเล่นจะค้นหาตำแหน่งไม่ได้ การแปลงไฟล์หรือสร้างดัชนีใหม่ด้วย File2File.app Video Converter จะช่วยให้เลื่อนดูไทม์ไลน์ได้ครบถ้วน
AVI และ MP4 แตกต่างกันอย่างไร?
AVI เป็นคอนเทนเนอร์รุ่นเก่าจากปี 1992 ที่ออกแบบมาสำหรับการเล่นบนเดสก์ท็อปภายในเครื่อง ส่วน MP4 เป็นมาตรฐานสมัยใหม่จากปี 2001 ที่รองรับการสตรีมผ่านเว็บ, บท, อัตราเฟรมแบบแปรผัน, ซับไตเติล และการบีบอัดที่เหนือกว่า