aspose.info
VI

Định dạng tệp MKV

Cập nhật

Tệp MKV là gì?

MKV (Matroska Video) là một bộ chứa đa phương tiện tương tự như định dạng MOV và AVI nhưng nó hỗ trợ nhiều rãnh âm thanh và phụ đề trong cùng một tệp. Tệp MKV là định dạng bộ chứa đa phương tiện Matroska được sử dụng cho video. MKV dựa trên Ngôn ngữ meta nhị phân mở rộng và nó hỗ trợ một số định dạng nén video và âm thanh. Sự khác biệt chính giữa MKV và các định dạng video khác là MKV là một bộ chứa chứ không phải codec. Các tệp MKV được lưu với phần mở rộng tệp .mkv. MKV có thể kết hợp âm thanh, video và phụ đề trong một tệp ngay cả khi những thành phần đó sử dụng các loại mã hóa khác nhau. Ví dụ: bạn có thể có tệp MKV chứa video H.264 và MP3 hoặc AAC cho âm thanh. MKV cũng hỗ trợ mô tả, xếp hạng, ảnh bìa và thậm chí cả điểm chương. Có một số tính năng chính mà MKV là minh chứng cho tương lai. Những tính năng này bao gồm:

  • Hỗ trợ tìm kiếm nhanh.
  • Khả năng chọn các luồng âm thanh và video khác nhau.
  • Hỗ trợ phụ đề (mã hóa cứng và mã hóa mềm).
  • Hỗ trợ siêu dữ liệu, chương và menu.
  • Khả năng phát trực tuyến.
  • Khả năng khôi phục các tệp bị lỗi cung cấp khả năng phát các tệp bị hỏng.

Lược Sử

Tệp MKV có nguồn gốc từ năm 2002 tại Nga. Nhà phát triển chính là Lasse Kärkkäinen, người đã làm việc với người sáng lập Matroska, Steve Lhomme và một nhóm lập trình viên. MKV được phát triển như một dự án tiêu chuẩn mở, có nghĩa là nó là nguồn mở và miễn phí sử dụng. Thời gian trôi qua, định dạng này đã được cải thiện và trở thành nền tảng của định dạng đa phương tiện WebM vào năm 2010.

Thiết kế Matroska

Matroska thêm các ràng buộc sau vào đặc tả EBML.

  • Dạng tài liệu của Tiêu đề EBML phải là ‘matroska’.
  • EBMLMaxIDLength của EBML Header phải là 4.
  • EBMLMaxSizeLength của EBML Header phải nằm trong khoảng từ 1 đến 8 (bao gồm).

Tất cả các phần tử cấp cao nhất được mã hóa trong 4 octet.

  • Mã ngôn ngữ: Matroska (phiên bản 1 đến 3) đã sử dụng mã ngôn ngữ có thể ở dạng thư mục ISO-639-2 gồm 3 chữ cái (như “fre” cho tiếng Pháp) hoặc mã quốc gia bổ sung có thể được sử dụng như “fre-ca " cho tiếng Pháp Canada. Bắt đầu từ Matroska phiên bản 4, ISO 639-2 hoặc BCP 47 CÓ THỂ được sử dụng cho mã ngôn ngữ, mặc dù BCP 47 được khuyến nghị.
  • Các loại vật lý: Chúng có ý nghĩa khác nhau đối với cả tệp âm thanh và video. Ví dụ: ChapterPhysicalEquiv = 60 có nghĩa là (CD / 12” / 10" / 7" / TAPE / MINIDISC / DAT) cho âm thanh và (DVD / VHS / LASERDISC) cho video.
  • Cấu trúc khối - Tiêu đề khối: Tiêu đề khối chứa thông tin về số bản nhạc, dấu thời gian, loại viền, v.v.
  • Lacing: Là cơ chế tiết kiệm dung lượng khi lưu trữ dữ liệu thường dùng cho các khối dữ liệu nhỏ (frame). Có 3 kiểu thắt dây:
    • 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.
  • Cấu trúc SimpleBlock: Nó được lấy cảm hứng từ Cấu trúc khối với sự khác biệt chính là việc bổ sung các cờ Khung hình chính và Có thể loại bỏ. Ngoài ra, mọi thứ đều giống nhau.

Cấu trúc Matroska

