Matroska 비디오 (.mkv)
Matroska 표준마트로스카 비디오(MKV)는 단일 파일 내에 무제한의 비디오, 오디오, 사진 및 자막 트랙을 담을 수 있는 무료이며 확장 가능한 개방형 표준 멀티미디어 컨테이너 형식입니다.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 MKV 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 MKV 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
1A 45 DF A3ASCII 표현: Eߣ
표준화: Matroska Open Standard / IETF Working Group Draft
기술 사양
| 컨테이너 아키텍처 | Extensible Binary Meta Language (EBML) hierarchical container |
| 압축 | Codec-agnostic: holds AV1, HEVC, H.264, VP9, DTS-HD, TrueHD, FLAC, and uncompressed video |
| 바이트 엔디안 | Big-Endian integer representations with variable-length size descriptors |
| 색 공간 | HDR10, Dolby Vision, HLG, and all color spaces |
| 채널 및 구조 | Virtually unlimited audio tracks, subtitle streams, and camera angles |
| 최대 크기 | Unrestricted; supports 8K, 16K, and high framerate video |
| 투명도 | Full alpha channel support when holding VP9 or ProRes streams |
| 스트리밍 및 프로그레시브 | Cluster-based chunk framing allows robust live streaming and resilience to corruption |
기술 비교 매트릭스: MKV 대 경쟁사
| 기술적 속성 | MKV (현재) | MP4 | WEBM | AVI |
|---|---|---|---|---|
| 코덱 자유도 | 범용: 모든 비디오, 오디오 또는 자막 코덱 허용 | 주로 H.264/HEVC/AV1 및 AAC로 제한됨 | VP8/VP9/AV1 및 Vorbis/Opus로 제한됨 | 구형 코덱만 지원 |
| 자막 충실도 | 임베디드 글꼴 첨부 파일이 포함된 비트 단위로 완벽한 렌더링 | 기본 텍스트 스타일링만 지원 | 기본 WebVTT 스타일링만 지원 | 외부 자막 파일 필요 |
| Apple 기본 지원 | 서드파티 플레이어 필요 (VLC, IINA, Infuse) | 모든 Apple 기기에서 100% 기본 지원 | 최신 프레임워크를 통해 Safari에서 지원됨 | 구형 QuickTime 플러그인 |
| 컨테이너 아키텍처 | 확장 가능한 바이너리 메타 언어 (EBML) | ISO 베이스 미디어 파일 형식 (아톰/박스) | EBML (마트로스카 하위 집합) | RIFF 청크 아키텍처 |
일반적인 손상 모드 및 헥스 복구 가이드
파일이 재생되지만 타임라인 탐색이 고장 났거나 재생 시간이 잘못 계산됨.
근본 원인: 불완전한 다운로드로 인해 'Cues' 요소(마트로스카 탐색 테이블)가 손상되었거나 누락됨.
복구: 'mkvmerge -o fixed.mkv broken.mkv'를 사용하여 즉시 탐색 인덱스 테이블 재구축.
보안 분석 및 파서 공격 벡터
EBML 파싱은 가변 길이 정수 디코딩과 중첩된 요소 트리를 요구합니다. 잘못된 형식의 요소 길이는 메모리 관리 결함을 유발할 수 있습니다.
알려진 공격 벡터
- 미디어 플레이어의 EBML 요소 크기 파싱에서의 힙 버퍼 오버플로
- 자막 렌더러에서 잘못된 형식의 임베디드 글꼴 첨부 파일 처리를 통한 임의 코드 실행
- 마트로스카 챕터 요소의 순환 참조 루프를 통한 서비스 거부(DoS)
방어적 모범 사례:
역사적 배경 및 주요 이력
주요 장점
- 존재하는 가장 다재다능한 컨테이너: 거의 모든 비디오, 오디오 및 자막 코덱 지원
- 고급 스타일 자막(ASS/SSA), 다국어 오디오 트랙 및 챕터 메뉴에 대한 완전한 지원
- 손상에 대한 높은 복원력: 손상된 클러스터가 주변 비디오의 재생을 막지 않음
기술적 제한 사항 및 단점
- 기본 Apple QuickTime 플레이어 및 iOS 기기에서의 기본 바로 재생 기능 부족
- 모든 상업용 텔레비전 스마트 허브 및 하드웨어 플레이어에서 기본적으로 지원되지 않음
- 트랜스코딩 없이는 HTML5 <video>를 통해 표준 웹 브라우저에 직접 삽입할 수 없음
흥미로운 기술적 상식
- '마트로스카(Matroska)'라는 이름은 중첩된 나무 인형을 가리키는 러시아어 '마트료시카(Matryoshka)'에서 유래되었습니다.
- 매직 바이트 '1A 45 DF A3'은 MKV와 WebM 모두에서 사용되는 범용 EBML 헤더 ID를 나타냅니다.
- MKV 파일은 애니메이션 자막을 렌더링하기 위해 전체 TrueType 및 OpenType 글꼴 파일을 컨테이너 내부에 직접 임베드할 수 있습니다.
자주 묻는 기술 질문
TV나 휴대폰에서 MKV 파일이 재생되지 않는 이유는 무엇인가요?
MKV는 PC에서 인기가 많지만, 일부 TV나 iOS 기기에서는 해당 컨테이너 또는 내부에 포함된 특정 고성능 오디오 코덱(DTS 등)에 대한 라이선스가 없습니다. MKV를 MP4로 변환하면 호환성 문제가 즉시 해결됩니다.
화질 저하 없이 MKV를 MP4로 변환할 수 있나요?
네! MKV 내부의 비디오가 H.264 또는 HEVC인 경우, File2File은 재인코딩 없이 단 몇 초 만에 비디오 스트림을 MP4 컨테이너로 다시 패키징하여 원본 화질을 100% 보존합니다.
MKV와 WebM의 관계는 무엇인가요?
WebM은 마트로스카(Matroska)의 공식 하위 집합입니다. WebM은 MKV와 동일한 EBML 컨테이너 구조를 사용하지만, 코덱을 오픈 웹 표준(VP8/VP9/AV1 및 Vorbis/Opus)으로 엄격하게 제한합니다.