SAMI

덤프버전 :

분류

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

Synchronized Accessible Media Interchange

1. 개요[편집]


사용하는 확장자는 .smi 또는 .sami이다.

한국에서 많이 쓰이는 대표적인 자막 파일의 한 형식. 마이크로소프트에서 개발한 포맷으로[1] 원래는 청각 장애인을 위해 개발된 방식이다. 그래서 미디어 플레이어에서 지원할 때도 이 SAMI는 자막(Subtitle)이 아닌 각주(Caption)이라는 명칭으로 들어가 있었다.


2. 형식[편집]


<SAMI>

<HEAD>
<Title>자막 제목</Title>
<STYLE TYPE="text/css">
<!--
P {margin-left:8pt; margin-right:8pt; margin-bottom:2pt; margin-top:2pt;
  text-align:center; font-size:20pt; font-family:arial, sans-serif;
  font-weight:normal; color:White;}
  .KRCC {Name:한국어; lang:ko-KR; SAMIType:CC;}
  .ENUSCC { name: English; lang: en-US ; SAMIType: CC ; }
-->
</STYLE>
</HEAD>

<BODY>

<SYNC Start=0>
<P Class=KRCC>한국어 자막</P>
<P Class=ENUSCC>English Subtitle</P>

<SYNC Start=1000>
<P Class=KRCC>&nbsp;</P>
<P Class=ENUSCC>&nbsp;</P>

<SYNC Start=2000>
<P Class=KRCC><font color="#79F3AE">자막 색상</font></P>
<P Class=ENUSCC><font color="#79F3AE">Font Color</font></P>

</BODY>
</SAMI>

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. 단점[편집]


발표된 이후 아무도 사용하지 않아서 버려진 확장자였으나 포항공대 재학생이던 최의종이 2000년 6월 심심해서 SAMI 파일을 지원하는 사사미라는 동영상 플레이어를 만들었다.#. 이 사람은 불암콩콩코믹스의 작가인 최의민의 형. 배틀필드 온라인의 개발자이기도 하다.

그런데 이 프로그램이 완성도가 꽤 높아서 크게 성공한다. 예를 들어 플레이어 자체에 기본 코덱이 내장돼 있어 상용 코덱을 제외하고는 코덱 설치 없이 동영상을 볼 수 있었고, 오버레이 자막을 지원한다거나 저사양에도 잘 돌아간다거나 지금 보면 당연한 기능들이지만 그 당시에는 사사미가 유일하게 지원하던 기능이었다. 그러면서 SAMI 파일이 국내에 대량으로 퍼졌다.

또 종료 싱크 입력이 필수가 아니기 때문에 상대적으로 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)로 저장해주자. 프로그램에 따라서는 BOM을 붙여야 정상 인식하는 경우도 있다. 메모장의 경우 윈도우 10 19H1 이전 버전까지는 BOM을 무조건 붙이며, 그 이후 버전이나 Notepad++ 사용 시 BOM을 붙이거나 없애는 것이 가능하다.

이렇게 된 이유는 제작사인 마이크로소프트가 SMI 포맷을 버린 것이나 마찬가지이기 때문이다. 1998년에 처음 나왔을 때는 OS 환경이 아직 유니코드가 아니었고, 자막을 제대로 지원하는 소프트웨어가 없었기 때문에 SMI 포맷이 문제가 될 이유가 없었다. 그러나 이후 SMI 포맷은 업데이트가 전혀 없었고, 미디어 플레이어도 업데이트되면서 지원은 하지만 SMI 자막을 켜는 옵션이 갈수록 숨겨지는 방향으로 갔다. 이렇게 거의 15년 넘게 끌어오다가 Windows 10이 나오면서 윈도우 미디어 플레이어가 업데이트 없이 보조 프로그램으로 격하되었고, 대체제로 나온 Movies & TV 앱은 SMI를 아예 지원하지 않는다. 즉, MS에서도 완전히 버린 포맷이 되었다.

한국에서 가장 널리 쓰이는 곰플레이어가 .srt 자막 지원이 엉망이기 때문에 멀쩡한 srt 자막을 받고도 smi로 자막 양식을 변환하는 사람마저 있다. 팟플레이어는 제대로 지원하지만 곰플레이어가 워낙 많이 퍼졌기 때문에 일어나는 현상. HD급 영상이 보편화된 2020년대 들어선 곰플레이어의 고화질 고자 문제와 지나친 애드웨어 광고 유도 때문에 팟플레이어 사용자가 많아져서 그나마 나아진 편이다. 팟플레이어도 광고가 있지만 영상 시작 시 5초 정도 화면 오른쪽 하단에 작게 뜨는 정도라 큰 문제는 되지 않는 편이다.

