반응형

SRT나 ASS 등 다양한 자막 포맷이 있지만, 여전히 우리나라에서 널리 사용되는 자막 포맷은 SAMI이다.

태생적인 기능의 한계나 형식의 불명확함 등의 약점에도 불구하고, 워낙에 널리 사용되어 온 포맷이다.

 

<SAMI>

<HEAD>
<TITLE>SAMI Example</TITLE>

<SAMIParam>
  Media {cheap44.wav}
  Metrics {time:ms;}
  Spec {MSFT:1.0;}
</SAMIParam>

<STYLE TYPE="text/css">
<!--
  P { font-family: Arial; font-weight: normal; color: white; background-color: black; text-align: center; }

  #Source {color: red; background-color: blue; font-family: Courier; font-size: 12pt; font-weight: normal; text-align: left; }

  .ENUSCC { name: English; lang: en-US ; SAMIType: CC ; }
  .FRFRCC { name: French;  lang: fr-FR ; SAMIType: CC ; }
-->
</STYLE>

</HEAD>

<BODY>

<!-- Open play menu, choose Captions and Subtiles, On if available -->
<!-- Open tools menu, Security, Show local captions when present -->

<SYNC Start=0>
  <P Class=ENUSCC ID=Source>The Speaker</P>
  <P Class=ENUSCC>SAMI 0000 text</P>

  <P Class=FRFRCC ID=Source>Le narrateur</P>
  <P Class=FRFRCC>Texte SAMI 0000</P>
</SYNC>

<SYNC Start=1000>
  <P Class=ENUSCC>SAMI 1000 text</P>
  <P Class=FRFRCC>Texte SAMI 1000</P>
</SYNC>

<SYNC Start=2000>
  <P Class=ENUSCC>SAMI 2000 text</P>
  <P Class=FRFRCC>Texte SAMI 2000</P>
</SYNC>

<SYNC Start=3000>
  <P Class=ENUSCC>SAMI 3000 text</P>
  <P Class=FRFRCC>Texte SAMI 3000</P>
</SYNC>

</BODY>
</SAMI>

 

SAMI 포맷은 이제 나온지 25년이 되어가는(1998년 6월 25일에 첫 공개) 포맷이다.

MS가 공개한 이 포맷은 아래에서 볼 수 있듯이 HTML에 여러모로 기반을 두었다.

 

 

이러다보니, 규격에는 명시되어 있지 않지만[각주:1], 코드 페이지로 ANSIUTF-8을 사용하는 것이 타당하다.

그리고, 우리나라에서  구할 수 있는 자막 파일들은 거의 대부분 ANSI를 사용했다. 영화 [아바타]가 나오기 전까지는.

 

[아바타]의 2차 매체가 판매되기 시작하면서 자막에 불만을 가진 고수들이 직접 자막을 제작하기 시작했다.

여기서 다시 ANSI 문서 고유의 문제점인 다국어 표시 기능이 꽝이라는 약점이 부각되었다.

하지만, 자막 제작자들은 간단하게 UTF-16 방식으로 자막을 제작하는 것으로 이 약점을 우회했다.

 

아... 네... UTF-16을 사용하면... 문제가 없긴 하죠... 네...

 

어차피 SAMI의 코드 페이지가 정확히 명시된 것도 아닌데다, 플레이어들이 잘 지원하다보니 별 문제 없이 사용되긴 했다.

하지만, 본질적으로 HTML에서 파생됐다는 점을 생각하면 적어도 UTF-16은 좀 어색한 게 사실[각주:2]이다.

어쨌거나, SAMI가 온라인 전용 포맷도 아니니 이런 건 별 문제가 될 일도 없고...

 

최근에 SRTier에서 SAMI 자막 변환에 실패했다는 댓글이 올라와서 자막을 확인해봤다.

그랬더니 아예 UTF-16은 기본이요, <SYNC> 태그 속성으로 End라는 듣도 보도 못한 것이 사용되고 있었다.

심지어 이 자막은 KMPlayer에서 생성한 것이라고 자랑스럽게(?) 박혀있기까지 했고...

 

 

아니, 자신만의 포맷을 사용하고 싶으면 아예 자막 포맷을 스스로 만들어 쓰던가...

그렇지 않아도 혼란만이 가득한 SAMI 포맷을 이렇게 안드로메다로 보내버리면 어쩌자는 거냐...

 

덧. 고심 끝에 SRTier에서 이 포맷의 자막도 정상적인 형태로 변환하도록 기능을 보강하기는 했음

그런데, 끝 표시가 End인 근거는 뭘까? 누군가가 끝 표시로 Stop을 또 사용하면 그 땐 뭘 어떻게 해야 하지?

 

 

  1. 이게 명시되어있지 않을 정도로 허술한 포맷임 [본문으로]
  2. html/xml 등의 문서는 앞부분을 ASCII 코드로만 읽은 뒤 이 영역에 코드 페이지를 기록해두는 게 국룰이고, 이 과정에서 자연스럽게 UTF-8이 정착됨 [본문으로]
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band