ASS·SSA 자막이란

애니메이션 자막에서 자주 보이는 .ass 파일입니다. SRT 가 "언제부터 언제까지, 무슨 글자" 만 적는다면 ASS 는 어떤 글꼴로, 무슨 색으로, 화면 어디에 까지 적습니다. 그래서 바꿀 때 잃는 것이 생깁니다.

급하면 이것만. 플레이어가 .ass 를 못 열면 자막 변환기에 놓고 자막 포맷을 SRT 로 바꾸세요. 시각과 글자, 기울임·굵게·밑줄은 그대로 옮겨 가고 글꼴·색·위치는 빠집니다. 대사 자막이면 대개 문제없습니다.

이름이 둘인 이유

SSA(SubStation Alpha)가 먼저입니다. 1990년대 후반 같은 이름의 자막 제작 프로그램이 쓰던 포맷이고, 확장자는 .ssa 입니다. ASS(Advanced SubStation Alpha)는 그 확장판으로 스타일과 효과가 크게 늘었습니다. 확장자는 .ass, 파일 안에는 ScriptType: v4.00+ 라고 적혀 있습니다.

지금 쓰이는 건 사실상 ASS 쪽입니다. 해외 팬서브(fansub) 판에서 표준처럼 자리 잡았고, 가라오케 자막처럼 글자가 한 음절씩 색이 바뀌는 효과도 여기서 나옵니다.

파일이 어떻게 생겼나

섹션 세 개로 나뉩니다.

[Script Info]
ScriptType: v4.00+
PlayResX: 1920
PlayResY: 1080

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, ... , Alignment, MarginV
Style: Default,Noto Sans KR,54,&H00FFFFFF,...,2,40

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,안녕하세요
Dialogue: 0,0:00:05.50,0:00:08.20,Default,,0,0,0,,{\i1}속마음입니다{\i0}
섹션하는 일
[Script Info] 해상도 기준값 등 파일 전체 설정. PlayResX/Y 는 위치 좌표의 기준 화면 크기입니다
[V4+ Styles] 글꼴·크기·색·테두리·정렬을 이름 붙여 모아 둡니다. 대사용, 간판용, 노래용처럼 여러 개를 둡니다
[Events] 실제 자막. Dialogue: 한 줄이 자막 하나입니다

Dialogue: 줄은 쉼표로 칸이 나뉘고 마지막 칸이 본문입니다. 본문 안에 쉼표가 있어도 괜찮은 이유가 그것입니다 — 파서는 앞의 아홉 칸만 세고 나머지는 전부 본문으로 봅니다.

시각은 1/100초까지

ASS 의 시각은 0:00:01.00 꼴입니다. 시는 한 자리, 소수점 아래는 두 자리입니다. SRT·WebVTT·SMI 가 1/1000초까지 적는 것과 다릅니다.

그래서 SRT → ASS 로 바꾸면 밀리초가 반올림됩니다 — 00:00:03,504 가 0:00:03.50 이 됩니다. 사람 눈으로는 구분되지 않는 차이지만, 왕복해서 바꾸면 값이 정확히 돌아오지는 않습니다.

override 태그 — 중괄호 안의 것

본문 중간에 {\…} 가 끼어 있으면 그게 override 태그입니다. 그 자리부터 스타일을 덮어씁니다.

태그뜻SRT 로 가면
{\i1}…{\i0}기울임 켜고 끄기 <i>…</i> 로 옮겨 갑니다
{\b1} {\u1}굵게 · 밑줄 <b> <u> 로 옮겨 갑니다
{\pos(960,120)}화면의 정확한 좌표에 배치 사라집니다 — SRT 에 자리가 없습니다
{\an8}화면 위쪽 정렬사라집니다
{\c&H00FFFF&}글자 색 (BGR 순서입니다)사라집니다
{\fad(200,200)}페이드 인·아웃사라집니다
{\k50}가라오케 — 음절 단위 색 변화사라집니다
\N줄바꿈진짜 줄바꿈이 됩니다

자막 변환기가 옮기는 것은 네 포맷이 모두 표현할 수 있는 것뿐입니다 — 시각, 글자, 기울임·굵게·밑줄. 나머지는 SRT·SMI·WebVTT 에 담을 자리가 아예 없어서 버립니다. 반대로 SRT 의 <i> 는 ASS 로 갈 때 {\i1} 로 돌아갑니다.

