본문으로 바로 가기
SubtitleMatrix

ASS 자막 형식 안내

형식 변환Advanced SubStation Alpha (ASS)

이 형식이 표현할 수 있는 것

텍스트 스타일
글꼴, 색, 외곽선, 그림자
화면 위치 지정
예
가라오케 타이밍
예
자막 블록 안의 줄 바꿈
예
시간축
모든 자막 블록의 시작과 종료 시간
타이밍 해상도
10 ms
시간을 프레임 번호로 저장
아니요
오른쪽에서 왼쪽으로 쓰는 텍스트
예

예시

전형적인 ASS 파일과, 이 사이트가 읽어 낸 내용

파일

[Script Info]
Title: Example
ScriptType: v4.00+
WrapStyle: 0

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
Style: Title,Arial,36,&H0000FFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[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,,Hello there.
Dialogue: 0,0:00:05.00,0:00:08.50,Default,,0,0,0,,{\i1}Italic{\i0} and {\b1}bold{\b0} text.
Dialogue: 0,0:00:09.00,0:00:12.00,Title,,0,0,0,,{\pos(320,240)}Positioned
Dialogue: 0,0:00:13.00,0:00:16.00,Default,,0,0,0,,{\k50}ka{\k30}ra{\k20}o{\k10}ke
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 1,0:00:21.00,0:00:24.00,Default,,0,0,0,,{\an7}Top left

담긴 내용

6 cues, 7 lines of text

  0:00:01.00 → 0:00:04.00
    Hello there.
    [Default]
  0:00:05.00 → 0:00:08.50
    Italic and bold text.   [italic ×1, bold ×1]
    [Default]
  0:00:09.00 → 0:00:12.00
    Positioned
    [Title; \pos 320,240]
  0:00:13.00 → 0:00:16.00
    karaoke   [karaoke ×4]
    [Default]
  0:00:17.00 → 0:00:20.00
    Line one
    Line two
    [Default]
  0:00:21.00 → 0:00:24.00
    Top left
    [Default]

Outside the cues:
  sections   [Script Info], [V4+ Styles], [Events]
  style table  2 — Default (Arial 20), Title (Arial 36)

오른쪽은 변환 결과가 아니라 왼쪽 파일에서 이 사이트가 읽어 낸 것이며, 그 파일을 어떤 형식으로 바꾸든 출발점이 되는 내용입니다.

지저분한 ASS 파일과, 그래도 읽어 낸 내용

파일

[Script Info]
; 一份真实的脏文件:BOM + CRLF + 认不出的覆写码 + Comment + 坏时间码
Title: Dirty sample
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Fonts]
fontname: Arial
!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:01.00,Default,,0,0,0,,这是一条注释,不该变成字幕
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello, world
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\fad(300,300)}Unmodelled override
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,{\an7\pos(320,240)}Both, wrong order
Dialogue: 0,0:00:13.00,0:00:16.5,Default,,0,0,0,,One decimal centisecond
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Soft\nbreak
Dialogue: 0,0:00:xx.00,0:00:24.00,Default,,0,0,0,,Broken timecode

담긴 내용

5 cues, 6 lines of text

  0:00:01.00 → 0:00:04.00
    Hello, world
    [Default]
  0:00:05.00 → 0:00:08.00
    {\fad(300,300)}Unmodelled override
    [Default]
  0:00:09.00 → 0:00:12.00
    Both, wrong order
    [Default; \pos 320,240]
  0:00:13.00 → 0:00:16.50
    One decimal centisecond
    [Default]
  0:00:17.00 → 0:00:20.00
    Soft
    break
    [Default]

Outside the cues:
  sections   [Script Info], [V4+ Styles], [Fonts], [Events]
  style table  1 — Default (Arial 20)
  events     1 Comment: line — stored, never displayed

Reported while reading — repaired or skipped, never silently:
  1 × events whose time codes could not be read (they were left in the file unchanged)

실제 파일에는 BOM, 윈도 줄 바꿈, 시간 코드 앞의 엉뚱한 줄, 읽을 수 없는 시간 코드가 섞여 옵니다. 어느 것도 예외를 던지지 않고, 이해할 수 없는 부분은 조용히 버리지 않고 보고합니다.

Advanced SubStation Alpha (ASS) → 다른 형식으로 변환

