본문으로 바로 가기
SubtitleMatrix

ASS를 MicroDVD로 변환

형식 변환Advanced SubStation Alpha (ASS)
또는 자막 텍스트를 붙여넣으세요

옵션

타이밍을 어떤 프레임 레이트 기준으로 세는지 정합니다. 형식 안내 페이지에서는 MicroDVD가 이 값을 필요로 합니다. 시간을 프레임 번호로 저장하기 때문입니다. 프레임 레이트 페이지에서는 이 파일이 어느 프레임 레이트를 기준으로 만들어졌는지, 즉 자막을 만든 판본의 값을 뜻하며, 페이지의 두 번째 상자에는 이 자막을 사용할 영상의 프레임 레이트를 넣습니다. 흔히 쓰는 값은 23.976, 24, 25, 29.97, 30, 50, 59.94, 60입니다. 잘못 넣으면 시간축 전체가 어긋나고, 프레임 레이트 페이지에서는 고정된 양이 아니라 비율로 어긋납니다.

이 변환에서 달라지는 것

5가지가 버려지거나 결정이 필요합니다

  • 스타일

    모든 스타일(굵게, 기울임, 색, 외곽선, 그림자)

  • 위치

    화면 위치 지정(모든 자막 블록이 기본 위치로 돌아갑니다)

  • 가라오케

    가라오케 타이밍(음절 단위 강조)

  • 프레임 레이트

    이 형식은 시간을 프레임 번호로 저장합니다 — 타이밍이 입력한 프레임 레이트에 따라 달라집니다

  • 형식 고유 내용

    원본 형식이 자막 블록 밖에 두는 내용(자막 블록이 아닌 구획, 머리말 텍스트, 자막 블록별 설정, 주석 처리된 이벤트) — 대상 형식에는 들어갈 자리가 없습니다

이 목록은 불러온 특정 파일이 아니라 두 형식의 기능 행렬에서 나옵니다. 어떤 파일은 형식이 허용하지만 행렬이 모델링하지 않는 기능을 쓰고 있다면 더 많이 잃을 수 있습니다.

이 페이지는 ASS 스크립트를 MicroDVD로 바꿉니다. MicroDVD는 시각 대신 프레임 번호 쌍으로 자막을 저장하고, 첫 줄에 프레임 레이트를 선언합니다. 그래서 이 변환에는 프레임 레이트 옵션이 필요합니다.

ASS의 0:00:01.00은 프레임 레이트 25에서 {25}가 되고, 0:00:08.50은 {213}이 됩니다. 두 줄짜리 큐는 |로 이어진 한 줄이 됩니다. 시각을 프레임으로 나누며 반올림이 생기므로 영상의 프레임 레이트를 정확히 넣어야 합니다.

사라지는 것은 스타일, 화면 위치, 카라오케 타이밍, 프레임 레이트(파일에 시각이 아니라 프레임만 남으므로), cue 모델 밖의 구성입니다. 글자와 큐 순서는 남습니다.

여러 파일을 넣으면 순서대로 처리되고 중간에 취소할 수 있으며 ZIP 하나로 내려옵니다. 변환은 브라우저 안에서 실행됩니다.

MicroDVD는 프레임 번호로 시간을 적으므로, 자막을 붙일 영상의 프레임 레이트가 23.976·25·29.97 중 무엇인지 먼저 확인해야 합니다. 잘못 넣으면 몇 초씩 어긋납니다.

예시

전형적인 ASS 파일을 MicroDVD로 변환

입력

