본문으로 바로 가기
SubtitleMatrix

SMI를 SRT로 변환

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

이 변환에서 달라지는 것

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

  • 스타일

    모든 스타일(굵게, 기울임, 색, 외곽선, 그림자)

  • 위치

    화면 위치 지정(모든 자막 블록이 기본 위치로 돌아갑니다)

  • 형식 고유 내용

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

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

SAMI(SMI)는 HTML 조각으로 자막을 적는 마이크로소프트 형식이고, SRT는 가장 널리 읽히는 자막 형식입니다. 이 페이지는 SMI를 SRT로 바꾸며, 글자와 시각은 남지만 스타일·화면 위치·자막 바깥의 문서 설정은 사라집니다.

SMI는 `<SYNC Start=4126>`처럼 시작 시각을 밀리초로 적고, 끝 시각은 다음 SYNC가 대신합니다. SRT는 `00:00:04,126 --> 00:00:06,000`처럼 시작과 끝을 한 줄에 적습니다. 변환기는 다음 SYNC의 시작을 앞 블록의 끝으로 삼아 SRT의 두 시각을 채웁니다.

`&nbsp;`만 든 `<P>` 블록은 화면을 비우는 표시이며 자막으로 만들지 않습니다. `<STYLE>` 블록의 CSS, `<TITLE>`, `Class=ENCC` 같은 채널 표시는 SRT에 설 자리가 없어 사라집니다. 다만 자막 글자 안에 적힌 `<i>`·`<b>`·`<u>`·`<font color>`는 SRT 텍스트의 태그로 남습니다.

업로드와 가입은 없습니다. 브라우저 안에서 처리되고, 여러 파일은 순서대로 변환되어 ZIP 하나로 내려옵니다. 변환이 도는 동안 탭을 닫으면 작업이 중단되므로 끝날 때까지 창을 열어 두세요.

예시

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

입력

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>&nbsp;
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

결과물

1
00:00:01,000 --> 00:00:03,000
Hello there.

2
00:00:03,500 --> 00:00:06,000
How are you?
Fine, thanks.

이 출력에서 버려지는 것은 스타일, 화면 위치, 형식 고유 구성입니다. 자막 글자와 시각은 줄 단위로 일치합니다.

지저분한 SMI를 SRT로 바꿀 때

입력

<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom &amp; Jerry
<SYNC Start=12000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

결과물

1
00:00:02,500 --> 00:00:09,000
Line one
Line two

2
00:00:09,000 --> 00:00:12,000
Tom &amp; Jerry

실제 파일에 흔한 손상입니다. BOM, 윈도우 줄바꿈, 읽을 수 없는 SYNC가 섞여도 파서는 읽을 수 있는 만큼 읽고 나머지를 보고합니다.

자주 묻는 질문

SMI의 굵기와 기울임이 SRT로 넘어가나요?

자막 글자 안에 `<i>`나 `<b>`로 적힌 강조는 SRT 텍스트의 태그로 남습니다. 반면 `<STYLE>` 블록에서 문단 전체에 지정한 글꼴과 색은 SRT에 설 자리가 없어 사라집니다.

SMI 자막의 화면 위치는 SRT에서 어떻게 되나요?

사라집니다. SMI는 `<STYLE>`의 CSS로 문단이 화면 어디에 놓일지 정하지만 SRT에는 위치를 적는 자리가 없습니다. SRT를 읽는 플레이어가 기본 위치를 정합니다.

SMI의 STYLE 블록과 TITLE, Class 표시는 SRT에서 어디로 가나요?

모두 남지 않습니다. `<STYLE>`의 CSS, 문서 제목, `<P Class=ENCC>` 같은 채널 표시는 자막 블록 바깥의 정보라 SRT의 cue 모델에 들어가지 않습니다.

SMI를 SRT로 바꾸면 결과 파일은 어떤 모습인가요?

자막마다 1부터 시작하는 번호와 `00:00:04,126 --> 00:00:06,000` 꼴의 타임코드, 그 아래 텍스트가 옵니다. SMI의 SYNC 블록 하나가 SRT 블록 하나가 되고 순서는 시작 시각을 따릅니다.

SMI의 Start 값과 SRT 타임코드는 같은 순간인가요?

네. `Start=4126`은 `00:00:04,126`이 되어 밀리초까지 같습니다. SMI에는 끝 시각이 없으므로 각 자막의 끝은 다음 SYNC의 시작에서 옵니다.

SMI의 두 줄 자막은 SRT에서 유지되나요?

유지됩니다. `<br>`로 나뉜 두 줄은 SRT의 한 블록 안에서 두 줄로 남고, 플레이어는 두 줄을 함께 표시합니다.

SRT를 다시 SMI로 되돌리면 무엇이 살아나나요?

없습니다. SRT에는 스타일이나 위치 정보가 없으므로 SMI로 돌아가도 새로 생기지 않습니다. SMI→SRT에서 사라진 CSS와 채널 설정은 원본 SMI 파일에만 남아 있습니다.

SMI를 SRT로 저장하면 인코딩은 무엇인가요?

출력은 UTF-8, 유닉스 줄바꿈, BOM 없음입니다. 원본 SMI가 UTF-16이거나 윈도우 단일 바이트 인코딩이면 읽을 때 해독하고, 그 사실을 결과 패널에 표시합니다.

관련 도구