ไฟล์ MKV คืออะไร??
MKV (วิดีโอ Matroska) เป็นคอนเทนเนอร์มัลติมีเดียที่คล้ายกับรูปแบบ MOV และ AVI แต่รองรับแทร็กเสียงและคำบรรยายมากกว่าหนึ่งแทร็กในไฟล์เดียวกัน ไฟล์ MKV เป็นรูปแบบคอนเทนเนอร์มัลติมีเดียของ Matroska ที่ใช้สำหรับวิดีโอ MKV ใช้ Extensible Binary Meta Language และรองรับรูปแบบการบีบอัดวิดีโอและเสียงหลายรูปแบบ ข้อแตกต่างที่สำคัญระหว่าง MKV และรูปแบบวิดีโออื่นๆ คือ MKV เป็นคอนเทนเนอร์ ไม่ใช่ตัวแปลงสัญญาณ ไฟล์ MKV ถูกบันทึกด้วยนามสกุลไฟล์ .mkv MKV สามารถรวมเสียง วิดีโอ และคำบรรยายไว้ในไฟล์เดียว แม้ว่าองค์ประกอบเหล่านั้นจะใช้การเข้ารหัสประเภทต่างๆ ตัวอย่างเช่น คุณอาจมีไฟล์ MKV ที่มีวิดีโอ H.264 และ MP3 หรือ AAC สำหรับเสียง MKV ยังสนับสนุนคำอธิบาย การให้คะแนน ภาพหน้าปก และแม้แต่ประเด็นของบท มีคุณสมบัติหลักหลายประการที่ MKV เป็นเครื่องพิสูจน์ในอนาคต คุณสมบัติเหล่านี้รวมถึง:
- รองรับการค้นหาอย่างรวดเร็ว
- ความสามารถในการเลือกสตรีมเสียงและวิดีโอต่างๆ
- รองรับคำบรรยาย (ฮาร์ดโค้ดและซอฟต์โค้ด)
- รองรับข้อมูลเมตา บท และเมนู
- ความสามารถในการสตรีมออนไลน์
- ความสามารถในการกู้คืนไฟล์ที่ผิดพลาดที่ให้ความสามารถในการเล่นไฟล์ที่เสียหาย
ประวัติย่อ
ไฟล์ MKV เกิดขึ้นในปี 2545 ในรัสเซีย นักพัฒนาหลักคือ Lasse Kärkkäinen ซึ่งทำงานร่วมกับผู้ก่อตั้ง Matroska, Steve Lhomme และทีมโปรแกรมเมอร์ MKV ได้รับการพัฒนาเป็นโครงการมาตรฐานเปิด ซึ่งหมายความว่าเป็นโอเพ่นซอร์สและใช้งานได้ฟรี เมื่อเวลาผ่านไป รูปแบบได้รับการปรับปรุงและกลายเป็นพื้นฐานของรูปแบบมัลติมีเดีย WebM ในปี 2010
การออกแบบ Matroska
Matroska เพิ่มข้อจำกัดต่อไปนี้ในข้อกำหนด EBML
- docType ของ EBML Header ต้องเป็น ‘matroska’
- EBMLMaxIDLength ของส่วนหัว EBML** ต้องเป็น 4
- EBMLMaxSizeLength ของ EBML Header ต้องอยู่ระหว่าง 1 ถึง 8 (รวมอยู่ด้วย)
องค์ประกอบระดับบนสุดทั้งหมดถูกเข้ารหัสเป็น 4 ออคเต็ต
- รหัสภาษา: Matroska (เวอร์ชัน 1 ถึง 3) ใช้รหัสภาษาที่เป็นได้ทั้งรูปแบบบรรณานุกรม 3 ตัวอักษร ISO-639-2 (เช่น “fre” สำหรับภาษาฝรั่งเศส) หรืออาจใช้รหัสประเทศเพิ่มเติม เช่น “fre-ca " สำหรับภาษาฝรั่งเศสแบบแคนาดา เริ่มต้นใน Matroska เวอร์ชัน 4 อาจใช้ ISO 639-2 หรือ BCP 47 สำหรับรหัสภาษา แม้ว่าแนะนำให้ใช้ BCP 47
- ประเภททางกายภาพ: สิ่งเหล่านี้มีความหมายต่างกันสำหรับทั้งไฟล์เสียงและวิดีโอ ตัวอย่างเช่น ChapterPhysicalEquiv = 60 หมายถึง (CD / 12” / 10" / 7" / TAPE / MINIDISC / DAT) สำหรับเสียง และ (DVD / VHS / LASERDISC) สำหรับวิดีโอ
- โครงสร้างบล็อก - ส่วนหัวของบล็อก: ส่วนหัวของบล็อกประกอบด้วยข้อมูลเกี่ยวกับหมายเลขแทร็ก เวลาประทับ ประเภทของการปัก ฯลฯ
- การปัก: เป็นกลไกในการประหยัดพื้นที่เมื่อจัดเก็บข้อมูลซึ่งโดยทั่วไปจะใช้กับบล็อกข้อมูลขนาดเล็ก (เฟรม) การปักมี 3 ประเภท:
- Xiph: Frame with a size multiple of 255 coded with a 0 at the end of the size. For example, The code for 765 is 255;255;255;0.
- EBML: The frame size is coded as a difference between the previous size and this size. The first size in the lace is unsigned but others use a range shift to get a sign on each value.
- fixed-size: The size remains the same.
- โครงสร้าง SimpleBlock: ได้รับแรงบันดาลใจจาก โครงสร้างบล็อก โดยมีความแตกต่างหลักคือการเพิ่มแฟล็ก Keyframe และ Discardable นอกนั้นเหมือนเดิมทุกอย่าง
โครงสร้างมาทรอสก้า
เอกสาร Matroska ต้องประกอบด้วย เอกสาร EBML อย่างน้อยหนึ่งรายการโดยใช้ ประเภทเอกสาร Matroska เอกสาร EBML แต่ละรายการต้องขึ้นต้นด้วย EBML Header ตามด้วย EBML Root Element ที่กำหนดเป็น Segment Matroska กำหนดองค์ประกอบระดับบนสุดหลายรายการที่อาจเกิดขึ้นภายใน กลุ่ม
EBML ใช้ระบบองค์ประกอบในการเขียนเอกสาร EBML ต่อไปนี้คือรายการองค์ประกอบระดับบนสุดในไฟล์ Matroska:
- เอกสาร EBML: Wrapper สำหรับทั้งไฟล์
- EBML Header: ประกอบด้วยข้อมูลส่วนหัวของไฟล์ เช่น DocType
- เซ็กเมนต์: องค์ประกอบบนสุดที่มีองค์ประกอบระดับบนสุดอื่นๆ ทั้งหมด
- SeekHead: มีตำแหน่งของ Segments ขององค์ประกอบระดับบนสุดอื่นๆ
- ข้อมูล: ประกอบด้วยข้อมูลทั่วไปเกี่ยวกับกลุ่ม
- แทร็ก: องค์ประกอบข้อมูลระดับบนสุดที่อธิบายแทร็กไว้มากมาย
- บท: ใช้เพื่อกำหนดเมนูพื้นฐานและข้อมูลพาร์ติชัน
- คลัสเตอร์: องค์ประกอบระดับบนสุดที่มีโครงสร้างบล็อก
- ตัวชี้นำ: องค์ประกอบระดับบนสุดที่มีรายการทั้งหมดที่อยู่ในกลุ่มซึ่งเพิ่มความเร็วในการค้นหาการเข้าถึง
- ไฟล์แนบ: ประกอบด้วยไฟล์แนบ
- แท็ก: องค์ประกอบนี้มีข้อมูลเมตาที่อธิบายแทร็ก รุ่น บท สิ่งที่แนบมา หรือกลุ่มทั้งหมด
ตารางต่อไปนี้แสดงโครงสร้างของเอกสาร Matroska โดยมีองค์ประกอบส่วนใหญ่แสดงตามลำดับชั้น:
ส่วนหัว EBML | ||||||
ส่วนงาน | SeekHead | ค้นหา | SeekID | |||
SeekPosition | ||||||
ข้อมูล | SegmentUID | |||||
ส่วนชื่อไฟล์ | ||||||
ก่อนหน้าUID | ||||||
ก่อนหน้าชื่อไฟล์ | ||||||
ต่อไปUID | ||||||
ถัดไปชื่อไฟล์ | ||||||
กลุ่มครอบครัว | ||||||
บทที่แปล | ||||||
เวลาประทับมาตราส่วน | ||||||
ระยะเวลา | ||||||
วันที่UTC | ||||||
ชื่อเรื่อง | ||||||
MuxingApp | ||||||
แอพเขียน | ||||||
แทร็ก | ติดตามรายการ | หมายเลขแทร็ก | ||||
TrackUID | ||||||
ประเภทแทร็ก | ||||||
ชื่อ | ||||||
ภาษา | ||||||
CodecID | ||||||
Codecส่วนตัว | ||||||
ชื่อรหัส | ||||||
วิดีโอ | ธงอินเทอร์เลซ | |||||
คำสั่งฟิลด์ | ||||||
โหมดสเตอริโอ | ||||||
อัลฟ่าโหมด | ||||||
ความกว้างพิกเซล | ||||||
PixelHeight | ||||||
ความกว้างหน้าจอ | ||||||
ความสูงจอแสดงผล | ||||||
AspectRatioType | ||||||
สี | ||||||
เสียง | ความถี่ในการสุ่มตัวอย่าง | |||||
ช่อง | ||||||
ความลึกบิต | ||||||
บท | รายการฉบับ | EditionUID | ||||
EditionFlagHidden | ||||||
EditionFlagDefault | ||||||
EditionFlagOrdered | ||||||
บทที่Atom | บทUID | |||||
ChapterStringUID | ||||||
ChapterTimeStart | ||||||
บทที่เวลาสิ้นสุด | ||||||
บทที่ธงซ่อน | ||||||
บทแสดง | ChapString | |||||
Chapภาษา | ||||||
คลัสเตอร์ | การประทับเวลา | |||||
SilentTracks | ||||||
ตำแหน่ง | ||||||
ก่อนหน้าขนาด | ||||||
SimpleBlock | ||||||
กลุ่มบล็อก | ||||||
EncryptedBlock | ||||||
สัญญาณ | CuePoint | คิวไทม์ | ||||
CueTrackPositions | ||||||
ไฟล์แนบ | ไฟล์แนบ | คำอธิบายไฟล์ | ||||
ชื่อไฟล์ | ||||||
FileMimeType | ||||||
FileUID | ||||||
การอ้างอิงไฟล์ | ||||||
ไฟล์ที่ใช้เวลาเริ่มต้น | ||||||
ไฟล์ที่ใช้เวลาสิ้นสุด | ||||||
แท็ก | แท็ก | เป้าหมาย | TargetTypeValue | |||
TargetType | ||||||
TagTrackUID | ||||||
TagEditionUID | ||||||
แท็กChapterUID | ||||||
TagAttachmentUID | ||||||
SimpleTag | ชื่อแท็ก | |||||
ภาษาแท็ก | ||||||
แท็กเริ่มต้น | ||||||
สตริงแท็ก | ||||||
แท็กไบนารี | ||||||
SimpleTag |
การใช้ตัวแปลงสัญญาณ
หากคุณไม่ต้องการเครื่องเล่นสื่อใหม่และต้องการใช้เครื่องเล่นที่มีอยู่ คุณจะต้องติดตั้งตัวแปลงสัญญาณบางตัว (ชวเลขสำหรับการบีบอัด/คลายการบีบอัด) แม้ว่าการดาวน์โหลดตัวแปลงสัญญาณจะเป็นตัวเลือกที่ถูกต้อง คุณควรระวังเกี่ยวกับแหล่งที่มาและสิ่งเหล่านี้อาจมีมัลแวร์