Video Matroska (.mkv)
Matroska Tiêu chuẩnMatroska Video (MKV) là định dạng vùng chứa đa phương tiện tiêu chuẩn mở, có thể mở rộng và miễn phí, có khả năng chứa vô số luồng video, âm thanh, hình ảnh và phụ đề bên trong một tệp duy nhất.
Kiểm tra & Siêu dữ liệu
Các hệ điều hành và trình phân tích tệp nhận dạng tệp MKV bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:
Chữ ký ở đầu tệp (mẫu byte nhận diện)
Các hệ điều hành và trình phân tích tệp nhận dạng tệp MKV bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:
CHỮ KÝ HEX (OFFSET 0):
1A 45 DF A3BIỂU DIỄN ASCII: Eߣ
Tiêu chuẩn hóa: Matroska Open Standard / IETF Working Group Draft
Thông số kỹ thuật
| Kiến trúc Container | Vùng chứa phân cấp Extensible Binary Meta Language (EBML) |
| Nén | Không phụ thuộc codec: chứa AV1, HEVC, H.264, VP9, DTS-HD, TrueHD, FLAC và video không nén |
| Thứ tự byte | Số nguyên EBML theo thứ tự byte lớn (big-endian), độ dài biểu diễn bằng số byte biến đổi |
| Không gian màu | HDR10, Dolby Vision, HLG và mọi không gian màu |
| Kênh & Cấu trúc | Gần như không giới hạn số rãnh âm thanh, luồng phụ đề và góc máy quay |
| Kích thước tối đa | Không giới hạn; hỗ trợ video 8K, 16K và tốc độ khung hình cao |
| Độ trong suốt | Hỗ trợ đầy đủ kênh alpha khi chứa luồng VP9 hoặc ProRes |
| Truyền phát & Tăng dần | Đóng khung theo cụm cho phép truyền phát trực tiếp ổn định và tăng khả năng chống lỗi |
Ma trận so sánh kỹ thuật: MKV so với các đối thủ
| Thuộc tính kỹ thuật | MKV (Hiện tại) | MP4 | WEBM | AVI |
|---|---|---|---|---|
| Tính linh hoạt về codec | Phổ quát: chấp nhận mọi codec video, âm thanh hoặc phụ đề | Chủ yếu bị giới hạn ở H.264/HEVC/AV1 và AAC | Giới hạn ở VP8/VP9/AV1 và Vorbis/Opus | Chỉ các codec cũ |
| Độ trung thực của phụ đề | Phông chữ đính kèm có thể hỗ trợ hiển thị nếu trình phát tương thích; giao diện tùy thuộc vào phần mềm. | Chỉ định dạng văn bản cơ bản | Chỉ định dạng WebVTT cơ bản | Yêu cầu tệp phụ đề bên ngoài |
| Hỗ trợ tích hợp sẵn của Apple | Yêu cầu trình phát của bên thứ ba (VLC, IINA, Infuse) | Được hỗ trợ sẵn trên 100% thiết bị Apple | Được hỗ trợ trong Safari thông qua các framework hiện đại | Plugin QuickTime cũ |
| Kiến trúc vùng chứa | Ngôn ngữ siêu dữ liệu nhị phân mở rộng (EBML) | Định dạng tệp phương tiện cơ sở ISO (Nguyên tử/Hộp) | EBML (Tập con Matroska) | Kiến trúc khối RIFF |
Các dạng hỏng thường gặp và hướng dẫn khôi phục bằng mã hex
Tệp phát nhưng việc kéo thanh thời gian bị lỗi hoặc thời lượng được tính toán không chính xác.
Nguyên nhân gốc rễ: Phần tử 'Cues' bị hỏng hoặc thiếu (bảng tìm kiếm Matroska) do tải xuống không hoàn tất.
Khắc phục: Xây dựng lại bảng chỉ mục tìm kiếm ngay lập tức bằng 'mkvmerge -o fixed.mkv broken.mkv'.
Phân tích bảo mật và các đường tấn công nhằm vào bộ phân tích cú pháp
Quá trình phân tích cú pháp EBML yêu cầu giải mã số nguyên có độ dài thay đổi và cây phần tử lồng nhau. Độ dài phần tử không hợp lệ có thể gây ra các lỗi quản lý bộ nhớ.
Các véc-tơ tấn công đã biết
- Tràn bộ đệm vùng nhớ heap trong quá trình phân tích cú pháp kích thước phần tử EBML trong trình phát đa phương tiện.
- Thực thi mã tùy ý thông qua việc xử lý tệp đính kèm phông chữ nhúng được định dạng sai trong trình kết xuất phụ đề.
- Từ chối dịch vụ thông qua các vòng lặp tham chiếu tròn trong các phần tử chương Matroska.
Biện pháp phòng thủ tốt nhất: Làm sạch các loại tệp đính kèm được nhúng và phân tích cú pháp các cấu trúc EBML bằng các thư viện trình phân tích cú pháp an toàn về bộ nhớ và bị cách ly.
Nguồn gốc lịch sử và các cột mốc
Ưu điểm & Lợi ích chính
- Vùng chứa linh hoạt nhất hiện có: hỗ trợ hầu như mọi codec video, âm thanh và phụ đề.
- Hỗ trợ đầy đủ cho phụ đề kiểu dáng nâng cao (ASS/SSA), các luồng âm thanh đa ngôn ngữ và menu chương.
- Khả năng chống hỏng cao: các cụm bị hỏng không cản trở việc phát video xung quanh.
Hạn chế & Nhược điểm kỹ thuật
- Thiếu khả năng phát lại gốc ngay khi mở trên trình phát Apple QuickTime mặc định và các thiết bị iOS.
- Không phải mọi trung tâm thông minh trên TV thương mại và trình phát phần cứng đều hỗ trợ định dạng này.
- Không thể nhúng trực tiếp vào các trình duyệt web tiêu chuẩn thông qua thẻ HTML5 <video> mà không cần chuyển đổi mã.
Thông tin kỹ thuật thú vị
- Tên 'Matroska' bắt nguồn từ từ tiếng Nga 'Matryoshka', ám chỉ búp bê lồng gỗ lồng vào nhau.
- Các byte nhận diện '1A 45 DF A3' là ID tiêu đề EBML phổ quát được dùng trong cả MKV và WebM.
- Các tệp MKV có thể nhúng toàn bộ tệp phông chữ TrueType và OpenType trực tiếp bên trong vùng chứa để hiển thị phụ đề anime.
Các câu hỏi kỹ thuật thường gặp
Tại sao TV hoặc điện thoại của tôi không phát được tệp MKV?
Mặc dù MKV rất phổ biến trên PC, một số TV và thiết bị iOS không cấp phép cho bộ chứa hoặc codec âm thanh cao cấp cụ thể (như DTS) bên trong nó. Việc chuyển đổi MKV sang MP4 sẽ giải quyết vấn đề tương thích ngay lập tức.
Tôi có thể chuyển đổi MKV sang MP4 mà không làm giảm chất lượng video không?
Có! Nếu video bên trong tệp MKV của bạn là H.264 hoặc HEVC, File2File.app sẽ chỉ đóng gói lại luồng video vào tệp chứa MP4 trong vài giây mà không cần mã hóa lại, giữ nguyên 100% chất lượng gốc.
Mối quan hệ giữa MKV và WebM là gì?
WebM dựa trên mô hình vùng chứa Matroska/EBML và dùng cấu hình giới hạn với các codec được chỉ định.