글꼴이 없으면 모양이 달라집니다

ASS 는 글꼴을 이름으로 적어 둡니다 — Fontname: Noto Sans KR. 그 글꼴이 재생하는 기기에 없으면 플레이어가 아무거나 대신 씁니다. 자막이 화면 밖으로 삐져나오거나 줄이 겹쳐 보이는 일이 그래서 생깁니다.

제작자가 글꼴을 파일 안에 넣어 둔 경우도 있지만([Fonts] 섹션), 이걸 읽어 주는 플레이어는 많지 않습니다. 영상 파일(MKV) 안에 자막과 글꼴을 같이 넣는 쪽이 일반적입니다.

언제 바꾸고, 언제 그냥 두나

상황어떻게
PC 에서 VLC·mpv·PotPlayer 로 본다 그냥 두세요. ASS 를 제대로 그려 줍니다
TV·셋톱박스·USB 재생 SRT 로 바꾸세요. ASS 지원이 없거나 엉망입니다
간판·효과 자막이 화면을 채우는 애니메이션 바꾸면 밋밋해집니다. 가능하면 ASS 그대로 보세요
대사 위주 드라마·영화 SRT 로 바꿔도 잃는 게 거의 없습니다
유튜브·영상 편집 프로그램에 올린다 SRT 나 WebVTT 를 요구하는 경우가 대부분입니다

바꾸는 순서

  1. 자막 변환기에 .ass 또는 .ssa 를 끌어다 놓습니다.
  2. 행에 ASS/SSA · 자막 N개 가 뜨는지 봅니다. 개수가 0 이면 원본 인코딩을 잘못 읽은 것입니다 — 그 행에서 직접 고르세요.
  3. 자막 포맷에서 SRT (SubRip) 를 고릅니다.
  4. 대상 인코딩은 UTF-8(BOM 없는 것)이 안전합니다. ASS 는 UTF-8 로 돌아다니는 경우가 많아 그대로 두면 됩니다.
  5. 전체 변환 → 저장. 확장자도 .srt 로 바뀝니다.

자막 변환기 열기

자주 묻는 것

.ass 와 .ssa 는 뭐가 다른가요?

SSA 가 구버전, ASS 가 확장판입니다. 구조는 거의 같아서 변환기는 둘을 같은 것으로 다룹니다. 차이는 스타일 섹션의 이름([V4 Styles] 대 [V4+ Styles])과 쓸 수 있는 효과의 범위 정도입니다.

SRT 를 ASS 로 바꾸면 예뻐지나요?

아니요. 없던 꾸밈이 생기지는 않습니다. 기본 스타일 하나로 감싼 ASS 파일이 될 뿐입니다. ASS 로 내보내는 것이 쓸모 있는 경우는 ASS 만 받는 편집 도구에 넣을 때 정도입니다.

자막이 화면 위쪽에 떠 있던 게 아래로 내려왔습니다

{\an8} 이나 {\pos()} 로 지정했던 위치가 SRT 에 담기지 않아서입니다. SRT 에는 "화면 어디" 라는 개념 자체가 없고 플레이어가 정한 자리(보통 아래 가운데)에 그립니다. 위치를 살려야 하면 ASS 를 그대로 쓰셔야 합니다.

중괄호가 글자로 보입니다

{\pos(…)} 같은 태그가 화면에 그대로 찍힌다면, 플레이어가 ASS 를 이해하지 못하고 텍스트로만 읽고 있는 것입니다. 이름만 .srt 로 바꿔 놓은 ASS 파일일 때도 같은 증상이 납니다. 내용을 제대로 변환해야 합니다 — 확장자만 바꾸면 안 되는 이유는 SMI 쪽 글에 같이 적어 두었습니다.

소수점 단위로 싱크가 안 맞습니다

ASS 는 1/100초까지만 적을 수 있어 밀리초 단위 미세 조정이 보존되지 않습니다. 그 정도 차이는 눈에 보이지 않으니 신경 쓰지 않아도 됩니다. 눈에 띄게 어긋난다면 싱크 문제이니 자막 싱크 맞추는 법을 보세요.

더 읽을 거리