SRT / ASS / VTT
셋은 편집 가능한 텍스트다. 하나는 텍스트를 찍은 사진이고, 그 차이가 모든 걸 바꾼다.
SRT는 시간 정보와 평범한 텍스트입니다. ASS는 여기에 위치, 글꼴, 색상을 더합니다. VTT는 웹판 SRT입니다. PGS와 VobSub은 이들과 전혀 다릅니다 — Blu-ray와 DVD에서 가져온 이미지라서, 스타일을 바꾸거나 크기를 조정하거나 검색하는 게 절대 불가능합니다. iOS는 동영상 옆에 놓인 .srt 파일을 아예 인식하지 않습니다.
2026년 7월 30일
별도 앱 없이 열리는지
Apple의 플레이어는 지원되는 파일 *안에* 들어 있는 자막 트랙과, HLS 스트림 안의 WebVTT는 표시합니다. 하지 못하는 건 같은 폴더 안에서 동영상 옆에 놓인 .srt를 알아채는 일입니다 — 데스크톱 플레이어라면 20년 동안 지켜온 관례지만, iOS는 이걸 구현한 적이 한 번도 없습니다.
핵심 정보
| SRT | SubRip. 번호, 시간 범위, 그 줄의 텍스트. 스타일 없음, 어디서나 지원됨 |
|---|---|
| ASS / SSA | Advanced SubStation Alpha. 위치, 글꼴, 색상, 외곽선, 가라오케 타이밍, 애니메이션 |
| VTT | WebVTT. SRT와 같은 구조에 CSS 비슷한 큐(cue)를 더한 형태로, HLS가 쓰는 웹 표준 |
| SUB / IDX | VobSub. DVD에서 나온 비트맵 자막, 파일 두 개가 한 쌍 |
| PGS | Presentation Graphic Stream. Blu-ray에서 나온 비트맵 자막, 보통 MKV 안에 들어 있음 |
| 텍스트로 편집 가능 여부 | SRT, ASS, VTT — 가능함. VobSub과 PGS — 불가능, 이미지이기 때문 |
| 파일 안에 담을 수 있는지 | MKV는 전부 담을 수 있음; MP4는 극히 일부만; AVI는 전혀 못 담음 |
| 문자 인코딩 | 억양 부호가 깨지는 가장 흔한 원인, 특히 오래된 튀르키예어와 키릴 문자 파일에서 |
텍스트, 스타일이 입혀진 텍스트, 그리고 사진
SRT는 가장 단순한 형식이고, 그 단순함이 바로 널리 쓰이게 된 이유입니다 — 번호, 시작·종료 시간, 그리고 텍스트. 어떤 도구로든 만들 수 있고 어떤 플레이어로든 읽을 수 있으며, 오타 하나는 텍스트 편집기로 바로 고칠 수 있습니다. 다만 화면 어디에 놓여야 하는지, 무슨 색이어야 하는지는 표현할 수 없습니다.
ASS는 바로 그게 중요해지는 경우를 위해 만들어졌습니다 — 벽에 붙은 간판을 그 자리에서 번역하거나, 두 사람이 동시에 말하거나, 가라오케처럼 음절 하나하나가 켜지는 경우 같은 것들이죠. 글꼴, 색상, 외곽선, 위치, 타이밍 효과까지 담을 수 있고, MKV라면 의도한 대로 렌더링하는 데 필요한 글꼴 파일까지 함께 담을 수 있습니다. ASS를 그냥 평범한 텍스트로 렌더링하는 플레이어는 대사만 보여줄 뿐, 그 안에 들어간 작업은 하나도 보여주지 못하는 셈입니다.
PGS와 VobSub은 완전히 다른 것입니다. 자막을 찍은 사진입니다 — Blu-ray와 DVD에서는 자막이 애초에 이미지로 그려졌기 때문입니다. 화면에 보여줄 수는 있지만 딱 거기까지입니다. 글꼴도 바꿀 수 없고, 크기도 조정할 수 없고, 검색도 번역도 안 됩니다. 이걸 텍스트로 바꾸려면 광학 문자 인식과 한나절의 시간이 필요합니다.
iOS가 동영상 옆의 파일을 무시하는 이유
데스크톱에서는 같은 폴더 안의 film.mkv와 film.srt만으로 플레이어가 알아서 처리해 줍니다 — 그만큼 오래되고 보편적인 관례입니다. iOS에는 그런 관례가 없고, 더 정확히는 그런 "폴더" 자체가 없습니다. 앱은 각자 자신만의 저장 공간을 가진 샌드박스 안에 있고, "옆에 있다"는 관계를 시스템이 아예 드러내 주지 않습니다.
그래서 iPhone에서는 자막 파일을 플레이어에 명시적으로 건네줘야 하고, 그 짝을 계속 기억하는 것도 플레이어의 몫입니다. 한 번 그렇게 해두면 그 선택은 파일에 그대로 붙어 있을 수 있습니다 — 튀르키예어 자막을 켜둔 채로 나갔던 영화라면 다음에도 그 자막과 함께 열립니다.
문제의 나머지 절반은 인코딩입니다. 자막 파일은 결국 바이트 나열이고, UTF-8로 작성된 게 아니라면 그 바이트가 어떤 문자 체계를 뜻하는지는 파일 어디에도 적혀 있지 않습니다. 특히 튀르키예어와 키릴 문자로 된 오래된 파일들은 지역별 인코딩으로 작성되어 있어서, UTF-8이라고 무조건 가정하는 플레이어는 ş나 ğ 같은 글자를 깨진 문자로 보여줍니다. 인코딩을 그냥 가정하지 않고 직접 감지하는지가, 이런 파일을 제대로 보여주는 플레이어와 그렇지 못한 플레이어를 가르는 차이입니다.
동영상에 자막을 붙이는 법
- 파일 안에 이미 들어 있는 트랙 쓰기
MKV는 대개 자막을 함께 담고 있습니다. 추가할 것도, 짝지을 것도 없습니다 — 파일 안의 모든 트랙이 언어별로 목록에 나와야 하고, 끄기 옵션도 있어야 하며, 요청하기 전까지는 아무것도 자동으로 켜지면 안 됩니다.
- SRT를 추가하고 플레이어가 짝을 기억하게 하기
자체 자막이 없는 파일이라면 .srt를 플레이어에 건네주고 그 연결을 플레이어가 계속 기억하게 하세요. FoxDL이 하는 방식이 바로 이것이며, 그 선택은 매번 다시 해야 하는 게 아니라 파일마다 계속 유지됩니다.
- ASS를 SRT로 바꾸는 건 정말 필요할 때만
변환은 되지만, 그 파일이 지정해 둔 위치·색상·글꼴을 전부 버리게 됩니다. 대사만 있는 자막이라면 손실이랄 게 거의 없지만, 조판이 들어간 자막이라면 그게 바로 그 자막의 핵심입니다.