วิดีโอ Flash (.flv)
Adobe มาตรฐานFlash Video (FLV) คือรูปแบบคอนเทนเนอร์ที่ Macromedia และ Adobe พัฒนาขึ้นเพื่อส่งวิดีโอและเสียงที่ซิงโครไนซ์ผ่านปลั๊กอิน Adobe Flash Player บนเว็บ
ตรวจสอบไฟล์และข้อมูลเมตา
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ FLV โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวระดับไบต์
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ FLV โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 0):
46 4C 56 01การแสดงผลรูปแบบ ASCII: FLV
มาตรฐาน: Adobe Systems Flash Video File Format Specification
ข้อมูลจำเพาะทางเทคนิค
| สถาปัตยกรรมคอนเทนเนอร์ | คอนเทนเนอร์สตรีมมิงแบบแท็กที่สลับแท็กข้อมูลเสียง วิดีโอ และสคริปต์ |
| การบีบอัด | วิดีโอ Sorenson Spark, VP6 หรือ H.264 พร้อมเสียง MP3 หรือ AAC |
| การจัดลำดับไบต์ | การเรียงลำดับบิตและไบต์แบบ Big-Endian |
| พื้นที่สี | YUV 4:2:0 |
| ช่องสัญญาณและโครงสร้าง | เสียงโมโนและสเตอริโอพร้อมสตรีมวิดีโอ |
| ขนาดสูงสุด | โดยทั่วไปรองรับสูงสุด 1080p |
| ความโปร่งใส | รองรับความโปร่งใสผ่านช่องสัญญาณอัลฟาในสตรีมวิดีโอ VP6 |
| การสตรีมและแบบโปรเกรสซีฟ | รองรับการสตรีมสด RTMP (Real-Time Messaging Protocol) ในตัว |
ตารางเปรียบเทียบทางเทคนิค: FLV กับคู่แข่ง
| คุณลักษณะทางเทคนิค | FLV (ปัจจุบัน) | MP4 | WEBM | MKV |
|---|---|---|---|---|
| การรองรับเบราว์เซอร์ในปัจจุบัน | 0% (ลบออกจากเบราว์เซอร์สมัยใหม่ทั้งหมดอย่างสมบูรณ์) | รองรับครบทุกเบราว์เซอร์ 100% | รองรับเบราว์เซอร์สมัยใหม่ 100% | ต้องใช้เครื่องเล่นสื่อบนเดสก์ท็อป |
| การทำให้เป็นมาตรฐาน | ข้อกำหนดที่เป็นกรรมสิทธิ์ของ Adobe | มาตรฐานสากลแบบเปิด ISO/IEC | มาตรฐานเปิด W3C / WebM | มาตรฐาน Matroska โอเพนซอร์ส |
| การเล่นบนอุปกรณ์มือถือ | ไม่รองรับแบบเนทีฟบน iOS และ Android สมัยใหม่ | รองรับฮาร์ดแวร์แบบเนทีฟ | รองรับฮาร์ดแวร์แบบเนทีฟ | รองรับผ่าน VLC/แอปพลิเคชันบุคคลที่สาม |
| ความโปร่งใสของอัลฟา | รองรับผ่านโคเดก On2 VP6 | จำกัด (ต้องใช้แคนวาสหรือ WebCodecs) | รองรับช่องสัญญาณอัลฟาแบบเนทีฟ (VP9) | รองรับในสตรีม VP9/ProRes |
รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex
วิดีโอ FLV ที่ดาวน์โหลดมาแสดงระยะเวลาทั้งหมดเป็น 'ไม่ทราบ' และไม่สามารถข้ามได้
สาเหตุหลัก: แท็กสคริปต์ 'onMetaData' ที่ขาดหายไปซึ่งมีตารางประทับเวลาคีย์เฟรมและขนาดไฟล์
การกู้คืน: แทรกตารางคีย์เฟรมที่ขาดหายไปโดยใช้ 'yamdi' (Yet Another MetaData Injector) หรือแปลงเป็น MP4 ด้วย File2File.app
การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์
ปลั๊กอิน Flash Player ในอดีตเป็นหนึ่งในส่วนซอฟต์แวร์ที่มีการถูกโจมตีมากที่สุดในประวัติศาสตร์การคำนวณ เนื่องมาจากข้อบกพร่องที่ทำให้หน่วยความจำเสียหายใน ActionScript และการแยกวิเคราะห์ FLV
เวกเตอร์การโจมตีที่ทราบ
- การใช้หน่วยความจำหลังคืนพื้นที่และบัฟเฟอร์ฮีปล้นในเอนจิ้นแยกวิเคราะห์ FLV ของ ActionScript 3 (เช่น CVE-2015-5122)
- แพ็กเกจข้อมูลเมตา AMF0/AMF3 ที่มีรูปแบบผิดพลาดอาจทำให้ตัวแยกวิเคราะห์ที่มีช่องโหว่เกิดหน่วยความจำเสียหาย
- บัฟเฟอร์ล้นในรูทีนคลายการบีบอัด Sorenson Spark รุ่นเก่า
แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: ห้ามใช้ปลั๊กอิน Flash Player แบบเนทีฟ แปลงไฟล์ FLV ที่เก็บถาวรเป็น MP4 โดยตรงด้วย FFmpeg ในแซนด์บ็อกซ์
ประวัติความเป็นมาและเหตุการณ์สำคัญ
ข้อได้เปรียบและจุดเด่นสำคัญ
- เป็นผู้บุกเบิกวิดีโอออนไลน์ที่แพร่หลาย และทำให้เล่นวิดีโอบนเว็บได้โดยไม่ต้องใช้เครื่องเล่นบนเดสก์ท็อปแยกต่างหาก
- รองรับความโปร่งใสของอัลฟาในสตรีมวิดีโอโดยใช้โคเดก On2 VP6
- มีข้อมูลส่วนเกินในแพ็กเก็ตน้อย จึงเหมาะกับการถ่ายทอดวิดีโอสด RTMP ที่มีความหน่วงต่ำ
ข้อจำกัดทางเทคนิคและข้อควรพิจารณา
- ล้าสมัยอย่างสมบูรณ์และไม่รองรับในเว็บเบราว์เซอร์สมัยใหม่ทั้งหมดหลังจากการเลิกใช้งาน Flash Player
- ต้องเข้ารหัสใหม่หรือสลับคอนเทนเนอร์เป็น MP4 เพื่อเล่นบน iOS, Android และสมาร์ททีวี
- ขาดฟีเจอร์คอนเทนเนอร์สมัยใหม่ เช่น เสียงหลายแทร็กและการสตรีมที่ปรับบิตเรตตามสภาพการเล่น
เกร็ดความรู้ทางเทคนิคที่น่าสนใจ
- วิดีโอแรกที่อัปโหลดไปยัง YouTube ('Me at the zoo' ในเดือนเมษายน 2005) ถูกเข้ารหัสและจัดส่งเป็นไฟล์ FLV
- ลำดับลายเซ็นไฟล์ '46 4C 56 01' ของ Flash Video เข้ารหัสตัวอักษร ASCII 'FLV' ตามด้วยคอนเทนเนอร์เวอร์ชัน 1
- Steve Jobs เผยแพร่จดหมายเปิดผนึกชื่อดัง 'Thoughts on Flash' ในปี 2010 ซึ่งเร่งการเคลื่อนไหวของอุตสาหกรรมจาก FLV ไปสู่ HTML5 MP4
คำถามทางเทคนิคที่พบบ่อย
ทำไมฉันถึงไม่สามารถเล่นไฟล์ FLV บนคอมพิวเตอร์ของฉันได้อีกต่อไป?
Adobe และเว็บเบราว์เซอร์หลักทั้งหมดได้ยุติการสนับสนุน Flash Player อย่างเป็นทางการในเดือนธันวาคม 2020 เนื่องจากช่องโหว่ด้านความปลอดภัย หากต้องการเล่นไฟล์ FLV ในปัจจุบัน ให้ใช้ VLC media player หรือแปลงเป็น MP4
ฉันสามารถแปลง FLV เป็น MP4 โดยไม่สูญเสียคุณภาพได้หรือไม่?
สามารถย้ายสตรีม H.264 และ AAC ที่เข้ากันได้จาก FLV ไป MP4 โดยไม่เข้ารหัสใหม่ได้ เวลาในการประมวลผลขึ้นอยู่กับไฟล์และอุปกรณ์
วิดีโอ FLV ใช้โคเดกใดในช่วงแรก
ไฟล์ FLV ยุคแรกใช้ Sorenson Spark (รูปแบบย่อยของ H.263) และต่อมาคือ On2 VP6 ก่อนที่ Adobe จะเพิ่มการรองรับมาตรฐาน H.264 ในปี 2007