JSON3 vs SRT: YouTube 자막과 SubRip 형식
JSON3 vs SRT: 구조, 타이밍 정밀도, 플랫폼 지원, 사용 사례를 비교합니다. YouTube JSON3를 SRT로 바꾸는 무료 변환기도 소개합니다.
JSON3와 SRT는 역할이 완전히 다릅니다. JSON3는 YouTube 생태계 안에서 자막을 저장하고 전달하는 내부 형식이고, SRT는 거의 모든 미디어 플레이어와 기기가 이해하는 범용 자막 표준입니다. 차이를 알면 YouTube 자막을 밖에서 쓸 때 올바른 형식을 고를 수 있습니다.
한눈에 보는 JSON3 vs SRT
| 항목 | JSON3(YouTube) | SRT(SubRip) |
|---|---|---|
| 확장자 | .json3 또는 .json | .srt |
| 형식 유형 | 구조화된 JSON 객체 | 일반 텍스트 블록 |
| 타임스탬프 | 정수 밀리초(tStartMs) | 쉼표를 쓰는 HH:MM:SS,mmm |
| 정밀도 | 밀리초 + 단어 오프셋 | 밀리초 |
| 단어 타이밍 | tOffsetMs로 지원 | 미지원 |
| 스타일 | JSON 메타데이터와 힌트 | 최소한의 비표준 태그 |
| 플랫폼 지원 | YouTube 전용 | 거의 전 플레이어와 기기 |
| 사람 가독성 | JSON 파싱 필요 | 일반 텍스트로 읽기 쉬움 |
| 파일 크기 | JSON 오버헤드로 큼 | 상대적으로 작음 |
핵심 차이
타임스탬프와 정밀도
JSON3는 밀리초 정수와 단어 단위 오프셋까지 남겨 자막 형식 중 매우 정밀한 편입니다. SRT도 밀리초까지 지원하지만 cue 단위뿐입니다. JSON3를 SRT로 바꾸면 단어 타이밍이 cue 시작과 종료 시간으로 합쳐집니다.
구조와 문법
JSON3는 events 배열의 객체로 구성되고, SRT는 번호가 붙은 텍스트 블록과 타임스탬프 줄로 구성됩니다. 변환 과정은 JSON 계층을 파싱해 순차적인 SRT 블록으로 다시 쓰는 작업입니다.
플랫폼과 플레이어 지원
JSON3는 YouTube 외부의 표준 플레이어나 편집 프로그램이 인식하지 않습니다. SRT는 미디어 플레이어, 스마트 TV, 스트리밍 기기, 편집 도구 대부분에서 동작합니다. YouTube에서 자막을 가져온 뒤 SRT로 바꾸는 가장 큰 이유입니다.
JSON3를 쓰야 할 때
yt-dlp나 timedtext API로 YouTube 자막을 받고, 최종 변환 전 최대한 원본 타이밍을 남겨 두어야 할 때 중간 형식으로 적합합니다.
SRT를 쓰야 할 때
오프라인 재생, 영상 편집, 자막 교환, 대상 기기가 정해지지 않은 상황이라면 SRT가 가장 안전합니다. JSON3를 받았다면 SRT로 변환하면 대부분 환경에서 바로 쓸 수 있습니다.
JSON3를 SRT로 변환하기
무료 변환기는 JSON3 이벤트를 파싱하고, 단어 타이밍을 cue 시작과 끝으로 정리하며, 순차 번호와 올바른 타임스탬프를 가진 SRT를 만듭니다. Unicode, CJK, emoji도 그대로 유지됩니다.
자주 묻는 질문
JSON3 파일을 플레이어에서 바로 쓸 수 있나요?
아니요. JSON3는 YouTube 내부 형식이라 표준 플레이어가 인식하지 못합니다. SRT, VTT 등 표준 형식으로 변환해야 합니다.
JSON3를 SRT로 바꾸면 정밀도가 줄어드나요?
cue 타이밍은 밀리초까지 유지됩니다. 다만 SRT는 단어 단위 타이밍을 표현할 수 없어 단어 오프셋은 cue 시간으로 합쳐집니다.
YouTube 자막을 JSON3로 어떻게 받나요?
yt-dlp에서 --write-auto-sub --sub-format json3 옵션을 쓰거나 timedtext API에 fmt=json3를 지정하면 됩니다.
SRT가 JSON3보다 좋은가요?
용도가 다릅니다. JSON3는 YouTube 원본 데이터 보존에 강하고, SRT는 범용 호환성에 강합니다.