WebVTT

열기저장일반 텍스트웹

웹의 자막 형식입니다. 브라우저가 HTML <track>을 통해 보여주는 형식이기도 합니다. SubRip의 블록에 헤더를 더하고, 밀리초 앞에 마침표를 쓰며, 스타일, 위치, 화자를 담을 자리가 있습니다.

한눈에 보기

확장자.vtt
미디어 타입text/vtt
사양W3C, WebVTT: The Web Video Text Tracks Format, 후보 권고안
시간 정밀도밀리초
텍스트 인코딩항상 UTF-8입니다. 사양이 이를 요구합니다. Subtitld는 다른 인코딩도 읽습니다.
스타일기울임꼴, 굵게, 밑줄 태그. 색상은 클래스와 CSS(::cue)로 지정합니다. 취소선은 없습니다.
위치큐 설정(line, position, align, size, vertical)과 영역
화자음성 태그: <v Thom>
컨테이너Matroska에서는 S_TEXT/WEBVTT; MP4에서는 wvtt(ISO/IEC 14496-30); HLS와 DASH 스트림

큐의 구조

파일은 헤더와 그 뒤의 큐로 이루어집니다. 각 큐는 SubRip과 비슷한 블록이며, 선택 사항인 두 부분이 있습니다.

WEBVTT
 
intro
00:00:23.000 --> 00:00:24.500 line:0
<v Celia>You're a jerk,
<i>Thom</i>.
 
  1. 1 · 헤더

    WEBVTT를 단독으로 쓰거나, 공백과 제목을 붙이고, 그다음 빈 줄을 둡니다. 없으면 브라우저가 파일 전체를 거부합니다.

  2. 2 · 식별자

    선택 사항입니다. 큐의 이름을 한 줄에 씁니다. SubRip처럼 숫자이거나 단어일 수 있습니다.

  3. 3 · 시간

    시작 시간, 화살표 -->, 끝 시간. 밀리초 앞에는 마침표를 씁니다.

  4. 4 · 설정

    선택 사항입니다. 끝 시간 뒤에 써서, 큐를 화면의 어디에 보여줄지 정합니다.

  5. 5 · 텍스트

    스타일과 음성을 위한 태그가 들어간 텍스트 줄입니다. 빈 줄이 큐를 끝내므로, 큐 안에는 빈 줄이 없습니다.

타임코드

시(hour)는 생략할 수 있습니다. 00:27.000도 같은 시간이며, 1시간 미만인 많은 파일이 이렇게 쓰입니다. 밀리초 앞의 쉼표는 WebVTT가 아니라 SubRip의 습관입니다. Subtitld는 그래도 읽습니다.

큐 외의 블록

블록 담는 내용
NOTE 사람을 위한 주석. 플레이어는 건너뜁니다.
STYLE ::cue를 통한 큐의 CSS. 첫 번째 큐 앞에 옵니다.
REGION 큐가 스크롤되어 들어올 수 있는, 이름이 붙은 화면 영역.

큐 텍스트

태그 효과
<i>…</i>, <b>…</b>, <u>…</u> 기울임꼴, 굵게, 밑줄
<c.yellow>…</c> 클래스. CSS(또는 WebVTT의 색상 클래스)로 색을 입힐 수 있습니다
<v Thom>… 음성: 누가 말하는지. 닫는 태그는 선택 사항입니다.
<lang pt>…</lang> 텍스트 일부의 언어
<ruby>漢<rt>kan</rt></ruby> 텍스트 위의 읽기 표기, 일본어와 중국어용
<00:00:28.500> 큐 안의 타임스탬프, 가라오케용
&amp; &lt; &gt; &nbsp; 앰퍼샌드, <, >, 줄바꿈 없는 공백. 그렇지 않으면 마크업으로 읽힙니다

색상

CSS 없이도 색이 정해지는 클래스는 여덟 가지입니다: white, lime, cyan, red, yellow, magenta, blue, black이며, 같은 여덟 가지에 bg_를 붙이면 배경색이 됩니다. 그 밖의 색상에는 직접 만든 클래스와 STYLE 블록이 필요합니다:

