SMI를 CSV로 변환
또는 자막 텍스트를 붙여넣으세요
이 변환에서 달라지는 것
3가지가 버려지거나 결정이 필요합니다
- 스타일
모든 스타일(굵게, 기울임, 색, 외곽선, 그림자)
- 위치
화면 위치 지정(모든 자막 블록이 기본 위치로 돌아갑니다)
- 형식 고유 내용
원본 형식이 자막 블록 밖에 두는 내용(자막 블록이 아닌 구획, 머리말 텍스트, 자막 블록별 설정, 주석 처리된 이벤트) — 대상 형식에는 들어갈 자리가 없습니다
이 목록은 불러온 특정 파일이 아니라 두 형식의 기능 행렬에서 나옵니다. 어떤 파일은 형식이 허용하지만 행렬이 모델링하지 않는 기능을 쓰고 있다면 더 많이 잃을 수 있습니다.
SMI를 CSV로 바꾸는 페이지입니다. 자막 하나가 표의 한 행이 되고 시작 시각·끝 시각·텍스트가 각각 열로 들어갑니다. 시각과 글자는 정확히 남지만, SAMI의 스타일과 화면 위치, 문서 설정은 CSV에 열로 만들 수 없어 사라집니다.
SMI는 `Start=4126`으로 시작을 적고 다음 SYNC가 앞 블록을 끝냅니다. CSV의 머리글은 `start,end,text`이고 값은 `00:00:04.126` 꼴로 적히며 밀리초까지 같습니다. 두 줄짜리 자막은 하나의 텍스트 셀 안에 두 줄로 들어가고 CSV 규칙대로 따옴표로 감쌉니다.
사라지는 것은 `<STYLE>`의 CSS로 지정한 글꼴·색·위치, `<TITLE>`, `Class=ENCC`입니다. 자막 글자 안에 적힌 강조는 셀 안의 텍스트와 함께 남습니다. ` `만 든 블록은 자막이 아니라 화면 비우기이므로 행을 만들지 않습니다.
파일은 업로드되지 않고 브라우저 안에서 처리됩니다. 여러 파일을 한 번에 넣어도 순서대로 변환되고 결과는 ZIP 하나로 묶입니다. 변환 중에는 탭을 닫지 마세요.
예시
전형적인 SMI 파일을 CSV로 변환
입력
<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>
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>
</BODY>
</SAMI>
결과물
start,end,text
00:00:01.000,00:00:03.000,Hello there.
00:00:03.500,00:00:06.000,"How are you?
Fine, thanks."
이 출력에서 버려지는 것은 스타일·위치·형식 고유 구성입니다. 시각과 글자는 행 단위로 일치합니다.
지저분한 SMI를 CSV로 바꿀 때
입력
<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 & Jerry
<SYNC Start=12000>
<P Class=ENCC>
</BODY>
</SAMI>
결과물
start,end,text
00:00:02.500,00:00:09.000,"Line one
Line two"
00:00:09.000,00:00:12.000,Tom & Jerry
실제 파일에 흔한 손상입니다. BOM, 윈도우 줄바꿈, 읽을 수 없는 SYNC가 섞여도 읽을 수 있는 자막은 모두 행이 됩니다.
자주 묻는 질문
SMI의 굵기와 기울임이 CSV 셀에 남나요?
자막 글자 안에 `<i>`나 `<b>`로 적힌 강조는 텍스트와 함께 셀에 남습니다. 반면 `<STYLE>`에서 문단 전체에 지정한 글꼴과 색은 CSV의 열이 되지 못해 사라집니다.
SMI의 화면 위치는 CSV에서 어떻게 표현되나요?
표현되지 않습니다. CSV는 시작·끝·텍스트 세 열만 만들고 위치를 담는 열이 없습니다. `<STYLE>`의 CSS로 정한 위치 정보는 사라집니다.
SAMI의 STYLE 블록과 Class 표시는 CSV에서 어디로 가나요?
남지 않습니다. `<STYLE>`의 CSS, 문서 제목, `Class=ENCC` 같은 채널 표시는 자막 블록 바깥의 정보라 CSV의 세 열에 들어가지 않습니다.
SMI를 CSV로 바꾸면 표의 머리글은 무엇인가요?
`start,end,text`입니다. 각 자막이 한 행씩 이어지고, 시작과 끝은 `00:00:04.126` 꼴로 적히며 텍스트는 셋째 열에 들어갑니다.
SMI의 Start 시각이 CSV 셀에서도 밀리초까지 같나요?
네. `Start=4126`은 `00:00:04.126`이 되고 값이 그대로입니다. SMI에 끝 시각이 없으므로 끝 열은 다음 SYNC의 시작에서 채워집니다.
SMI의 두 줄 자막은 CSV에서 어떻게 한 행에 들어가나요?
하나의 텍스트 셀 안에 두 줄로 들어가고, 줄바꿈이 포함된 셀은 CSV 규칙대로 따옴표로 감쌉니다. 스프레드시트는 이를 한 셀로 읽습니다.
SMI를 CSV로 바꾸면 행의 순서는 어떻게 정해지나요?
시작 시각이 이른 순서입니다. 원본이 뒤섞여 있었다면 정렬되어 나오고, 이는 내용이 아니라 구조를 바로잡는 변화입니다.
CSV를 다시 SMI로 바꾸면 무엇이 사라지나요?
CSV에는 스타일이나 위치 정보가 없으므로 SMI로 돌아가도 새로 생기지 않습니다. 지금 방향인 SMI→CSV에서 사라진 CSS와 채널 설정은 복구되지 않습니다.
SMI를 CSV로 저장하면 인코딩은 무엇인가요?
출력은 UTF-8, 유닉스 줄바꿈, BOM 없음입니다. 엑셀에서 열 때 한글이 깨지면 가져오기 설정에서 UTF-8을 지정하면 됩니다.