SRT 한 블록은 네 부분으로 생각하면 쉽습니다
17 00:01:12,480 --> 00:01:15,220 이 문장이 화면에 표시됩니다. 18 00:01:15,400 --> 00:01:18,000 다음 문장입니다.
첫 줄은 cue 번호, 둘째 줄은 시작과 종료 시간, 그 아래는 실제 표시할 텍스트입니다. 다음 cue와는 빈 줄로 구분합니다. 번호는 보통 1부터 증가시키며, 편집 프로그램은 저장할 때 다시 정렬하기도 합니다.
타임코드는 시:분:초,밀리초
00:01:12,480은 1분 12초 480밀리초를 뜻합니다. SRT는 일반적으로 소수점이 아니라 쉼표를 사용합니다. 시작 시간은 종료 시간보다 빨라야 하고, 같은 레인에서 cue가 겹치지 않게 관리하면 호환성이 좋아집니다.
| 문제 | 증상 | 확인할 것 |
|---|---|---|
| 시작 ≥ 종료 | 자막이 안 보이거나 즉시 사라짐 | In/Out 순서 |
| cue overlap | 문장이 포개짐 | 이전 Out과 다음 In |
| 잘못된 구분자 | 일부 프로그램이 시간으로 인식하지 못함 | 쉼표와 화살표 형식 |
| 빈 줄 누락 | 두 cue가 한 블록처럼 읽힘 | 블록 사이 공백 |
한글이 깨지면 먼저 UTF-8을 확인합니다
텍스트 편집기에서 저장할 때 오래된 지역 인코딩으로 저장하면 다른 환경에서 한글이 깨질 수 있습니다. 새 SRT를 만들거나 다시 저장할 때는 UTF-8을 기본으로 두는 것이 좋습니다. No Limit Studio의 SRT 내보내기는 UTF-8 텍스트를 기준으로 처리합니다.
HTML 태그와 스타일은 호환성에 주의합니다
일부 플레이어는 <i>, <b> 같은 단순 태그를 해석하지만 모든 플레이어가 같은 방식으로 지원하지는 않습니다. 전달용 SRT라면 텍스트와 타이밍에 집중하고, 폰트·색·모션은 영상 burn-in 또는 별도의 자막 포맷에서 처리하는 편이 예측 가능합니다.
직접 고쳐야 할 때의 체크 순서
- 파일이 UTF-8로 열리는지 확인합니다.
- cue 번호가 순서대로 있는지 봅니다.
- 모든 시간 줄에
-->가 있는지 확인합니다. - 시작 시간이 종료 시간보다 빠른지 검사합니다.
- 이전 cue와 다음 cue가 비정상적으로 겹치는 구간을 찾습니다.
- 저장 후 다른 플레이어에서도 한 번 확인합니다.