본문으로 바로 가기
SubtitleMatrix

SMI를 SSA로 변환

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

이 변환에서 달라지는 것

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

  • 정밀도

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

  • 형식 고유 내용

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

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

SMI를 SSA로 바꾸는 페이지입니다. SSA는 ASS의 이전 세대 형식으로 같은 Dialogue 구조를 쓰지만 시간을 100분의 1초까지만 적습니다. 그래서 SMI의 밀리초 정밀도와 문서 설정이 이 방향에서 사라집니다.

SMI는 `Start=4126`, SSA는 `0:00:04.13`을 씁니다. 모든 시각이 가장 가까운 10ms로 반올림되고 자막 하나의 이동은 최대 5ms입니다. 여러 파일의 타임라인을 정확히 겹쳐야 하는 작업이라면 이 차이를 기억해야 합니다.

출력 앞부분에는 `[Script Info]`와 `[V4 Styles]`가 오고 자막은 `[Events]`의 `Dialogue:` 줄로 적힙니다. `<STYLE>`의 CSS, `<TITLE>`, `Class=ENCC`는 SSA의 cue 모델에 들어가지 않아 사라집니다. 두 줄짜리 자막은 `\N`으로 이어집니다.

업로드와 가입은 없습니다. 브라우저 안에서 처리되고 시즌 전체를 한 번에 넣어도 순서대로 변환되어 ZIP 하나로 내려옵니다. ZIP은 파일별 하위 폴더 없이 풀립니다.

예시

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

입력

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

결과물

[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:03.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,How are you?\NFine, thanks.

이 출력에서 버려지는 것은 정밀도와 형식 고유 구성입니다. 자막 글자와 순서는 줄 단위로 일치합니다.

지저분한 SMI를 SSA로 바꿀 때

입력

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

결과물

[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:02.50,0:00:09.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Tom &amp; Jerry

실제 파일에 흔한 손상입니다. BOM, 윈도우 줄바꿈, 읽을 수 없는 SYNC가 섞여도 읽을 수 있는 자막은 모두 Dialogue 줄이 됩니다.

자주 묻는 질문

SMI를 SSA로 옮기면 타임코드가 얼마나 어긋나나요?

SSA는 100분의 1초 단위라 밀리초 값이 가장 가까운 10ms로 반올림됩니다. 자막 하나가 움직이는 폭은 최대 5ms이고, 타임라인 전체가 밀리거나 늘어나지는 않습니다.

SAMI의 CSS 스타일이 SSA의 V4 Styles로 넘어가나요?

넘어가지 않습니다. SAMI의 `<STYLE>`은 HTML 문단용 CSS이고 SSA의 `[V4 Styles]`는 다른 문법입니다. 출력에는 기본 스타일만 들어가고 원본 CSS는 사라집니다.

SMI를 SSA로 바꾸면 결과 파일은 어떤 구조인가요?

`[Script Info]`, `[V4 Styles]`, `[Events]` 세 구역을 가진 SSA 문서입니다. 자막마다 `Dialogue:` 줄이 하나씩 생기고, SRT의 번호 자리에는 `Marked` 필드가 옵니다.

SMI의 두 줄 자막은 SSA에서 어떻게 표시되나요?

`\N`으로 이어집니다. SSA의 강제 줄바꿈 표기이며, 두 줄은 한 자막으로 유지되어 플레이어가 함께 표시합니다.

SSA를 다시 SMI로 바꾸면 무엇이 살아나나요?

없습니다. SSA에는 CSS나 채널 설정이 없으므로 SMI로 돌아가도 새로 생기지 않습니다. SMI→SSA에서 사라진 문서 설정은 원본 SMI 파일에만 남습니다.

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

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

관련 도구