aspose.info
TH

รูปแบบไฟล์ MKV

อัปเดตเมื่อ

ไฟล์ 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

การใช้ตัวแปลงสัญญาณ

หากคุณไม่ต้องการเครื่องเล่นสื่อใหม่และต้องการใช้เครื่องเล่นที่มีอยู่ คุณจะต้องติดตั้งตัวแปลงสัญญาณบางตัว (ชวเลขสำหรับการบีบอัด/คลายการบีบอัด) แม้ว่าการดาวน์โหลดตัวแปลงสัญญาณจะเป็นตัวเลือกที่ถูกต้อง คุณควรระวังเกี่ยวกับแหล่งที่มาและสิ่งเหล่านี้อาจมีมัลแวร์

อ้างอิง

ดูเพิ่มเติม