SAMI

 

1. 개요
2. 형식
3. 특징
4. 단점
5. 호환성
6. 참고할 만한 사이트


1. 개요


사용하는 확장자는 .smi 또는 .sami이다.
한국에서 거의 쓰이는 대표적인 자막 파일의 한 형식. Synchronized Accessible Media Interchange의 약자. 마이크로소프트에서 개발한 포맷으로, 원래는 청각 장애인을 위해 개발된 방식이다. 그래서 미디어 플레이어에서 지원할 때도 이 SAMI는 자막(Subtitle)이 아닌 각주(Caption)이라는 명칭으로 들어가 있었다.

2. 형식





자막 제목






한국어 자막

English Subtitle

 

 

자막 색상

Font Color

HTML과 형식이 매우 유사함을 알 수 있다.
자막 제작 프로그램으로 자막을 찍다 보면 색상을 표기할 때 <font color=#79F3AE> 하는 식으로 큰따옴표가 없거나, </P>,</SYNC>등의 닫아주는 태그를 제대로 써주지 않는 툴들이 있는데, 당연히 비표준이라 이러한 툴로 생성된 자막들은 자막 프로그램간 호환성이 매우 낮다.

3. 특징


HTML 기반으로 각종 태그CSS를 지원하며, SRT 자막처럼 색 넣기나 스타일 지정이 가능하다. Ruby 태그를 이용하면 위첨자를 쓸 수 있어서, 일본어에 후리가나까지 넣을 수 있다. 다만 이를 제대로 지원하는 플레이어는 KMPlayer팟플레이어, 모바일로 넘어오자면 nPlayer 정도뿐으로 상당히 적으며, SAMI 표준 사양도 아니다. macOS에서 사용할 수 있는 가장 유명한 동영상 플레이어인 IINA조차 SAMI 루비문자는 지원하지 않는다.
가장 큰 특징 중 하나는 종료싱크를 지정하는 내용이 없다는 것이다. 이 때문에 인물 대사가 끝나고 나면 빈 대사창을 별도로 추가해주지 않으면 마지막으로 한 대사가 계속 떠있지만 이 덕분에 다른 자막에 비해 작업속도가 빠른 편이다. 따로 지울 필요가 있을 땐 &nbsp를 사용한다.
SAMI가 세계적으로 널리 쓰이는 자막 형식이 아니고 그걸 또 마개조해서 사용하는 국산 자막들은 외산 프로그램에서 이런저런 문제가 발생하는 경우가 있다. 심지어 SAMI를 고안한 마이크로소프트에서 만든 플레이어인 윈도우 미디어 플레이어에서조차 vs-filter의 도움 없이는 이런저런 문제가 발생한다. 게다가 vs-filter 없이는 자막 영역만큼의 검정색 바가 생겨서 보기 불편하다.
외부 자막의 특성상 동영상과 파일 이름이 같아야 플레이어나 인코더에서 자동으로 찾아낸다. 한 글자라도 틀리면(빈 칸 포함) 못 찾는다. 흔히 하는 실수가 파일명.smi.smi 형태로 확장자를 두 번 쓰는 경우나, 파일명.mp4.smi 등으로 영상 확장자도 같이 써넣는 경우다. "자막이 안 나와요"라는 질문 중 반절 이상이 이렇게 파일 이름이 잘못된 경우. 이렇게 파일명을 지정하는 게 귀찮다면 플레이어 내에서 따로 자막파일을 지정해주는 방법도 있다. 팟플레이어, 네이버 미디어 플레이어 등 영상 플레이어 대다수는 드래그 & 드롭으로 자막파일을 현재 재생 중인 영상에 끌어다 놓으면 그대로 출력해준다. macOS에서는 IINA가 이 기능을 지원한다.

4. 단점


