SRT를 VTT로 변환

SubRip 자막을 HTML5 동영상과 웹 플레이어가 읽는 WebVTT로 바꾸고, 필요하면 싱크를 옮깁니다.

또는 파일을 여기에 끌어다 놓으세요여러 개 가능여러 개를 한 번에 고를 수 있습니다

파일은 이 기기의 브라우저 안에서만 처리되며 서버로 전송되지 않습니다.

유지되는 것과 달라지는 것

유지

  • 자막 시간(밀리초)
  • <b>·<i>·<u> 서식
  • 여러 줄 자막
  • 한글(EUC-KR도)

달라짐·손실

  • <font> 색 태그
  • {\an8} 위치 코드

SRT → VTT 사용 방법

  1. SRT 자막 파일을 선택합니다. 파일 목록에 자막 개수와 마지막 자막이 끝나는 시각이 나옵니다.
  2. 영상과 싱크가 어긋나 있었다면 싱크 이동에 초 단위 값을 넣습니다.
  3. VTT로 변환해 저장한 뒤 <track> 태그나 동영상 플레이어의 자막 파일로 지정합니다.

설정 안내

싱크 이동(초)
0.001초 단위까지 입력할 수 있고, 모든 자막의 시작과 끝이 같은 만큼 움직입니다. 음수로 당겨서 0초 이전으로 완전히 넘어간 자막은 빼고, 걸쳐 있는 자막은 0초부터 시작하게 합니다.
원본 문자 인코딩
곰플레이어·팟플레이어 시절에 받은 자막은 대부분 EUC-KR이며 자동으로 알아봅니다. 결과 VTT는 WebVTT 규격대로 UTF-8입니다.

품질과 손실

  • 밀리초 단위 시간은 그대로 옮기고 쉼표(,)를 WebVTT의 마침표(.)로 바꿉니다. 여러 줄 자막의 줄바꿈과 <b>, <i>, <u> 태그도 유지합니다.
  • <font color> 태그와 {\an8} 같은 위치 코드는 WebVTT에 대응하는 문법이 없어 빼되 글자는 남기고, 뺀 개수를 파일 목록에서 미리 알려 줍니다.
  • 글자 속의 <, >, & 기호는 &lt; 같은 문자 참조로 바꿔 브라우저가 태그로 오해하지 않게 합니다.

문제 해결

VTT로 바꿨는데 브라우저에서 자막이 안 나와요.

<track> 태그의 src가 동영상과 다른 도메인이면 crossorigin 속성과 CORS 헤더가 필요합니다. 로컬 HTML 파일(file://)로 열면 보안 정책 때문에 자막을 불러오지 않으니, 간단한 웹 서버로 열어 확인하세요.

번호 줄이 빠진 SRT도 되나요?

됩니다. 시간 줄만 제대로 있으면 번호가 없거나, 자막 사이 빈 줄이 빠졌거나, 밀리초가 두 자리인 SRT도 읽습니다. 시간 줄이 망가진 부분은 몇 번째 줄인지 알려 주고 건너뜁니다.