TXT를 SMI로 변환
또는 자막 텍스트를 붙여넣으세요
옵션
원본에 종료 시간이 없을 때(일반 텍스트, LRC) 사용합니다. 결과물의 시간축은 변환되는 것이 아니라 여기서 새로 만들어지므로, 이 숫자가 그대로 결과가 됩니다.
이 변환에서 달라지는 것
1가지가 버려지거나 결정이 필요합니다
- 타이밍
시간축 자체 — 원본이 타이밍을 기록하지 않아 결과물의 시간축은 변환된 것이 아니라 새로 만든 것입니다
이 목록은 불러온 특정 파일이 아니라 두 형식의 기능 행렬에서 나옵니다. 어떤 파일은 형식이 허용하지만 행렬이 모델링하지 않는 기능을 쓰고 있다면 더 많이 잃을 수 있습니다.
TXT를 SMI로 바꾸면 줄마다 SYNC 태그가 붙고 화면에 넣을 자막이 됩니다. TXT에는 시간이 없으므로 Start 값은 변환된 것이 아니라 여기서 배치한 것이며, 손실 목록의 시간 항목이 그 뜻입니다. SMI는 웹 페이지에 자막을 넣던 오래된 형식입니다.
TXT는 줄의 순서만 담고, SMI는 시작 시각을 Start=4126처럼 밀리초로 적습니다. 첫 줄이 0에서 시작하고 다음 줄은 앞 줄이 끝난 지점에서 시작하며, 페이지의 표시 시간 옵션이 각 줄의 폭을 정합니다. SMI에는 끝 시각을 적는 자리가 없어 화면을 비우는 블록으로 끝을 표현합니다.
각 줄이 SYNC 하나가 되고, 빈 줄은 문단 구분으로만 쓰여 cue가 되지 않습니다. 결과는 HTML과 비슷한 태그를 쓰지만 독립 파일이라 서버 없이 재생되며, 자막을 넣을 페이지의 CSS가 글꼴과 위치를 정합니다.
여러 파일을 넣으면 차례로 변환되어 ZIP 하나로 내려옵니다. 변환은 브라우저 안에서 실행되며 원본 텍스트는 업로드되지 않습니다.
예시
일반적인 TXT 파일을 SMI로 변환
입력
The quick brown fox jumps over the lazy dog.
Second paragraph, first line.
Second paragraph, second line.
결과물
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=0>
<P>The quick brown fox jumps over the lazy dog.
<SYNC Start=2000>
<P>
<SYNC Start=2000>
<P>Second paragraph, first line.
<SYNC Start=4000>
<P>
<SYNC Start=4000>
<P>Second paragraph, second line.
<SYNC Start=6000>
<P>
</BODY>
</SAMI>
이 결과에서 사라지는 것: 시간. 나머지는 줄 단위로 같습니다.
줄 바꿈이 섞인 TXT를 같은 방식으로 변환
입력
Hello world.
Second block.
결과물
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=0>
<P>Hello world.
<SYNC Start=2000>
<P>
<SYNC Start=2000>
<P>Second block.
<SYNC Start=4000>
<P>
</BODY>
</SAMI>
실제 파일에서 흔한 손상입니다. 줄 바꿈이 섞이고, 공백이 남고, 빈 필드가 있습니다. 위의 깔끔한 예시와 비교해 파서가 무엇을 넘겨주는지 보세요.
자주 묻는 질문
TXT를 SMI로 바꾸면 Start 값은 어디서 나오나요?
새로 만들어집니다. TXT에는 시간이 전혀 없어서 결과의 시간축은 변환이 아니라 배치입니다. 첫 줄이 0에서 시작하고 다음 줄은 앞 줄이 끝난 지점에서 시작하며, 페이지의 표시 시간 옵션이 각 구간의 폭을 정합니다.
TXT를 SMI로 바꾸면 결과가 어떻게 생겼나요?
cue 번호도 타임코드 줄도 없이 자막마다 SYNC 태그와 그 아래 P 요소가 옵니다. SYNC가 화면 내용을 통째로 바꾸기 때문에 cue 뒤에는 화면을 비우는 블록이 붙습니다. TXT의 줄 하나가 SMI의 cue 하나가 됩니다.
TXT cue 순서는 SMI에서도 유지되나요?
유지되고, 변환 과정에서 시작 시간이 이른 순서로 정렬됩니다. TXT가 줄을 뒤섞어 두었다면 SMI 결과에서 순서가 바로잡히며, 이는 내용이 아니라 구조를 바꾸는 일입니다.
빈 줄은 SMI 결과에서 어떻게 되나요?
빈 줄은 cue가 되지 않습니다. TXT에서 문단 구분으로만 쓰이므로 결과에 빈 SYNC가 생기지 않고, 시간축에도 빈 구간이 남지 않습니다. 쉼이 필요하면 표시 시간을 늘리세요.
SMI를 다시 TXT로 바꾸면 무엇을 잃나요?
시간, 스타일, 위치, 줄 묶음, 형식 고유 정보를 잃습니다. SMI에는 시작 시각이 있지만 TXT에는 시간을 적는 자리가 없어 되돌리면 사라지고, 태그로 적힌 강조도 빠집니다.
TXT를 SMI로 바꾸면 결과 인코딩은 어떻게 되나요?
원본이 무엇이었든 결과는 UTF-8에 유닉스 줄 바꿈, 바이트 순서 표시 없음입니다. UTF-16이나 윈도우 단일 바이트 인코딩으로 들어온 파일은 읽는 과정에서 디코딩되며, 그 사실은 결과 패널에 표시됩니다.