SSA를 VTT로 변환
또는 자막 텍스트를 붙여넣으세요
이 변환에서 달라지는 것
4가지가 버려지거나 결정이 필요합니다
- 스타일
굵게와 기울임을 뺀 모든 스타일(색, 외곽선, 그림자, 여백)
- 위치
화면 위치 지정(모든 자막 블록이 기본 위치로 돌아갑니다)
- 가라오케
가라오케 타이밍(음절 단위 강조)
- 형식 고유 내용
원본 형식이 자막 블록 밖에 두는 내용(자막 블록이 아닌 구획, 머리말 텍스트, 자막 블록별 설정, 주석 처리된 이벤트) — 대상 형식에는 들어갈 자리가 없습니다
이 목록은 불러온 특정 파일이 아니라 두 형식의 기능 행렬에서 나옵니다. 어떤 파일은 형식이 허용하지만 행렬이 모델링하지 않는 기능을 쓰고 있다면 더 많이 잃을 수 있습니다.
이 페이지는 SSA를 WebVTT로 바꿉니다. 대사와 시간축은 그대로 넘어가고, VTT의 헤더와 큐 문법으로 다시 적힙니다. 화면에 글자가 나오는 순간은 바뀌지 않습니다.
SSA의 0:00:04.12는 VTT의 00:00:04.120이 됩니다. 1/100초를 1/1000초로 적으면서 끝에 0이 하나 붙을 뿐이고, 두 줄짜리 Dialogue의 \N은 VTT의 줄 바꿈이 됩니다.
사라지는 것은 스타일·위치·카라오케, 그리고 cue 목록 밖에 있는 구역입니다. [Script Info], [V4 Styles], [Fonts]·[Graphics] 블록과 Comment 줄이 VTT에 자리가 없습니다. 특히 [Fonts]에 내장된 글꼴은 VTT가 담지 못하므로, 그 글꼴이 필요했다면 따로 옮겨야 합니다.
여러 파일을 넣으면 순서대로 처리되고 중간에 취소할 수 있으며 ZIP 하나로 내려옵니다. 변환은 브라우저 안에서 실행됩니다.
VTT는 웹의 <track> 요소가 직접 읽으므로, 영상 페이지에 자막을 붙일 때 적합합니다. SSA의 스타일과 카라오케는 사라지지만 대사와 시간축은 그대로입니다.
예시
전형적인 SSA 파일을 VTT로 변환
입력
[Script Info]
Title: Example SSA
ScriptType: v4.00
Collisions: Normal
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\i1}Italic{\i0} line.
Dialogue: Marked=0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Two\Nlines
결과물
WEBVTT
00:00:01.000 --> 00:00:04.000
Hello there.
00:00:05.000 --> 00:00:08.000
<i>Italic</i> line.
00:00:09.000 --> 00:00:12.000
Two
lines
이 출력에서 빠진 것: 스타일, 위치, 카라오케, 형식 고유 구성. 나머지는 줄 단위로 일치합니다.
같은 변환을 지저분한 입력으로
입력
[Script Info]
Title: Dirty SSA
ScriptType: v4.00
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: Marked=0,0:00:00.00,0:00:01.00,Default,,0,0,0,,not a subtitle
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,{\b1}Bold{\b0} and {\u1}underlined{\u0}.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,A soft\nbreak and a {\p1}mystery{\p0} code.결과물
WEBVTT
00:00:01.000 --> 00:00:04.000
<b>Bold</b> and <u>underlined</u>.
00:00:05.000 --> 00:00:08.000
A soft
break and a {\p1}mystery{\p0} code.
실제 파일에 흔한 손상입니다. 줄 바꿈이 섞이고, 공백이 남고, 필드가 비어 있습니다. 위의 깔끔한 예와 비교해 해석기가 무엇을 용서하는지 보세요.
자주 묻는 질문
SSA에서 VTT로 가면 무엇이 사라지나요?
스타일 표, 화면 위치, 카라오케 타이밍, 그리고 [Script Info]·[V4 Styles]·[Fonts]·[Graphics] 구역과 Comment 줄입니다. 본문에 적힌 굵게·기울임·밑줄·색은 태그로 남고, 글자와 시간축도 남습니다.
SSA의 내장 글꼴은 VTT에서 어떻게 되나요?
사라집니다. VTT는 글꼴 파일을 담는 구역이 없어 [Fonts] 블록을 옮길 수 없습니다. 대상 환경에 그 글꼴이 설치되어 있지 않다면 다른 글꼴로 대체되어 보입니다.
SSA의 시간 표기는 VTT에서 어떻게 바뀌나요?
0:00:04.12가 00:00:04.120이 됩니다. VTT는 점 뒤에 밀리초 세 자리를 쓰므로 끝에 0이 하나 붙지만 시각은 같습니다. 반올림이나 이동은 없습니다.
SSA의 카라오케 표기는 VTT에서 어떻게 되나요?
사라집니다. {\k50} 같은 카라오케 타이밍이 VTT에 대응물이 없어 출력에 남지 않습니다. 노래방 자막을 VTT로 옮기면 글자는 남지만 음절별 강조는 잃습니다.
두 줄짜리 SSA Dialogue는 VTT에서 어떻게 나오나요?
두 줄로 나옵니다. SSA의 강제 줄 바꿈 \N이 VTT의 줄 바꿈 두 개가 되고, 두 줄은 하나의 자막 블록으로 묶여 함께 표시됩니다.
SSA의 위치 지정은 VTT에서 살릴 수 있나요?
이 페이지에서는 자동으로 바뀌지 않습니다. VTT의 align·position 설정은 있지만 SSA의 {\an7}·{\pos(320,240)}과 일대일로 대응하지 않아 추측하지 않고 손실로 보고합니다.
SSA 큐의 순서는 VTT에서 유지되나요?
네. 시작 시간이 빠른 순으로 정렬되고, 원본이 순서를 벗어나 있었다면 출력에서 바로잡힙니다. 내용이 아니라 구조의 변경이며 의도된 동작입니다.