SSubToolDesk
ko

SRT vs VTT: 차이점은 무엇이고 어떤 것을 써야 할까?

SRT와 VTT는 가장 흔하게 쓰이는 두 가지 자막 포맷이지만, 서로 바꿔 쓸 수 있는 건 아닙니다. 실제로 어떤 점이 다른지, 그리고 어떤 걸 선택해야 하는지 알아봅니다.

영상 자막 파일을 다운로드했는데 막상 열어보니 쓸 수 없는 파일이었던 경험이 있다면, SRT와 VTT가 서로 맞지 않아 생긴 문제일 가능성이 큽니다. 두 포맷 모두 기본적으로 같은 것(시간 정보가 붙은 텍스트, 즉 cue)을 저장하지만, 서로 다른 시기의 웹 환경에서 만들어졌고 사용하는 곳에 따라 동작 방식도 다릅니다.

SRT란 무엇인가

SRT(SubRip Text)는 더 오래되고 더 단순한 포맷입니다. 브라우저가 아니라 데스크톱 비디오 플레이어를 위해 만들어졌습니다. cue는 이렇게 생겼습니다.

1
00:00:01,000 --> 00:00:04,000
안녕하세요, 프로그램에 오신 것을 환영합니다.

순서를 나타내는 번호, 쉼표로 구분된 시작과 끝 시간, 그리고 텍스트가 전부입니다. 헤더도 없고, 스타일도 없고, 메타데이터도 없습니다. 바로 이 단순함 때문에 SRT는 지금도 거의 모든 미디어 플레이어, 편집 도구, 스트리밍 플랫폼에서 읽을 수 있습니다.

VTT란 무엇인가

VTT(WebVTT)는 HTML5의 <track> 요소를 위해 특별히 설계된 포맷으로, 브라우저가 웹 비디오 자막에 기본적으로 기대하는 포맷입니다. VTT 파일은 WEBVTT 헤더 줄이 반드시 필요하고, 타임스탬프에 쉼표 대신 마침표를 사용합니다.

WEBVTT

1
00:00:01.000 --> 00:00:04.000
안녕하세요, 프로그램에 오신 것을 환영합니다.

이 헤더와 타임스탬프 표기법 외에도, VTT는 SRT에는 없던 기능들을 지원합니다. cue 위치 지정, 기본적인 스타일(굵게, 기울임, 클래스를 통한 색상), 그리고 화자를 구분하는 음성 태그(voice tag)까지 가능합니다. 웹 페이지에 자막을 직접 삽입한다면 거의 항상 VTT가 필요합니다.

실제로 문제가 되는 실질적인 차이점들

  • 타임스탬프의 쉼표와 마침표. SRT 파일을 .vtt로 이름만 바꿨을 때(또는 그 반대) “작동하지 않는” 가장 흔한 이유입니다. 타임스탬프 구분자가 다르고, 대부분의 파서는 이를 자동으로 고쳐주지 않습니다.
  • WEBVTT 헤더. 다른 모든 줄이 정확하더라도 이 헤더가 없으면 VTT 파일은 유효하지 않습니다.
  • 플랫폼별 요구사항. YouTube, Vimeo, 그리고 대부분의 비디오 편집 프로그램은 SRT를 지원합니다. 브라우저의 네이티브 <track> 요소와 많은 JavaScript 비디오 플레이어는 VTT를 요구합니다. 스트리밍/HLS 워크플로도 보통 VTT를 필요로 합니다.
  • 스타일 지원. 화면상의 특정 위치에 자막을 배치하거나 특정 화자를 스타일링해야 한다면, SRT로는 불가능합니다. VTT(또는 ASS 같은 더 고급 포맷)가 필요합니다.

어떤 걸 써야 할까?

  • YouTube에 자막 업로드, Premiere/Final Cut 편집, 대부분의 데스크톱 도구 작업 → SRT.
  • <video>/<track> 요소로 웹 페이지에 자막 삽입, HLS/웹 스트리밍 작업 → VTT.
  • 고급 스타일링이나 위치 지정이 필요하다면 → 둘 대신 ASS를 고려하세요.

하나의 포맷을 가지고 있고 다른 포맷이 필요하다면, 손으로 다시 작성할 필요는 없습니다. 변환 작업은 순전히 기계적인 작업(타임스탬프 형식, 헤더, cue 번호)이기 때문입니다. 저희 SRT to VTT 변환기는 이 작업을 브라우저 안에서 전부 처리하며, 업로드도, 계정 생성도 필요 없고, 파일이 기기 밖으로 나가는 일도 없습니다.

SRT를 VTT로 변환