본문으로 바로 가기
SubtitleMatrix

SSA를 VTT로 변환

형식 변환SubStation Alpha (SSA)
또는 자막 텍스트를 붙여넣으세요

이 변환에서 달라지는 것

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에서 유지되나요?

네. 시작 시간이 빠른 순으로 정렬되고, 원본이 순서를 벗어나 있었다면 출력에서 바로잡힙니다. 내용이 아니라 구조의 변경이며 의도된 동작입니다.

관련 도구