발표된 이후 아무도 사용하지 않아서 버려진 확장자였으나 포항공대 재학생이던 최의종[1]2000년 6월 심심해서 SAMI 파일을 지원하는 사사미#s-3라는 동영상 플레이어를 만들었다.# 그런데 이 프로그램이 완성도가 꽤 높은 탓[2]에 크게 성공하면서 SAMI 파일이 국내에 대량으로 퍼졌다. 또 srt에 비해 종료 싱크를 따로 만들 필요가 없으므로 상대적으로 srt 자막보다 자막 만드는 시간이 짧은 점도 한국에서 유독 널리 퍼진 이유 중 하나라는 설이 있다.
한국에서는 텍스트 방식 자막 파일로 SAMI가 널리 쓰이지만, 이외에도 고유 확장자를 갖는 자막형태만 10여 종류가 있으며, 동영상 자체에 별도로 자막스트림이 존재하는 경우까지 합치면 대충 20종류 남짓이다. 한국을 제외한 나머지 국가에서는 가벼운 자막이면 srt, 화려한 자막에는 ass를 주로 사용한다.
외산 플레이어들이 SAMI 파일들을 제대로 지원하지 못한다는 이야기들이 많은데 SAMI는 기본적으로 HTML 스크립트를 기반으로 하기 때문에 지원하는 게 별로 어렵지 않다. 만약 자신이 사용하고 있는 외산 플레이어가 SAMI를 제대로 지원하지 못한다면 개발자가 귀찮아서 지원을 안 하는 것이므로 적극적으로 리포트를 넣어주자. 2016년 1월 기준으로 외산 플레이어 중 유명하다 할 만한 mpv, VLC, MPC-HC 중에서 SAMI를 지원 안 하는 플레이어는 VLC로, 이것도 이후 서술할 언어 인코딩 문제로 발생하는 것이지 SAMI 파일을 지원 안 하는 것이 아니다. 자세한 내용은 하단의 호환성 문단 참조.
HTML 기반이라 언어 인코딩 문제에서 자유롭지 못하다. 언어 인코딩이 UTF-8로 고정된 SRT 자막과는 다르게 언어 인코딩을 설정해주는 내용이 자막 내부에 없다. 이 때문에 플레이어에 따라 '''한국어조차도 제대로 표시 못 하는 경우'''가 있다.
이러한 문제를 해결하기 위해 널리 쓰이는 방법이 SAMI 파일을 유니코드로 저장해서 배포하는 것이다. SAMI의 본 바탕이 되는 언어가 HTML이라서 통하는 방법으로, 이 방식이 잘못되었다고 이야기하는 사람도 있지만 SAMI 형식 자체가 HTML+알파인 관계로 개발단계에서 고려되지 않은 사항일지는 몰라도 올바른 해결방법이라고 보아야 한다. 실제로 SAMI 자막 렌더러가 뛰어난 플레이어들은 이러한 방식으로 상술한 글자들을 제대로 표시할 수 있다. 다만 SAMI 형식 자체가 그렇게 해외에서 널리 쓰이는 포맷이 아니다보니 몇몇 플레이어들은 이렇게 해도 제대로 표기를 못한다는 문제가 있다. 언어 인코딩에 대해 어느 정도 지식이 있는 사람들은 알겠지만, 자막을 제작할 때 ANSI로 저장하면 외국 언어를 사용하는 OS에서는 글자가 깨져 나오는 문제가 있다. SubtitleEdit과 같은 웬만한 제막 제작 프로그램은 저장 단계에서 언어 인코딩을 설정할 수 있으니 웬만하면 꼭 유니코드(UTF-8)로 저장해주자.[3]
이렇게 된 이유는 제작사인 마이크로소프트가 SMI 포맷을 버린 것이나 마찬가지이기 때문이다. 1998년에 처음 나왔을 때는 OS 환경이 아직 유니코드가 아니었고, 자막을 제대로 지원하는 소프트웨어가 없었기 때문에 SMI 포맷이 문제가 될 이유가 없었다. 그러나 이후 SMI 포맷은 업데이트가 전혀 없었고, 미디어 플레이어도 업데이트되면서 지원은 하지만 SMI 자막을 켜는 옵션이 갈수록 숨겨지는 방향으로 갔다. 이렇게 거의 15년 넘게 끌어오다가 Windows 10이 나오면서 윈도우 미디어 플레이어가 업데이트 없이 보조 프로그램으로 격하되었고, 대체제로 나온 Movies & TV 앱은 SMI를 아예 지원하지 않는다. 즉, MS에서도 완전히 버린 포맷이 되었다.
한국에서 가장 널리 쓰이는 곰플레이어는 srt 자막 지원이 엉망이기 때문에 멀쩡한 srt 자막을 받고도 smi로 자막 양식을 변환하는 사람마저 있다. 팟플레이어는 제대로 지원하지만 곰플레이어가 워낙 많이 퍼졌기 때문에 일어나는 현상. 현재는 팟플레이어 사용자가 많아져서 그나마 나아진 편.[4]

5. 호환성


2016년 1월 기준.

SAMI 지원[5]
자막색상
한글 표시
일본 한자 표시
ruby 태그
퀘냐 및 신다린 표기
팟플레이어 (Windows)
O
O
O
O
O
O
MPC-HC
O
O
O
X
X
X
VLC (Windows)
O
O
O[6]
X
X
X
mpv (Windows)
O
O
O
O
X
X
nPlayer (iOS/Android)
O
O
O
O
O
X
IINA (macOS)
O
O
O
O
X
X
QuickTime Player (macOS)
X
X
X
X
X
X
Windows Media Player (Windows)
O[7]
O
O
O
O
X
유튜브 자막 업로드[8]
O
O
O
O
X
O

6. 참고할 만한 사이트


MSDN 문서
SMI와 SRT의 차이를 설명
SMI의 문제점들
영문 위키피디아 SAMI항목
SMI와 SRT간의 온라인 변환툴

[1] 불암콩콩코믹스의 작가인 최의민의 형. 배틀필드 온라인의 개발자이기도 하다.[2] 예를 들어 플레이어 자체에 기본 코덱이 내장돼 있어 상용 코덱을 제외하고는 코덱 설치 없이 동영상을 볼 수 있었고, 오버레이 자막을 지원한다거나 저사양에도 잘 돌아간다거나 지금 보면 당연한 기능들이지만 그 당시에는 사사미가 유일하게 지원하던 기능이었다.[3] 프로그램에 따라서는 BOM을 붙여야 정상 인식하는 경우도 있다. 메모장의 경우 BOM을 무조건 붙이며, Notepad++ 사용시 BOM을 붙이거나 없애는 것이 가능하다.[4] 곰플레이어는 고화질 영상을 제대로 돌리지 못하기 때문. 게다가 애드웨어 설치 유도도 갈수록 심해진다.[5] <font, u, i, b>, &nbsp; 등의 모든 SAMI 관련 기본 스크립트.[6] 자막 인코딩 기본값이 Windows-1252(서유럽어)로 되어 있다. 이 부분을 SAMI 파일 인코딩에 맞춰 설정하면 잘 나온다. 대부분 EUC-KR, UTF-8로 설정 시 정상적으로 한글이 출력된다. 지원을 안 하는 게 아니라는 점을 유념하자.[7] 텍스트 절대 크기 태그까지 그대로 받아들이는 탓에 자막 글씨가 작게 나오는 경우가 더러 있다. 이 경우 해당 태그를 삭제해주면 된다. 참고로 다른 플레이어들은 절대 크기 태그는 아예 무시하고 상대 크기로만 처리한다.[8] 한국인 유튜버가 많아서 그런지 SAMI도 지원한다.

분류