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], 코드 페이지로 ANSI나 UTF-8을 사용하는 것이 타당하다.
그리고, 우리나라에서 구할 수 있는 자막 파일들은 거의 대부분 ANSI를 사용했다. 영화 [아바타]가 나오기 전까지는.
[아바타]의 2차 매체가 판매되기 시작하면서 자막에 불만을 가진 고수들이 직접 자막을 제작하기 시작했다.
여기서 다시 ANSI 문서 고유의 문제점인 다국어 표시 기능이 꽝이라는 약점이 부각되었다.
하지만, 자막 제작자들은 간단하게 UTF-16 방식으로 자막을 제작하는 것으로 이 약점을 우회했다.
어차피 SAMI의 코드 페이지가 정확히 명시된 것도 아닌데다, 플레이어들이 잘 지원하다보니 별 문제 없이 사용되긴 했다.
하지만, 본질적으로 HTML에서 파생됐다는 점을 생각하면 적어도 UTF-16은 좀 어색한 게 사실[각주:2]이다.
어쨌거나, SAMI가 온라인 전용 포맷도 아니니 이런 건 별 문제가 될 일도 없고...
최근에 SRTier에서 SAMI 자막 변환에 실패했다는 댓글이 올라와서 자막을 확인해봤다.
그랬더니 아예 UTF-16은 기본이요, <SYNC> 태그 속성으로 End라는 듣도 보도 못한 것이 사용되고 있었다.
심지어 이 자막은 KMPlayer에서 생성한 것이라고 자랑스럽게(?) 박혀있기까지 했고...
아니, 자신만의 포맷을 사용하고 싶으면 아예 자막 포맷을 스스로 만들어 쓰던가...
그렇지 않아도 혼란만이 가득한 SAMI 포맷을 이렇게 안드로메다로 보내버리면 어쩌자는 거냐...
덧. 고심 끝에 SRTier에서 이 포맷의 자막도 정상적인 형태로 변환하도록 기능을 보강하기는 했음
그런데, 끝 표시가 End인 근거는 뭘까? 누군가가 끝 표시로 Stop을 또 사용하면 그 땐 뭘 어떻게 해야 하지?
인텔 Arc A750 설치 삽질기 및 HEVC 인코딩 성능 (1) | 2023.03.26 |
---|---|
자막에 NEL(U+0085), NBSP(U+00A0)이 적용되면... (0) | 2022.09.10 |
인텔이 공개한 SVT-AV1의 성능 테스트 결과 (1) | 2022.04.27 |
아마 영원히 어려울 Exif, ICC Profile 처리... (3) | 2022.01.09 |
ffmpeg으로 VirtualDub과 동일한 무압축 RGB 비디오를 만드는 법 (0) | 2021.11.10 |