STYLE
::cue(.gold) { color: #ffd700; }

00:00:30.800 --> 00:00:34.000
<c.gold>Why don't you just admit that</c>

모든 플레이어가 STYLE 블록을 읽는 것은 아닙니다. WebVTT의 색상 클래스가 더 안전한 선택입니다. Subtitld는 색상이 여덟 가지 중 하나일 때 항상 이 클래스를 씁니다.

큐 설정

설정 역할
line:0 화면의 줄: 숫자는 위에서부터 세고(음수는 아래에서부터), 퍼센트는 위쪽 가장자리에서 잽니다
position:10% 큐 상자가 화면 가로에서 놓이는 위치
align:start 상자 안의 텍스트 정렬: start, center, end, left, right
size:50% 상자의 너비
vertical:rl 세로쓰기, 오른쪽에서 왼쪽 또는 왼쪽에서 오른쪽
region:fred 큐를 REGION 안에 표시

Subtitld는 line, position, align을 화면에서 자막이 놓이는 위치로 읽습니다. 이는 SubRip의 {\an1}부터 {\an9}까지와 같은 아홉 위치이며, 저장할 때도 같은 방식으로 씁니다. 위쪽은 line:0, 가운데는 line:50%,center, 양쪽 옆은 position:10% align:start와 position:90% align:end입니다.

Subtitld의 WebVTT

.vtt에 남는 것
  • 모든 자막의 텍스트와 줄바꿈
  • 기울임꼴, 굵게, 밑줄, 색상
  • 화면에서의 위치
  • 음성 태그로 된 화자
  • 시작과 끝 시간, 밀리초 단위, 순서대로
갈 곳이 없는 것
  • 취소선: WebVTT에는 이를 위한 태그가 없습니다
  • 화자의 얼굴과 색상
  • 원문 옆의 번역(번역이 원문을 대신하거나 아래에 놓일 수 있습니다)
  • 더빙과 메타데이터

.usfx 프로젝트로 저장하면 이것들을 보관할 수 있습니다.

WebVTT 파일 열기

Subtitld는 시간 줄을 기준으로 각 큐를 찾고, 다음을 읽습니다:

  • 헤더, NOTE, STYLE, REGION 블록은 자막이 아니라 본래의 역할로, 큐 식별자는 이름으로 읽습니다;
  • 시가 있거나 없는 시간, 마침표나 쉼표를 쓴 시간;
  • 음성은 자막의 화자로, 더빙에 바로 쓸 수 있도록 읽습니다;
  • WebVTT의 색상 클래스와, STYLE 블록이 다른 클래스에 준 색상;
  • 화면에서의 위치로서의 line, position, align;
  • 어떤 인코딩이든, 다만 WebVTT는 UTF-8을 요구합니다.

Subtitld는 둘 곳이 없는 것은 빼 둡니다: 영역, 큐의 크기, 세로쓰기, 루비의 읽기 표기, 가라오케 타임스탬프. 텍스트 자체는 남습니다.

WebVTT 내보내기

Subtitld 내보내기 대화상자: VTT가 선택되고 화자가 음성 태그로 쓰인 모습

Export 다음 Subtitles와 VTT를 선택하면 다음 옵션을 제공합니다:

  • Text원문, 번역, 또는 둘 다(번역은 아래에 놓입니다).
  • Speaker names제외하거나, 텍스트 앞에(Thom: …) 쓰거나, WebVTT 방식인 음성 태그(<v Thom>)로 씁니다.
  • Formatting유지하거나 제거합니다.
  • Shift times모든 자막을 같은 값만큼 앞이나 뒤로 옮깁니다.

파일은 WebVTT가 요구하는 대로 항상 UTF-8입니다. WEBVTT로 시작하고, 큐는 시작 시간 순으로 이어지며, 모든 시간에는 시가 붙습니다. 마크업으로 읽힐 문자는 엔티티로 쓰이고, 빈 자막은 제외됩니다.

웹 페이지에서

<video controls src="tears-of-steel.mp4">
  <track kind="subtitles" src="tears-of-steel.en.vtt"
         srclang="en" label="English" default>
</video>

파일은 text/vtt로 제공하세요. 다른 도메인에서 가져온다면, 비디오에는 crossorigin이 필요하고 서버에는 Access-Control-Allow-Origin 헤더가 필요합니다. 그렇지 않으면 브라우저가 트랙을 불러오지 않습니다.

WebVTT인가 SubRip인가?

플레이어, 편집기, 업로드에는 SubRip을, 웹의 비디오에는 WebVTT를 쓰세요. SubRip 페이지에서 두 형식을 나란히 비교합니다.

상식

2010

WHATWG에서 HTML5의 새 <track> 요소를 위해 WebSRT라는 이름으로 초안이 만들어졌습니다. SubRip을 바탕으로 했으며, 나중에 WebVTT라는 이름을 얻었습니다.

WEBVTT

모든 파일의 맨 앞에 있는 여섯 글자입니다. 브라우저가 이것을 찾지 못하면 트랙 전체를 거부합니다.

8

별도의 CSS 없이 플레이어가 아는 색상: 흰색, 라임, 시안, 빨강, 노랑, 마젠타, 파랑, 검정. 텍스트와 배경 모두에 쓸 수 있습니다.

관련 형식

고칠 .vtt 파일이 있으신가요?

Subtitld에서 동영상과 함께 열고, 파형에서 시간을 다시 맞춰 보세요.

Subtitld 다운로드