본문으로 바로 가기
SubtitleMatrix

VTT를 ASS로 변환

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

이 변환에서 달라지는 것

2가지가 버려지거나 결정이 필요합니다

  • 정밀도

    타이밍 정밀도 — 결과물의 시계가 더 거칠어 모든 타임스탬프가 가장 가까운 10 ms로 반올림됩니다

  • 형식 고유 내용

    원본 형식이 자막 블록 밖에 두는 내용(자막 블록이 아닌 구획, 머리말 텍스트, 자막 블록별 설정, 주석 처리된 이벤트) — 대상 형식에는 들어갈 자리가 없습니다

이 목록은 불러온 특정 파일이 아니라 두 형식의 기능 행렬에서 나옵니다. 어떤 파일은 형식이 허용하지만 행렬이 모델링하지 않는 기능을 쓰고 있다면 더 많이 잃을 수 있습니다.

이 페이지는 WebVTT를 ASS 스크립트로 바꿉니다. 스크립트 머리글, 스타일 표, Dialogue 이벤트를 갖춘 파일이 나오고, 글자·줄 바꿈·큐 순서는 그대로 유지됩니다.

VTT의 00:00:01.234는 ASS의 0:00:01.23이 됩니다. 1/1000초를 1/100초로 반올림하므로 큐마다 최대 5ms 움직이며, 이것이 precision 손실입니다. <i>·<b>는 {\i1}·{\b1}이 되고, 스타일 표가 없으므로 Default 스타일 하나(Arial 20)를 만듭니다.

사라지는 것은 cue 모델 밖의 구성입니다. 헤더와 그 주석, NOTE·STYLE·REGION 블록, align:start·position:10% 같은 설정이 ASS의 오버라이드 코드로 자동 변환되지 않고 손실로 보고됩니다.

한 파일도 시즌 전체도 됩니다. 순서대로 처리되고 중간에 취소할 수 있으며 ZIP 하나로 내려옵니다. 브라우저 안에서 변환되어 업로드가 없습니다.

ASS는 스타일 표와 오버라이드 코드로 화면 배치를 정확히 제어합니다. VTT에서 넘어온 파일은 Default 스타일 하나로 시작하므로, 글꼴과 색은 편집기에서 지정하세요.

예시

전형적인 WebVTT 파일을 ASS로 변환

입력

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, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Events]
Format: Layer, 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, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Events]
Format: Layer, 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를 ASS로 바꾸면 시간이 왜 반올림되나요?

ASS는 1/100초, WebVTT는 1/1000초를 기록합니다. 00:00:01.234는 0:00:01.23이 되어 각 타임스탬프가 최대 5ms 움직입니다. 영상을 볼 때는 보이지 않지만, 다른 파일과 프레임 단위로 비교할 때는 문제가 될 수 있습니다.

VTT를 ASS로 바꾸면 스타일 표는 어디서 생기나요?

스타일 표가 없는 ASS는 재생할 수 없어 변환기가 Default 스타일 하나를 만듭니다. Arial 20, 흰 글자에 검은 외곽선이고 모든 Dialogue 줄이 그것을 가리킵니다. 이후 자막 편집기에서 고치세요. 다시 변환하면 그 수정은 덮어써집니다.

VTT의 align:start·position:10% 설정은 ASS에서 어떻게 되나요?

사라집니다. ASS는 위치를 정확히 지정할 수 있지만 {\an7}(왼쪽 위), {\pos(320,240)}(정확한 점)처럼 본문 안의 오버라이드 코드로 하며, VTT의 설정과 일대일로 대응하지 않습니다. 추측하지 않고 손실로 보고합니다.

VTT의 NOTE·STYLE·REGION 블록은 ASS에서 살아남나요?

아니요. VTT에만 있는 구성이라 ASS에 대응물이 없습니다. STYLE은 문서 전체의 배치 규칙을 담을 수 있어 특히 주의해야 하며, 필요하면 ASS에서 다시 만들어야 합니다.

기밀 WebVTT 파일을 여기서 변환해도 되나요?

됩니다. 파일은 브라우저 탭에서 읽고 쓰며, NDA 아래의 파일은 업로드 단계 없이 기기에 남습니다. 출력도 로컬에서 쓰이고, 페이지를 연 뒤에는 네트워크를 끊어도 변환됩니다.

관련 도구