각 페이지는 전부 브라우저 안에서 실행됩니다. 라벨은 그 방향에서 무엇을 잃는지 미리 알려 줍니다.

ASS를 SSA로 바꿉니다. 같은 계열이라 잃는 정보가 없고 스타일과 위치까지 그대로 옮겨집니다.

이 방향에서는 아무것도 잃지 않습니다. 원본 형식의 모든 기능이 대상 형식에 갈 곳이 있습니다.

이 형식으로 변환하기

ASS(Advanced SubStation Alpha)는 글자가 화면에 어떻게 보이는지까지 담는 자막 형식입니다. 이 페이지는 ASS가 무엇을 저장하고 무엇을 저장하지 못하는지 정리한 기준 문서이자, ASS를 다른 11개 형식으로 바꾸는 페이지들의 입구입니다.

이 페이지 위의 표가 전부입니다. 어떤 행이 '아니요'라면 그 항목은 다른 형식에서 ASS로 들어올 때 실제로 사라지는 것이고, 아래에 링크된 변환 페이지마다 파일을 열기 전에 그 목록을 먼저 보여 줍니다.

ASS는 스타일 표([V4+ Styles])와 대사 줄(Dialogue:), 그리고 큐 밖의 [Script Info]와 선택적인 [Fonts]·[Graphics]를 담습니다. 시간은 0:00:01.00처럼 1/100초 단위로 적고, 굵게·기울임·색·위치는 본문 안의 {\i1}·{\pos(320,240)} 같은 오버라이드 코드로 지정합니다.

모든 변환은 브라우저 안에서 실행됩니다. 업로드도 가입도 없고, NDA 자료나 환자 기록, 방송 금지 해제 전 자료를 다룰 때 이 점이 중요합니다.

자주 묻는 질문

ASS 파일은 어떤 형식인가요?

.ass는 글자의 모양까지 신경 쓰는 자막 형식입니다. 팬서브·애니메이션, 그리고 플레이어 기본값을 거부하는 작업 대부분이 씁니다. Aegisub, mpv, VLC와 화면에 굽는 도구가 읽고, 파일에는 스타일 표와 큐별 오버라이드 태그, 카라오케 타이밍이 들어 있습니다.

ASS는 스타일을 저장하나요?

네, 다른 형식보다 많이 저장합니다. 글꼴·크기·색·외곽선·여백의 스타일 표에 더해 본문 안의 코드로 한 줄만 굵게·색깔·위치 지정을 할 수 있고, 카라오케 타이밍도 담깁니다. 여기서는 그 표가 [V4+ Styles] 구역이고, 큐별 스타일은 Dialogue: 본문 안의 {\i1} 같은 태그로 적힙니다.

ASS의 모든 큐에 시작과 끝이 다 있나요?

네. ASS에서 한 시점은 0:00:04.13처럼 적고, 1/100초까지가 한계입니다. 값은 정확하며, 큐가 짧거나 길거나 다음 큐와 겹쳐도 형식이 따로 제한하지 않습니다.

ASS를 손실 없이 바꿀 수 있는 형식은 무엇인가요?

SSA입니다. ASS가 표현하는 것은 SSA도 표현합니다. 위 표에서 양쪽이 모두 '예'인 행이 살아남는 기능이고, 나머지 방향은 각 페이지가 자기 손실 목록을 밝힙니다.

ASS 파일이 큐 밖에 담는 것은 무엇인가요?

[Script Info] 전역 설정, 스타일 표, 선택적인 [Fonts]의 글꼴과 [Graphics]의 그림입니다. 이벤트 구역에는 Comment: 줄도 들어갈 수 있는데, 저장되지만 화면에는 나오지 않는 이벤트입니다.

ASS와 SSA는 무엇이 다른가요?

같은 스크립트 언어의 한 판본 차이입니다. ASS는 ScriptType: v4.00+, [V4+ Styles], Layer 열을 쓰고, SSA는 v4.00, [V4 Styles], Marked 열을 씁니다. 색 열 이름도 달라 SSA의 TertiaryColour가 ASS의 OutlineColour에 해당하고, ASS에만 AlphaLevel 열이 있습니다. 변환해도 큐·시간·[Script Info]는 그대로이고 스타일 표만 상대 방언의 열로 다시 쓰입니다.