[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

결과물

{1}{1}25
{25}{100}Hello there.
{125}{213}Italic and bold text.
{225}{300}Positioned
{325}{400}karaoke
{425}{500}Line one|Line two
{525}{600}Top left

이 출력에서 빠진 것: 스타일, 위치, 카라오케, 프레임 레이트, 형식 고유 구성. 나머지는 줄 단위로 일치합니다.

같은 변환을 지저분한 입력으로

입력

[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

결과물

{1}{1}25
{25}{100}Hello, world
{125}{200}{\fad(300,300)}Unmodelled override
{225}{300}Both, wrong order
{325}{413}One decimal centisecond
{425}{500}Soft|break

실제 파일에 흔한 손상입니다. 줄 바꿈이 섞이고, 공백이 남고, 필드가 비어 있습니다. 위의 깔끔한 예와 비교해 해석기가 무엇을 용서하는지 보세요.

자주 묻는 질문

ASS를 MicroDVD로 바꿀 때 프레임 레이트는 왜 필요한가요?

MicroDVD는 자막을 시계 시각이 아니라 프레임 번호 두 개로 저장합니다({103}{175}). 그래서 ASS의 0:00:01.00을 프레임으로 환산할 기준이 필요하고, 페이지의 프레임 레이트 옵션이 그 일을 합니다. 영상의 프레임 레이트와 다르면 뒤로 갈수록 어긋납니다.

ASS의 스타일·위치·카라오케는 MicroDVD에서 어떻게 되나요?

모두 사라집니다. 스타일 표와 {\i1}·{\pos}·{\k} 같은 코드는 MicroDVD에 자리가 없어 각 줄이 일반 텍스트로 적힙니다. 글자와 큐 순서는 남습니다.

MicroDVD 출력의 첫 줄은 무엇인가요?

{1}{1}25처럼 프레임 레이트 선언이 첫 줄에 들어갑니다. 그 아래 각 줄이 {시작}{끝}텍스트 형태가 되고, 두 줄짜리 큐는 |로 이어 한 줄로 적힙니다.

ASS의 0:00:08.50은 MicroDVD에서 어떻게 되나요?

프레임 레이트 25 기준으로 5.00초는 125프레임, 8.50초는 213프레임이 되어 5.00초에서 8.50초까지의 큐는 {125}{213}처럼 적힙니다. 시각을 프레임으로 나누는 과정에서 소수점 이하가 반올림되므로, 프레임 레이트가 정확할수록 원본에 가깝습니다.

Comment: 줄과 [Script Info]는 MicroDVD에 들어가나요?

아니요. Dialogue: 줄만 자막이 됩니다. [Script Info](제목 포함), 스타일 표, Comment: 줄, [Fonts]·[Graphics]의 내장 글꼴과 그림은 모두 빠집니다.

MicroDVD에는 큐 번호가 있나요?

없습니다. 각 줄이 프레임 번호 쌍으로 시작할 뿐 번호 매기기는 하지 않습니다. ASS 큐 하나가 MicroDVD 줄 하나가 되고, 순서는 시작 시간 기준으로 정렬됩니다.

두 줄짜리 ASS 큐는 MicroDVD에서 어떻게 나오나요?

| 하나로 이어진 한 줄이 됩니다. MicroDVD가 줄 바꿈을 그렇게 적기 때문이며, 재생기에서는 두 줄로 표시됩니다.

MicroDVD를 다시 ASS로 바꿀 수 있나요?

가능하지만 MicroDVD→ASS는 프레임 레이트와 정밀도 손실을 보고합니다. 프레임 번호를 다시 시각으로 환산해야 하고, 이 페이지에서 버린 스타일·위치·카라오케는 기록이 없어 돌아오지 않습니다.

ASS 큐의 순서는 MicroDVD에서 유지되나요?

네. 시작 시간이 빠른 순으로 정렬됩니다. 원본이 순서를 벗어나 있었다면 출력에서 바로잡히며, 이것은 의도된 구조 변경입니다.

ASS에서 만든 MicroDVD의 인코딩은 무엇인가요?

UTF-8, 유닉스 줄 바꿈, BOM 없음입니다. 입력 ASS의 인코딩과 무관하며, 읽는 과정에서 디코딩이 일어나면 결과 패널이 알려 줍니다.

관련 도구