애니메이션 자막에서 자주 보이는 .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: 줄은 쉼표로 칸이 나뉘고 마지막 칸이 본문입니다.
본문 안에 쉼표가 있어도 괜찮은 이유가 그것입니다 — 파서는 앞의 아홉 칸만 세고
나머지는 전부 본문으로 봅니다.
ASS 의 시각은 0:00:01.00 꼴입니다. 시는 한 자리, 소수점 아래는
두 자리입니다. SRT·WebVTT·SMI 가 1/1000초까지 적는 것과 다릅니다.
그래서 SRT → ASS 로 바꾸면 밀리초가 반올림됩니다 —
00:00:03,504 가 0:00:03.50 이 됩니다.
사람 눈으로는 구분되지 않는 차이지만, 왕복해서 바꾸면 값이 정확히 돌아오지는
않습니다.
본문 중간에 {\…} 가 끼어 있으면 그게 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 를 요구하는 경우가 대부분입니다 |
.ass 또는 .ssa 를
끌어다 놓습니다.ASS/SSA · 자막 N개 가 뜨는지 봅니다. 개수가 0 이면
원본 인코딩을 잘못 읽은 것입니다 — 그 행에서 직접 고르세요.SRT (SubRip) 를 고릅니다.UTF-8(BOM 없는 것)이 안전합니다.
ASS 는 UTF-8 로 돌아다니는 경우가 많아 그대로 두면 됩니다..srt 로 바뀝니다.
SSA 가 구버전, ASS 가 확장판입니다. 구조는 거의 같아서 변환기는 둘을 같은
것으로 다룹니다. 차이는 스타일 섹션의 이름([V4 Styles] 대
[V4+ Styles])과 쓸 수 있는 효과의 범위 정도입니다.
아니요. 없던 꾸밈이 생기지는 않습니다. 기본 스타일 하나로 감싼 ASS 파일이 될 뿐입니다. ASS 로 내보내는 것이 쓸모 있는 경우는 ASS 만 받는 편집 도구에 넣을 때 정도입니다.
{\an8} 이나 {\pos()} 로 지정했던 위치가 SRT 에
담기지 않아서입니다. SRT 에는 "화면 어디" 라는 개념 자체가 없고 플레이어가
정한 자리(보통 아래 가운데)에 그립니다. 위치를 살려야 하면 ASS 를 그대로
쓰셔야 합니다.
{\pos(…)} 같은 태그가 화면에 그대로 찍힌다면, 플레이어가 ASS 를
이해하지 못하고 텍스트로만 읽고 있는 것입니다. 이름만
.srt 로 바꿔 놓은 ASS 파일일 때도 같은 증상이 납니다. 내용을
제대로 변환해야 합니다 —
확장자만 바꾸면 안 되는 이유는 SMI 쪽 글에
같이 적어 두었습니다.
ASS 는 1/100초까지만 적을 수 있어 밀리초 단위 미세 조정이 보존되지 않습니다. 그 정도 차이는 눈에 보이지 않으니 신경 쓰지 않아도 됩니다. 눈에 띄게 어긋난다면 싱크 문제이니 자막 싱크 맞추는 법을 보세요.