Một tài liệu Matroska phải bao gồm ít nhất một Tài liệu EBML sử dụng Loại tài liệu Matroska. Mỗi Tài liệu EBML phải bắt đầu bằng Tiêu đề EBML theo sau là Phần tử gốc EBML được xác định là Phân đoạn. Matroska định nghĩa một số Phần tử cấp cao nhất có thể xuất hiện trong Phân đoạn.

EBML sử dụng hệ thống các Thành phần để soạn Tài liệu EBML, Sau đây là danh sách các Thành phần cấp cao nhất trong tệp Matroska:

  • Tài liệu EBML: Trình bao bọc cho toàn bộ tệp.
  • Tiêu đề EBML: Nó chứa thông tin tiêu đề cho tệp như DocType.
  • Segment: Phần tử trên cùng chứa tất cả các phần tử cấp cao nhất khác.
  • SeekHead: Nó chứa vị trí của Phân đoạn của các Phần tử cấp cao nhất khác.
  • Thông tin: Nó chứa thông tin chung về Phân đoạn.
  • Đường đi: Thành phần thông tin cấp cao nhất với nhiều đường đi được mô tả.
  • Chương: Nó được sử dụng để xác định các menu cơ bản và dữ liệu phân vùng.
  • Cluster: Phần tử Cấp cao nhất chứa cấu trúc Khối.
  • Cues: Phần tử cấp cao nhất chứa tất cả các mục cục bộ của Phân đoạn giúp tăng tốc độ tìm kiếm quyền truy cập.
  • Phần đính kèm: Phần này chứa các tệp đính kèm.
  • Thẻ: Phần tử này chứa siêu dữ liệu mô tả Bản nhạc, Phiên bản, Chương, Phần đính kèm hoặc toàn bộ Phân đoạn.

Bảng sau đây cho thấy cấu trúc của tài liệu Matroska với hầu hết các yếu tố được hiển thị theo thứ bậc:

Tiêu đề EBML
Phân khúcTìm KiếmTìm kiếmID tìm kiếm
Vị trí tìm kiếm
Thông tinPhân khúcUID
Phân đoạnTên tệp
TrướcUID
TrướcTên tập tin
Tiếp theoUID
Tiếp theoTên tệp
Phân khúcGia đình
ChươngDịch
Thang đo dấu thời gian
Thời lượng
NgàyUTC
Tiêu đề
MuxingApp
Viết ứng dụng
Bài hátTheo dõi Nhập cảnhSố theo dõi
Theo dõiUID
Loại đường
Tên
Ngôn ngữ
CodecID
CodecPrivate
CodecName
VideoCờXen kẽ
Dòng thứ tự
Chế độ âm thanh nổi
Chế độ Alpha
Chiều rộng pixel
PixelHeight
Chiều rộng hiển thị
Chiều cao hiển thị
AspectRatioType
Màu
Âm thanhTần suất lấy mẫu
Kênh
BitDepth
ChươngPhiên bảnEntryPhiên bảnUID
BảnCờẨn
Phiên bảnFlagDefault
Phiên bảnCờĐặt hàng
ChươngAtomChươngUID
ChươngStringUID
ChapterTimeStart
ChapterTimeEnd
ChươngCờẨn
ChươngDisplayChapString
ChapNgôn Ngữ
CụmDấu thời gian
Dấu vết im lặng
Vị trí
TrướcKích thước
khối đơn giản
KhốiNhóm
Khối được mã hóa
CuesCuePointCueTime
CueTrackPositions
Tệp đính kèmTệp đính kèmMô tả tệp
Tên tệp
FileMimeType
TệpUID
Giới thiệu tệp
FileUsedStartTime
FileUsedEndTime
ThẻThẻMục tiêuTargetTypeValue
Loại mục tiêu
TagTrackUID
TagPhiên bảnUID
ThẻChươngUID
Thẻ Đính kèmUID
Thẻ đơn giảnTagName
TagNgôn ngữ
TagDefault
TagString
Thẻnhị phân
Thẻ đơn giản

Sử dụng Codec

Nếu bạn không muốn có một trình phát đa phương tiện mới và muốn sử dụng trình phát hiện tại của mình, bạn sẽ cần cài đặt một số codec (viết tắt của nén/giải nén). Mặc dù tải xuống codec là một tùy chọn hợp lệ, nhưng bạn nên cẩn thận về nguồn gốc và chúng có thể chứa phần mềm độc hại.

Người giới thiệu

Xem thêm