VTT를 SSA로 변환
또는 자막 텍스트를 붙여넣으세요
이 변환에서 달라지는 것
2가지가 버려지거나 결정이 필요합니다
- 정밀도
타이밍 정밀도 — 결과물의 시계가 더 거칠어 모든 타임스탬프가 가장 가까운 10 ms로 반올림됩니다
- 형식 고유 내용
원본 형식이 자막 블록 밖에 두는 내용(자막 블록이 아닌 구획, 머리말 텍스트, 자막 블록별 설정, 주석 처리된 이벤트) — 대상 형식에는 들어갈 자리가 없습니다
이 목록은 불러온 특정 파일이 아니라 두 형식의 기능 행렬에서 나옵니다. 어떤 파일은 형식이 허용하지만 행렬이 모델링하지 않는 기능을 쓰고 있다면 더 많이 잃을 수 있습니다.
이 페이지는 WebVTT를 SSA 스크립트로 바꿉니다. SSA는 ASS의 이전 판본으로, [V4 Styles] 표와 Marked 열을 가진 Dialogue 줄을 씁니다. 큐의 글자·줄 바꿈·순서는 그대로 유지됩니다.
VTT의 00:00:01.234는 SSA의 0:00:01.23이 됩니다. 1/1000초를 1/100초로 반올림하므로 큐마다 최대 5ms 움직이며, 이것이 precision 손실입니다. <i>·<b>는 {\i1}·{\b1}이 되고, Default 스타일 하나가 새로 만들어집니다.
사라지는 것은 cue 모델 밖의 구성입니다. 헤더와 주석, NOTE·STYLE·REGION 블록, 큐 설정이 SSA에 자리가 없어 손실로 보고됩니다. 파일은 브라우저 안에서 처리되며 업로드되지 않습니다.
SSA는 ASS보다 열이 적어, 최신 편집기에서 열어도 일부 스타일 설정이 보이지 않을 수 있습니다. 기존 SSA 파이프라인에 맞추는 것이 아니라면 ASS 쪽을 권합니다. 대사와 시간축은 어느 쪽으로 가도 그대로입니다. 스타일 표는 Default 하나로 새로 만들어집니다.
예시
전형적인 WebVTT 파일을 SSA로 변환
입력
WEBVTT
intro
00:00:01.000 --> 00:00:04.000
Hello there.
00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.
결과물
[Script Info]
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
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:04.50,0:00:08.00,Default,,0,0,0,,Second line with {\i1}italics{\i0}.
이 출력에서 빠진 것: 정밀도와 형식 고유 구성. 나머지는 줄 단위로 일치합니다.
같은 변환을 지저분한 입력으로
입력
a stray comment line
cue-id-1
00:00:01.000 --> 00:00:02.000
No header, two lines before the timecode.
결과물
[Script Info]
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
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,No header, two lines before the timecode.
실제 파일에 흔한 손상입니다. 줄 바꿈이 섞이고, 공백이 남고, 필드가 비어 있습니다. 위의 깔끔한 예와 비교해 해석기가 무엇을 용서하는지 보세요.
자주 묻는 질문
VTT에서 SSA로 가면 타임스탬프가 왜 달라지나요?
SSA는 0:00:04.13처럼 1/100초, VTT는 00:00:04.126처럼 1/1000초로 적습니다. 모든 시간 코드가 10ms 단위로 반올림되어 00:00:04.126은 4.13초가 되고, 큐마다 최대 5ms만 움직입니다.
VTT의 NOTE·STYLE·REGION 블록은 SSA에서 어떻게 되나요?
사라집니다. VTT는 헤더·주석·스타일 블록·영역 정의·align·position 같은 큐 설정을 담지만, SSA에는 문서가 아니라 큐를 저장할 자리만 있습니다. 큐의 글자와 시간은 온전히 넘어갑니다.
VTT에서 만든 SSA 파일은 어떤 모양인가요?
큐 번호 없이 [Events] 구역의 Dialogue: 줄이 되고, VTT 식별자 자리에는 Marked 필드가 옵니다. 큐 수·순서·글자는 그대로입니다.
두 줄짜리 VTT 큐는 SSA에서 어떻게 나오나요?
두 줄 사이에 \N이 들어갑니다. SSA가 강제 줄 바꿈을 적는 방식이며, 두 줄은 하나의 자막으로 묶여 함께 표시됩니다.
VTT 큐의 순서는 SSA에서 유지되나요?
네. 시작 시간이 빠른 순으로 정렬되고, 원본이 순서를 벗어나 있었다면 출력에서 바로잡힙니다. 내용이 아니라 구조의 변경이며 의도된 동작입니다.
SSA를 다시 VTT로 바꿀 수 있나요?
가능하지만 SSA→VTT는 스타일·위치·카라오케·cue 모델 밖 구성을 보고합니다. 이 페이지에서 버린 NOTE·STYLE·REGION은 기록이 없어 VTT로 돌아와도 되살아나지 않습니다.
VTT에서 만든 SSA 파일의 인코딩은 무엇인가요?
UTF-8, 유닉스 줄 바꿈, BOM 없음입니다. 입력 VTT의 인코딩과 무관하며, 읽을 때 디코딩이 일어나면 결과 패널이 알려 줍니다.