곰플레이어 등 구세대 미디어 플레이어들의 점유율이 밀리면서 .smi도 슬슬 한국 인터넷 자막계에서 약간 밀리는 듯한 추세인데, 2000년대면 몰라도 이론상으론 자막 제작 프로그램이나 .txt로 바꿀 필요 없이 워드패드만 켜도 빠르게 자막 제작/수정이 가능해진다. 덤으로 제작이 아닌 그냥 인터넷 외국어 자막을 번역하는 경우 그 원본이 되는 외국어 자막은 당연히 전부 srt다.

또한 싱크 맞추는 것도 간편해진 지금은 오히려 단순 카운터+시-분-초-밀리초 타이머식인 .srt에 비해 HTML식에다 싱크를 밀리초(1000밀리초=1초)로만 재야 하는 .smi는 그냥 비교해봐도 알겠지만 상대적으로 작성/수정이 훨씬 피곤하기 때문이다.

물론 번역은 몰라도 제작을 100% 메모장이나 워드패드로만 하는 미친 사람은 적은 편이고 어차피 보통 제작 프로그램을 쓴 다음 태그 등만 메모장으로 추가하는 정도라 실제로는 제작 난이도에 별 차이는 없다.

여담으로 .smi가 작성이 복잡한데도 빠르게 제작되는 것도 제작 프로그램의 공이 크다. 동영상에 맞춰 자막을 넣으면 어차피 전부 자동으로 작성해 주기 때문. 아무튼 srt는 메모장만으로 어떻게 도전해볼 수는 있을 정도로 단순한 데 비해 smi는 프로그램이 강제될 정도로 복잡한 것은 사실이다.

지금 시점에서 호환성을 빼고 봐도 SAMI가 SRT에 비해 가진 장점이래봤자 다중 언어 자막을 한 파일로 묶을 수 있다는 점 정도다. 그런데 한/영 동시자막 등은 그리 수요가 많지도 않고 애니메이션의 오프닝/엔딩에나 써먹는 정도인데 어차피 노래 가사 정도는 그냥 srt에서도 원문-번역문 두 줄로 써도 상관없을 길이다.

더욱이 srt파일은 대부분의 동영상 포맷이 먹싱해서 내장하는 것을 지원하기 때문에 언어가 몇 개이든 상관없이 동영상과 합쳐 하나의 파일로 묶을 수 있고 개중 둘 이상의 언어를 동시 출력하는 것도 가능하다. 즉 자막 파일을 동영상 파일과 굳이 분리 보관해야만 하는 이유가 없다면 하나의 파일로 다중 언어 자막을 지원한다는 장점도 사라져버린다.

5. 호환성[편집]


2016년 1월 기준.


SAMI 지원[2]
자막색상
한글 표시
일본 한자 표시
ruby 태그
퀘냐 및 신다린 표기
팟플레이어 (Windows)
O
O
O
O
O
O
MPC-HC
O
O
O
X
X
X
VLC (Windows)
O
O
O[3]
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[4]
O
O
O
O
X
유튜브 자막 업로드[5]
O
O
O
O
X
O


6. 참고할 만한 사이트[편집]


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


파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는
문서의 r34 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}}에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r34 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)
문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)




파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-03 01:34:46에 나무위키 SAMI 문서에서 가져왔습니다.

[1] 간혹 사사미 플레이어 탄생과 함께 만들어졌다는 말이 도는데 사실이 아니다.[2] <font, u, i, b>, &nbsp; 등의 모든 SAMI 관련 기본 스크립트.[3] 자막 인코딩 기본값이 Windows-1252(서유럽어)로 되어 있다. 이 부분을 SAMI 파일 인코딩에 맞춰 설정하면 잘 나온다. 대부분 EUC-KR, UTF-8로 설정 시 정상적으로 한글이 출력된다. 지원을 안 하는 게 아니라는 점을 유념하자.[4] 텍스트 절대 크기 태그까지 그대로 받아들이는 탓에 자막 글씨가 작게 나오는 경우가 더러 있다. 이 경우 해당 태그를 삭제해주면 된다. 참고로 다른 플레이어들은 절대 크기 태그는 아예 무시하고 상대 크기로만 처리한다.[5] 한국인 유튜버가 많아서 그런지 SAMI도 지원한다.