본문으로 바로 가기
SubtitleMatrix

VTT를 SMI로 변환

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

이 변환에서 달라지는 것

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

  • 형식 고유 내용

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

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

이 페이지는 WebVTT를 SMI(SAMI)로 바꿉니다. SMI는 <SYNC Start=밀리초>와 <P> 텍스트로 화면을 갱신하는 HTML 계열 형식입니다. VTT의 큐 하나가 시작 SYNC 블록에 담기고, 끝나는 시점의 SYNC가 화면을 지웁니다.

VTT의 00:00:04.126은 Start=4126이 되고, 두 줄짜리 큐는 <br>로 이어집니다. 인라인 <b>·<i>·<u>·<font color> 태그는 그대로 남고, 시간은 밀리초까지 정확합니다.

사라지는 것은 cue 모델 밖의 구성입니다. WEBVTT 헤더와 주석, NOTE·STYLE·REGION 블록, align·position 같은 큐 설정이 SMI에 자리가 없습니다. 큐의 글자와 시간은 온전히 넘어갑니다.

여러 파일을 넣으면 순서대로 처리되고 중간에 취소할 수 있으며 ZIP 하나로 내려옵니다. 변환은 브라우저 안에서 실행됩니다.

SMI는 <SYNC> 블록으로 화면을 갱신하므로, 큐가 많아지면 파일이 길어집니다. 옛 재생기와의 호환을 위해 줄 바꿈은 <br>로 유지되고, 시간은 밀리초까지 정확합니다.

예시

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

입력

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>.

결과물

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>Hello there.
<SYNC Start=4000>
<P>&nbsp;
<SYNC Start=4500>
<P>Second line with <i>italics</i>.
<SYNC Start=8000>
<P>&nbsp;
</BODY>
</SAMI>

이 출력에서 빠진 것: 형식 고유 구성. 나머지는 줄 단위로 일치합니다.

같은 변환을 지저분한 입력으로

입력

a stray comment line
cue-id-1
00:00:01.000 --> 00:00:02.000
No header, two lines before the timecode.

결과물

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>No header, two lines before the timecode.
<SYNC Start=2000>
<P>&nbsp;
</BODY>
</SAMI>

실제 파일에 흔한 손상입니다. 줄 바꿈이 섞이고, 공백이 남고, 필드가 비어 있습니다. 위의 깔끔한 예와 비교해 해석기가 무엇을 용서하는지 보세요.

자주 묻는 질문

VTT의 NOTE·STYLE·REGION 블록은 SMI에서 어떻게 되나요?

사라집니다. VTT는 헤더·주석·스타일 블록·영역 정의·큐 설정을 담지만 SMI는 큐만 저장하므로 넣을 자리가 없습니다. 큐의 글자와 시간은 온전히 넘어갑니다.

VTT에서 SMI로 가면 출력이 어떤 모양인가요?

큐마다 <SYNC Start=밀리초>와 <P>텍스트가 오고, 큐가 끝날 때 <SYNC Start=끝><P>&nbsp;가 화면을 비웁니다. 큐 번호와 시간 코드 줄은 없습니다.

VTT의 시간은 SMI에서 정확한가요?

네, 밀리초까지 정확합니다. VTT의 00:00:04.126은 Start=4126이 되고, 2.9초짜리 큐는 그대로 2.9초입니다. 반올림이나 이동은 없습니다.

VTT의 인라인 태그는 SMI에서 어떻게 되나요?

그대로 남습니다. VTT와 SMI 모두 <b>·<i>·<u>·<font color> 같은 인라인 태그를 쓰므로, 큐 안의 강조가 출력에서도 강조로 보입니다.

두 줄짜리 VTT 큐는 SMI에서 어떻게 나오나요?

두 줄 사이에 <br>이 들어갑니다. SAMI가 강제 줄 바꿈을 적는 방식이며, 두 줄은 하나의 자막으로 묶여 함께 표시됩니다.

VTT 큐의 순서는 SMI에서 유지되나요?

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

SMI를 다시 VTT로 바꿀 수 있나요?

가능하지만 SMI→VTT는 위치와 cue 모델 밖 구성을 보고합니다. 이 페이지에서 버린 NOTE·STYLE·REGION과 큐 설정은 SMI에 기록이 없어 되살아나지 않습니다.

관련 도구