smi, srt의 차이와 smi → srt 변환 프로그램들 비교

Software/Subtitle Edit 2016. 12. 19. 23:26

뭐가 좋을까? ㅋ_ㅋ


자막 파일에는 여러 가지 확장자가 있다. 제가 아는 건 smi, srt, sup, sub, idx, ass 정도입니다. 그 중에서도 대부분의 한글 자막은 smi이다. 영상에서 자막으로 볼 때 smi와 srt는 차이가 없다고 봐도 무방하다. 하지만 속을 들여다 보면 분명한 차이가 있다. smi와 srt 파일은 메모장으로 간편하게 볼 수 있고 편집할 수 있다. 우선 smi와 srt 파일이 메모장에서 어떻게 보여지는지 확인하자.


012


smi 파일 두 개와 srt 파일 하나. 갤러리 위에 있는 화살표로 확인하시기 바랍니다.

같은 smi 파일이라도 자막 제작자가 어떻게 만드느냐에 따라 형태가 다르다.

smi는 시작 싱크만 있어서 다음 자막 전에 자막을 사라지게 만들려면 &nbsp;라는 공백 싱크를 넣어야 하고 줄 바꿈도 <br>로 해야 한다. srt는 싱크에 시작과 종료 시간이 있어서 불편하게 공백 싱크를 넣을 필요가 없고 <br> 없이 엔터로 줄 바꿈 하면 그대로 나온다.


그냥 딱 봐도 smi 보다 srt가 깔끔하다. 먼저 srt 형식에 대해 알아보겠다.



{숫자}
{시작} --> {끝}
{내용}


몇 번째로 만든 내용인지 알려주는 {숫자}, 싱크 {시작}과 {끝}, {내용}. 이게 srt 형식의 모든 것이다. 메모장을 열고 이런 형식으로 내용을 적고 {}는 빼고 .srt로 저장하면 자막 파일이 된다.[각주:1]


<b>두껍게</b>로 두껍게

<i>이탤릭체</i>로 이탤릭체(티스토리가 이상한지 어쩔 땐 되고 어쩔 땐 안 된다. 구편집기에서 작동이 잘 안 된다.)

<u>밑줄</u>로 밑줄

<font color="color name or #code">색</font>으로

<font size="12">사이즈</font>로 글자 크기를 바꿀 수 있다. 참고로 팟플은 자막 설정에서 THML tag 스타일의 폰트 절대 크기를 무시하지 않게 해야 한다.

<font face="궁서">궁서</font>로 글꼴을 바꿀 수 있다.

<font size="12" color="blue" face="궁서">여러 개</font> 이렇게 여러 개를 같이 쓸 수도 있다.

<ruby></ruby>로 루비(ruby) 루비(ruby) 또는 루비ruby로 보이는 사람은 제대로 안 보이는 겁니다. 파폭 유저는 https://addons.mozilla.org/ja/firefox/addon/html-ruby/를 설치하면 제대로 볼 수 있습니다.


srt는 이런 기능들도 가능하다. smi와 srt의 차이를 검색해보면 srt는 단순하게 위의 것들이 안 되서 범용성이 좋다는 글이 있는데 그렇지 않다. 다 가능하다.


1
00:00:01,318 --> 00:00:02,900
2002년에 무슨 일이 있었습니다.

2
~

3
~

.
.
.

839
00:00:01,318 --> 00:00:02,900
Something went down, 2002.

840
~

841
~

.
.
.


이렇게 싱크의 시작 시간과 끝 시간을 같게 하면 통합 자막도 가능하다. 다음으로 smi 형식에 대해 알아보겠다.


<SAMI>
<HEAD>
<TITLE>타이틀</TITLE>
<STYLE TYPE="text/css">
<!--
P { margin-left:8pt; margin-right:8pt; margin-bottom:2pt;
    margin-top:2pt; font-size:14pt; text-align:center;
    font-family:굴림, Arial; font-weight:normal; color:white;
    background-color:black; }
.KRCC { Name:한국어; lang:ko-KR; SAMIType:CC; }
#STDPrn { Name:Standard Print; }
#LargePrn { Name:Large Print; font-size:20pt; }
#SmallPrn { Name:Small Print; font-size:10pt; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000><P Class=KRCC>내용
<SYNC Start=2000><P Class=KRCC>&nbsp;
<SYNC Start=3000><P Class=KRCC>내용
<SYNC Start=4000><P Class=KRCC>&nbsp;
</BODY>
</SAMI>


smi는 이런 형식이다. en wekipedia에서는 싱크를 이렇게 쓰기도 한다.[각주:2]

<BODY>와 </BODY> 사이의 부분이 자막으로 표시된다.

타이틀이나 스타일은 왜 있는지 모르겠다.[각주:3]

그리고 앞에서 말했듯이 &nbsp;와 <br>이 문제다. 자막이 길어지면 길어질수록 이런 쓸 데 없는 부분이 많아지고 이것은 용량으로 이어지는 문제다. 용량이 얼마나 차이나냐고 할 수도 있어서 한번 비교해 봤다. 원본이 smi이고 srt로 변환했다.


두 배 정도 차이난다. 저 줄어든 부분이 다 쓸모 없는 부분이다.

smi도 굵게, 이탤릭체, 밑줄, 크기, 루비(ruby)

를 지원한다. 이외에도 여러 태그를 지원하지만 쓰이는 걸 본 적이 없는 것 같다.[각주:4]

한 가지 srt의 단점과 smi의 장점이 있다. smi는 통합 자막일 때, 둘 다 보거나 (플레이어가 지원한다면)어느 한 쪽만 골라서 볼 수 있지만 srt는 무조건 둘 다 봐야 한다.

