iPhone이 한 동영상은 열고 다음 파일은 거부하는 이유
두 파일 모두 "동영상"이고, 둘 다 몇 기가바이트쯤 되고, 둘 다 같은 곳에서 내려받았습니다. 하나는 탭하자마자 재생됩니다. 다른 하나는 회색 화면만 뜨거나 아무 반응이 없습니다. 그 차이는 거의 언제나 파일이 손상돼서가 아닙니다 — 화면 데이터를 무엇으로 감싸고 있는지, 그리고 그 포장 방식 중 어느 것을 Apple이 지원하기로 정했는지의 문제입니다.
- 바로 재생됨
- H.264나 HEVC 동영상에 AAC 오디오를 담은 MP4와 MOV.
- 보통 거부됨
- MKV, AVI, WebM, FLV, WMV — 안에 무엇이 들었든 상관없이.
- 이유
- iOS는 동영상을 보기 전에 컨테이너부터 확인하는데, 지원하는 컨테이너 목록이 짧기 때문입니다.
동영상 파일은 여러 가지가 들어 있는 상자다
"형식"이라는 말이 완전히 다른 두 가지를 가리키는 데 쓰이는 것이 혼란의 대부분을 만듭니다. 동영상 파일은 컨테이너입니다 — 영상 트랙, 하나 이상의 오디오 트랙, 경우에 따라 자막 트랙과 챕터 마커, 앨범 아트, 그리고 이 모든 게 각각 어디서 시작하는지 플레이어에게 알려주는 표까지 담고 있는 상자입니다. MP4, MKV, AVI, MOV, WebM은 모두 컨테이너입니다. 이건 상자일 뿐 내용물이 아닙니다.
그 상자 안의 내용물은 코덱으로 인코딩되어 있습니다 — 40기가바이트짜리 원본 프레임을 2기가바이트로 압축하는 방식입니다. H.264, HEVC(H.265), AV1, VP9, MPEG-4 Part 2는 영상 코덱이고, AAC, MP3, AC-3, E-AC-3, DTS, FLAC, Opus, Vorbis는 오디오 코덱입니다. MKV 파일 하나에 HEVC 영상, 영어 AC-3 오디오 트랙 하나, 터키어 AAC 트랙 하나, 자막 트랙 세 개가 함께 들어 있을 수도 있습니다.
그러니 "이 기기가 MKV를 재생할 수 있나?"는 사실 두 가지 질문이 겹쳐 있는 것입니다. 상자를 열 수 있는가, 그리고 그 안의 내용을 해독할 수 있는가. 플레이어는 이 둘 모두에 "그렇다"고 답해야 합니다. Apple의 기본 재생 기능은 대부분의 상자에 대해 첫 번째 질문부터 "아니오"라고 답하기 때문에, 애초에 두 번째 질문에서 실패할 기회조차 오지 않는 것입니다.
알아두면 쓸모 있는 용어
이 다섯 개 용어만 알아도 동영상 파일에 관한 대화 대부분을 이해할 수 있습니다. 이걸 익히는 10분이면 "왜 안 되지"라는 막연한 답답함이 구체적으로 물어볼 수 있는 질문으로 바뀝니다.
- 컨테이너
- 파일의 포장지 — MP4, MKV, AVI, MOV, WebM, TS 같은 것들입니다. 그 파일이 무엇을 담을 수 있는지(오디오 트랙이 몇 개까지 되는지, 자막이 들어갈 수 있는지, 챕터가 존재하는지)를 결정할 뿐, 화질이 얼마나 좋은지와는 상관없습니다.
- 코덱
- 실제 화면이나 소리를 압축하는 방식입니다 — H.264, HEVC, AV1, VP9, AAC, AC-3, DTS, FLAC 등이 있습니다. 이 중 몇몇은 하드웨어 디코딩이 가능하고, 나머지는 프로세서가 직접 디코딩해야 해서 배터리를 소모합니다.
- 비트레이트
- 파일이 초당 사용하는 비트 수입니다. 화질과 파일 크기 양쪽 모두를 좌우하는 가장 큰 변수입니다 — 8Mbps짜리 4K 영화와 60Mbps짜리 같은 영화는 해상도는 같아도 화질은 전혀 다릅니다.
- 재다중화 (remux)
- 기존 트랙을 건드리지 않고 다른 컨테이너로 옮기는 작업입니다. 빠르고 무손실이며, 라이브 스트림을 일반 파일로 바꿔주는 요령의 전부가 바로 이것입니다. 아무것도 다시 인코딩하지 않으니 손실도 없습니다.
- 트랜스코드
- 실제로 동영상을 다른 코덱으로 다시 인코딩하는 작업입니다. 느리고, 기기가 뜨거워지고, 배터리를 많이 먹고, 할 때마다 화질이 손실됩니다 — 변환된 사본은 언제나 원본보다 한 세대 뒤처집니다.
Apple 자체 재생 기능이 지원하는 것
iOS 17과 macOS 14 기준의 실제 목록입니다 — 파일 앱, Quick Look, Safari, QuickTime이 모두 똑같이 따르는 규칙인데, 이들 모두 같은 미디어 엔진을 공유하기 때문입니다.
| 컨테이너 | iPhone / iPad | Mac (QuickTime) | 흔한 내용물 |
|---|---|---|---|
| MP4 / M4V | 지원 | 지원 | H.264나 HEVC 영상, AAC 오디오 |
| MOV | 지원 | 지원 | Apple 자체 컨테이너, 코덱은 동일 |
| MKV (Matroska) | 미지원 | 미지원 | 무엇이든 담을 수 있는, 가장 유연한 컨테이너 |
| AVI | 미지원 | 미지원 | 오래된 DivX/Xvid 영상, MP3나 AC-3 오디오 |
| WebM | 미지원 | 미지원 | VP9나 AV1 영상, Opus나 Vorbis 오디오 |
| FLV / WMV | 미지원 | 미지원 | 옛날 웹 동영상과 Windows 동영상 |
| TS / M2TS | 부분 지원 | 부분 지원 | 방송용 스트림과 Blu-ray 스트림 |
| HLS (.m3u8) | 지원 | 지원 | 파일이 아니라 세그먼트들을 가리키는 재생목록 |
지원되는 컨테이너 안에서도 코덱 때문에 거부될 수 있습니다 — AC-3, E-AC-3, DTS 오디오는 영화에 흔히 쓰이지만 시스템 플레이어가 디코딩하지 못하는데, 일부 MP4 파일에서 화면은 나오는데 소리가 안 나오는 이유가 바로 이것입니다.
지원 목록이 왜 이렇게 짧은가
실수로 빠뜨린 게 아닙니다. Apple은 자신이 지원하는 코덱을 위한 하드웨어 디코더를 탑재해서, iPhone이 한 번 충전으로 몇 시간씩 4K HEVC 영화를 재생할 수 있게 합니다 — 영상 처리가 메인 프로세서를 거치지 않기 때문입니다. 세상의 모든 컨테이너와 코덱을 지원하려면 그중 상당수를 소프트웨어로 디코딩해야 하고, 그만큼 배터리와 발열 부담이 늘어나며, Apple이 관심 없는 형식들의 특허 라이선스까지 떠안아야 합니다.
그래서 iOS의 범용 미디어 플레이어는 자체 엔진을 직접 들고 와야 합니다. 사실상 거의 모든 앱이 같은 오픈소스 기반, 즉 지금까지 나온 거의 모든 컨테이너와 코덱을 이해하는 FFmpeg과 그 라이브러리 위에 만들어져 있습니다. 서드파티 플레이어가 시스템이 열지 못하는 파일을 여는 이유가 바로 이것입니다 — 뭔가 특별한 재주를 부리는 게 아니라, 디코딩을 직접 수행하고 있는 것입니다.
이 점이 플레이어 사이에서 느껴지는 또 다른 차이도 설명해 줍니다. 소프트웨어로 디코딩하는 플레이어는 뭐든 재생하지만 긴 영화를 볼 땐 기기가 뜨거워집니다. 코덱이 허락하는 한 하드웨어 디코더에 작업을 넘기는 플레이어는 시원하고 배터리도 오래갑니다. 좋은 플레이어는 이 둘을 다 합니다 — 가능하면 하드웨어를, 필요하면 소프트웨어를 쓰고, 사용자에게 묻지 않고 알아서 전환합니다.
iOS가 거부하는 파일을 보는 세 가지 방법
시간과 화질 면에서 치러야 할 대가가 적은 순서대로 정리했습니다.
좋은 플레이어와 그렇지 않은 플레이어를 가르는 진짜 기준
App Store의 거의 모든 미디어 플레이어가 "모든 형식 지원"을 내세웁니다. 그 문구를 지나서 실제로 차이가 나는 지점은 다음과 같습니다.
- 가능한 곳에서는 하드웨어 디코딩
H.264와 HEVC는 CPU가 아니라 하드웨어 디코더로 처리되어야 합니다. 2분이면 알 수 있습니다 — 기기가 뜨거워지는지 아닌지로요.
- 첫 번째 트랙만이 아니라 모든 트랙 노출
오디오가 세 언어, 자막이 다섯 개인 영화라면 파일을 다시 열지 않고도 재생 중에 이 전부를 자유롭게 전환할 수 있어야 합니다.
- 진짜로 이어서 재생되는 이어보기
파일마다 재생 위치를 저장해 다시 열 때 복원하고, 이름을 바꾸거나 옮겨도 유지되어야 합니다. 의외로 드문 기능이지만 없으면 가장 아쉬워지는 기능이기도 합니다.
- 대용량 파일에서도 멀쩡한 동작
20GB짜리 재다중화 파일이라도 탐색할 때마다 4초씩 멈추지 않고 부드럽게 움직여야 합니다. 이건 디코딩의 문제가 아니라 인덱싱의 문제입니다.
- 백그라운드 오디오와 화면 속 화면
화면을 잠그고도 계속 듣거나, 메시지에 답장하는 동안 영상을 구석으로 줄여둘 수 있어야 휴대폰에서 쓸 만한 플레이어가 됩니다.
- 숨어 있는 재인코딩 단계가 없어야 함
앱이 재생 전에 몇 분씩 파일을 "가져오기"하거나 "최적화"한다면, 그건 사실 변환을 하고 있는 것입니다 — 그만큼의 화질 손실과 기다림이 따라옵니다.
세 기기에서 같은 파일
iOS, iPadOS, macOS는 같은 미디어 엔진을 공유하므로 규칙은 동일합니다. 다른 건 재생 주변에서 편하게 할 수 있는 일들입니다.
결국 이런 질문으로 이어집니다
MKV가 MP4보다 화질이 더 좋나요?
어느 쪽이 더 낫다고 할 수 없습니다 — 둘 다 상자일 뿐이고, 화질은 그 안의 코덱과 비트레이트에 달려 있습니다. MKV 파일이 실제로 더 좋아 보이는 경우가 많은데, 이는 사람들이 고비트레이트 리핑에 MKV를 쓰는 반면 MP4는 스트리밍 서비스가 훨씬 낮은 비트레이트로 전달하는 형식이기 때문입니다. 같은 영상 트랙을 둘 다에 넣으면 픽셀 단위로 완전히 동일합니다.
MKV를 MP4로 변환하면 화질이 떨어지나요?
트랙을 다시 인코딩할 때만 그렇습니다. 안에 든 영상·오디오 코덱이 이미 MP4가 담을 수 있는 것이라면, 재다중화는 그냥 손대지 않고 그대로 옮기는 것뿐이라 무손실이고 대개 1분도 안 걸립니다. HEVC를 H.264로, DTS를 AAC로 바꿔야 한다면 그건 재인코딩이고, 이때는 화질이 손실됩니다.
작은 파일은 잘 재생되는데 왜 4K 파일은 끊기나요?
하드웨어 디코더를 쓸 수 있는데도 소프트웨어로 디코딩하고 있거나, 파일이 느린 저장 장치에 있는 경우입니다 — 네트워크 공유나 연결이 약한 외장 드라이브는 80Mbps를 항상 안정적으로 공급하지 못합니다. 시험 삼아 한 번 로컬로 복사해 보세요. 그때 잘 재생된다면 디코딩은 애초에 문제가 아니었던 것입니다.
라이브러리를 보관하기에 가장 안전한 형식은 무엇인가요?
원본이 가진 모든 것 — 여러 오디오 언어, 자막 트랙, 챕터 — 을 그대로 지키고 싶다면 MKV입니다. 집 안의 모든 기기와의 호환성이 여분의 트랙을 유지하는 것보다 중요하다면 H.264나 HEVC를 담은 MP4가 낫습니다. 새로 저장할 때 피해야 할 형식은 AVI인데, 최신 코덱을 제대로 담아내지 못하기 때문입니다.
FoxDL이 이 문제를 다루는 방식
FoxDL은 자체 미디어 엔진을 갖고 있어서 컨테이너 문제 자체가 아예 발생하지 않습니다. 파일을 기기에 넣고 그냥 열면 됩니다. 같은 엔진이 음악도 재생하므로, 영화와 FLAC 앨범이 하나의 라이브러리 안에 함께 존재합니다.
- MKV, AVI, WebM, FLV, WMV, MP4, MOV, TS, HLS가 바로 열립니다 — 변환도, 가져오기도, 다시 포장하는 과정도 없습니다.
- 코덱이 허락하는 곳이라면 어디든 하드웨어 디코딩을 사용하고, 그렇지 않은 경우를 위한 소프트웨어 경로도 뒤에 마련되어 있어서 평범한 영화 한 편이 배터리를 축내지 않습니다.
- AC-3, E-AC-3, DTS, FLAC, Opus, Vorbis 오디오도 디코딩되어 무음 영화 문제를 해결하며, 같은 디코더가 라이브러리 안의 FLAC·ALAC 앨범도 재생합니다.
- 내장된 모든 오디오·자막 트랙을 재생 중에 목록으로 보여주고 전환할 수 있습니다.
- 재생 위치는 파일별로 기억되고, 이름을 바꾸거나 옮겨도 유지됩니다 — 라이브러리가 경로가 아니라 파일 자체의 정체성으로 추적하기 때문입니다.
- 화면 속 화면과 백그라운드 오디오를 지원하고, iPad에서는 외장 드라이브를 복사 없이 그 자리에서 바로 재생합니다.
내 파일 재생은 모든 기기에서 무료 버전에 포함되어 있습니다 — 사용량 제한도, Pro 전용 기능도 아닙니다.
자주 묻는 질문
- iPhone, iPad, Mac에서 MKV 파일을 재생하려면 어떻게 해야 하나요?
- FoxDL은 어떤 동영상·오디오 형식을 재생할 수 있나요?
- 듀얼 오디오 파일에서 음성 트랙을 전환할 수 있나요?
- FoxDL은 픽처 인 픽처와 백그라운드 재생을 지원하나요?