MKV
모든 것을 담을 수 있는 컨테이너지만, Apple은 자기 시스템에 이걸 읽는 법을 끝내 가르치지 않았다.
MKV는 컨테이너입니다 — 영상 트랙 하나, 여러 언어의 오디오, 여러 개의 자막 트랙을 한 파일에 담습니다. iOS도 macOS도 기본적으로 열지 못합니다 — QuickTime도, 파일 앱 미리보기도 둘 다 거부합니다. 파일 안에 특이한 게 있어서가 아닙니다. Apple이 그냥 한 번도 Matroska 디먹서를 내놓은 적이 없을 뿐입니다.
2026년 7월 30일
별도 앱 없이 열리는지
거부하는 이유는 내용물이 아니라 포장 방식 때문입니다. 완전히 같은 H.264 영상과 AAC 오디오라도 MP4에 담기는 순간 아무 문제 없이 재생됩니다 — 그래서 MKV를 변환한다는 게 대개는 재인코딩이 아니라 그냥 복사에 가까운 것입니다.
핵심 정보
| 정식 명칭 | Matroska Video |
|---|---|
| 종류 | 컨테이너(코덱이 아니라 포장지) |
| 확장자 | .mkv, .mka(오디오 전용), .mks(자막 전용), .mk3d |
| 공개 | 2002년, 공개 사양이며 라이선스 비용 없음 |
| 담을 수 있는 영상 | H.264, HEVC(H.265), AV1, VP9, MPEG-4 Part 2, MPEG-2 |
| 담을 수 있는 오디오 | AAC, AC-3, E-AC-3, DTS, TrueHD, FLAC, Opus, Vorbis, MP3 |
| 담을 수 있는 자막 | SRT, ASS/SSA, WebVTT, PGS와 VobSub(둘 다 이미지) |
| 파일당 트랙 수 | 실질적인 제한 없음 — 만들 때 넣은 만큼의 언어로 오디오와 자막을 담을 수 있음 |
| 챕터·태그·첨부파일 | 지원함, 스타일 자막용 글꼴 파일까지 포함 |
상자일 뿐, 언어가 아니다
MKV에 대해 알아둘 가장 유용한 사실은, 화면을 어떻게 압축하는지는 이 형식이 전혀 관여하지 않는다는 점입니다. 그건 코덱의 몫입니다 — H.264, HEVC, AV1 같은 것들이죠. 같은 코덱이 MP4에 들어가든 MKV에 들어가든 WebM에 들어가든, 영상 데이터는 단 1비트도 바뀌지 않습니다. 컨테이너는 그 조각들에 이름을 붙이고 순서를 매기고 찾을 수 있게 해주는 역할만 하고, 그 조각이 무엇인지는 코덱이 결정합니다.
Matroska가 유독 잘하는 것은 한 파일에 정말 많은 조각을 담아내는 일입니다. 파일 하나에 영화 본편, 원어 오디오 트랙, 더빙 트랙, 코멘터리, 자막 여덟 개 언어, 챕터 마커, 커버 아트, 그리고 그 자막을 만든 사람이 의도한 그대로 그려내는 데 필요한 글꼴 파일까지 전부 들어갈 수 있습니다. 이게 바로 보관용 자료의 기본 형식이 된 이유입니다 — Blu-ray를 하나의 MKV로 옮기면서도 그걸 Blu-ray답게 만드는 요소들을 하나도 버리지 않을 수 있으니까요.
쓰는 데 비용이 전혀 들지 않고, 특허 풀도 없으며, 20년 넘게 안정적으로 공개된 사양으로 남아 있습니다. 그런데도 그 무엇도 Apple을 설득하지 못했습니다.
iPhone이 왜 이걸 열지 못하는가
Apple의 미디어 엔진은 Apple이 지원을 제공하는 컨테이너만 읽습니다 — MP4, MOV, M4V, 3GP, 그리고 몇 가지 오디오 포장 방식 정도입니다. Matroska는 여기 낀 적이 한 번도 없습니다. 바꿀 설정도, 설치할 코덱도 없습니다. 애초에 빠진 게 코덱이 아니라, 시스템 자체가 Matroska 파일의 구조를 이해하는 코드를 아예 갖고 있지 않기 때문입니다.
그래서 디코딩이 시작되기도 전에 실패가 일어납니다. 파일 앱은 파일을 보여주긴 하지만 미리보기는 거부하고, Mac의 QuickTime Player는 이건 동영상 파일이 아니라고 말합니다. 그 안의 영상이 바로 그 기기가 하루 종일 하드웨어로 디코딩하고 있는 평범한 H.264일 수도 있는데, 애초에 거기까지 도달하지도 못하는 것입니다.
이게 바로 MKV 변환이 그렇게나 빠른 경우가 많은 이유이기도 합니다. 안에 든 스트림이 이미 MP4가 받아들이는 형식이라면 아무것도 재인코딩할 필요가 없습니다 — 그냥 조각을 꺼내서 새 컨테이너에 다시 이름표를 붙이면 됩니다. 이 작업을 재다중화라고 부르며, 디스크 속도로 끝납니다. 30분씩 걸리는 변환이라면, 굳이 필요 없던 영상까지 재인코딩하고 있었다는 뜻입니다.
빠져나가는 세 가지 방법과 각각의 대가
- MP4로 변환하기
되긴 됩니다. 스트림이 호환되면 재다중화라 빠르고 무손실입니다. 하지만 이건 그 파일을 보관할 만하게 만들었던 것들을 납작하게 눌러버립니다 — MP4는 여러 오디오 트랙을 어설프게 처리하고 스타일이 적용된 ASS 자막은 아예 다루지 못하니, 더빙과 자막 조판이 보통 가장 먼저 희생됩니다. 게다가 이제 큰 파일의 사본을 두 개 갖게 됩니다.
- Matroska를 직접 읽는 플레이어 쓰기
아무것도 변환되지 않고 아무것도 중복되지 않습니다 — 플레이어가 직접 파일을 역다중화하고 스트림을 스스로 디코딩하므로, 재생 중에도 모든 오디오 언어와 자막 트랙을 그대로 골라 쓸 수 있습니다. VLC, Infuse, FoxDL이 모두 이 방식으로 처리합니다. iOS에서는 파일을 있는 그대로 유지하는 유일한 방법입니다.
- 더 작게 재인코딩하기
목표가 호환성이 아니라 용량일 때만 가치가 있습니다 — 이를테면 4K HEVC 재다중화 파일을 1080p로 줄이는 경우처럼요. 느리고 화질도 손실되니, "왜 내 휴대폰에서 안 열리지"에 대한 답으로는 절대 쓰지 마세요.
MKV에서 특히 자주 벌어지는 문제들
거의 언제나 DTS나 TrueHD 오디오가 AAC만 디코딩하는 플레이어를 만난 경우입니다. 영상 트랙은 멀쩡합니다. 오디오 디코더를 폭넓게 갖춘 플레이어를 쓰거나, 파일에 두 번째 오디오 트랙이 있다면 그걸로 전환하면 해결됩니다.
ASS/SSA 자막은 위치, 색상, 그리고 종종 자체 글꼴까지 첨부 파일로 함께 갖고 다닙니다. 이걸 그냥 평범한 텍스트로 렌더링하는 플레이어는 스타일 정보를 다 버립니다 — 읽을 수는 있지만 그 파일이 원래 표현하려던 모습은 아닙니다.
PGS와 VobSub 트랙은 Blu-ray와 DVD에서 가져온 자막 이미지입니다. 화면에 보여줄 수는 있지만, 절대 스타일을 바꾸거나 크기를 조정하거나 검색할 수 없고, OCR을 거치지 않고는 SRT로 바뀌지도 않습니다.
컨테이너 문제가 아닙니다. 고비트레이트 4K, 10비트 HEVC, AV1은 어떤 포장지에 담겨 오든 오래된 칩의 디코더로는 감당이 안 될 수 있습니다.
이 형식에 관한 질문
이 정보의 출처
- The Matroska specification Matroska.org