이점 외에는 srt가 더 좋은 것 같아 smi를 srt로 바꾸는 툴을 찾아봤다.


1. Uzys SRT < - > SMI Converter
2. SRTier[각주:5]
3. Subtitle Edit (SE)
4. SMISyncW
5. NS Caption Creator 4 SMI Edition (CC) 2016.12.19 현재 망함. CC의 개발자는 아닌 다른 분이 백업으로 만든 블로그 주소 http://nscc4.tistory.com/
6. smi2srt.exe 혹은 smi2srt2.exe 아마 이 링크의 파일을 변환한 것 같은데 출처를 모르겠다. отсюда를 클릭하면 다운
7. MinySubtitleConverter
8. SMItoSRT 망한 듯

   SE[각주:6]  SRTier  SMISyncW[각주:7]

 CC

 smi2srt[각주:8]  UzyMinySubtitleConverter
SMItoSRT
 &nbsp; 처리[각주:9]
O O O O
O

X

O

O

<ruby>
O

    X[각주:10]

O O X O

X

X

<font, u, i, b>[각주:11] O O O O X O

X

X

공백[각주:12] 제거 제거 제거 그대로 제거
그대로  
통합 자막 [각주:13] 분리

한글만

그대로

그대로

그대로

  
 결과 인코딩[각주:14]UTF-8

UTF-8

ANSIANSI

UTF-8

 별에 별 거 다 가능

UCS-2 Little Endian

여러 파일 한 번에 변환

O[각주:15]

X X X O O

 O

O


SE의 경우 00:00:01,318 --> 00:00:02,900 시간이 원래 이렇게 쓰여 있어야 제대로 나오는데 실수로 00:00:01,318 --> 00:00:02, 900 이렇게 900의 앞에 공백이 있으면 이 파일을 열었을 때 자동으로 고쳐준다.



위 결과들은 저의 상황에서 나온 결과입니다. 다른 결과가 나올 수도 있으니 유의하시기 바랍니다.


2014.05.16 여러 파일 한 번에 변환, MinySubtitleConverter, SMItoSRT 추가

2014.10.15 font size 추가

2015.03.20 SE 일괄 변환 가능으로 변경

2016.12.19 <SAMI>를 </SAMI>로 수정, CC 망해서 수정, отсюда 추가, skotlex.com 망한 듯



관련 글
Subtitle Edit으로 mkv 파일에서 자막 추출
Subtitle Edit으로 smi → srt 자막 변환
Subtitle Edit으로 srt 자막의 번호 순서대로 변경
Subtitle Edit으로 자막 비교하기



  1. 숫자 1번이라도 처음에 나오지 않고 표시된 시간에 따라 나온다. 위 갤러리의 srt 자막에서도 1번째 줄에 10이라고 나와있지만 표시된 시간에 따라 처음에 나온다. [본문으로]
  2. 복잡하긴 마찬가지에 종료 싱크 역시 없다. [본문으로]
  3. http://zockr.tistory.com/1086 이곳에 약간의 설명이 있다. [본문으로]
  4. http://en.wikipedia.org/wiki/SAMI#Supported_HTML_tags_and_CSS나 http://ko.wikipedia.org/wiki/SAMI#.EC.82.AC.EC.9A.A9.ED.95.A0_.EC.88.98_.EC.9E.88.EB.8A.94_HTML_.ED.83.9C.EA.B7.B8.EC.99.80_CSS 참고 [본문으로]
  5. http://zockr.tistory.com/1086 여기 있는 SAMI2SRT를 만드신 분이다. 변환은 똑같이 되는 것 같아서 최신인 것을 사용했다. [본문으로]
  6. 원본의 인코딩에 따라 다른 이름으로 저장될 때가 있고 오류가 날 때도 있다. 오류 내용은 "Subtitle contains unicode characters. Saving using ANSI file encoding will lose these. Continue with saving?" 다른 이름으로 형식을 바꿀 때 기존 인코딩 형식으로 저장한다. 원래 ANSI 파일에 유니코드로 된 문자 있는 상황에서 형식을 바꾸면 ANSI 형식에 유니코드 문자를 저정하니 문제가 발생한다. 이럴 때는 export 기능이 인코딩을 설정하고 형식을 바꿀 수 있다. http://hepaticboy.tistory.com/158 참고하세요. [본문으로]
  7. 아무것도 없는 파일이 만들어질 때가 있다. 제대로 작동하지 않는 것 같다. 해당 파일은 계속 안 됨. [본문으로]
  8. 분명 같은 smi 파일인데 어떤 폴더에 있나, 어떤 파일과 함께 있느냐에 따라 될 때, 안 될 때가 있다. [본문으로]
  9. 안 되면 대사가 끝나도 자막이 사라지지 않고 다음 대사가 시작될 때까지 계속 나온다. [본문으로]
  10. 지원 계획 없음 [본문으로]
  11. 색, 밑줄, 이탤릭, 굵게 [본문으로]
  12. 싱크는 있는데 내용이 없는 부분 [본문으로]
  13. 다른 이름으로 저장하면 한글과 영어의 순서 바뀜. 위 예시에서 839가 맨 위로 오고 1이 영자막 후에 나오는 형식. 하지만 감상에 지장은 없다. File - Export - Export custom text format으로 할 경우 한글만 표시 [본문으로]
  14. 다른 이름으로 저장하면 그대로, export하면 선택 가능 [본문으로]
  15. Tools-Batch convert [본문으로]
comments powered by Disqus

설정

트랙백

댓글