본문으로 바로 가기
SubtitleMatrix

자막 프레임 레이트 변환

타이밍프레임 레이트 변환
또는 자막 텍스트를 붙여넣으세요

옵션

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

이 자막을 실제로 재생할 영상, 즉 자막을 사용할 판본의 프레임 레이트입니다. 첫 번째 상자를 이 값으로 나눈 배율이 적용되므로 24에서 25로 가면 0.96이 됩니다. 영화가 PAL에서 4% 빨라지고 100분짜리 장편이 96분 테이프에 들어가는 셈입니다. 두 상자를 거꾸로 넣으면 시간축 전체가 반대 방향으로 같은 만큼 어긋납니다.

프레임 레이트 변환은 자막 타임라인의 속도를 바꾸는 작업입니다. 모든 타임스탬프에 두 프레임 레이트로 계산한 하나의 비율을 곱합니다. 첫 상자는 파일이 기준으로 삼은 레이트, 즉 자막을 만든 판본의 레이트입니다. 둘째 상자는 그 자막을 사용할 판본의 레이트입니다. 비율은 첫째를 둘째로 나눈 값이므로 23.976에서 25로 가면 0.95904가 되어 타임라인 전체가 4.1퍼센트 앞당겨집니다.

이 방향이 도구의 전부이자 가장 자주 틀리는 부분입니다. 나누는 수는 앞으로 재생할 판본이지 지금 가진 판본이 아닙니다. PAL 사례가 가장 이해하기 쉽습니다. 24 fps로 찍은 영화를 25 fps로 재생하면 같은 그림이 4퍼센트 빨라져 100분 장편이 96분 테이프가 됩니다. 따라서 필름 기준 파일은 96으로 압축해야 테이프에 맞고, 같은 파일을 필름 마스터로 되돌릴 때는 104.1667로 늘여야 합니다. 두 레이트를 반대 상자에 넣으면 타임라인이 같은 크기만큼 반대 방향으로 움직이는데, 결과 파일은 여전히 자막 파일처럼 보입니다. 그래서 상자에 라벨이 붙어 있고 하나의 배율 입력란으로 합치지 않았습니다.

자주 만나는 쌍은 정해져 있습니다. NTSC 필름과 PAL의 23.976과 25, 필름 마스터와 PAL의 24와 25, 인터레이스 소재가 두 번 세어진 경우의 50과 25, 프레임을 잘못 센 경우의 23.976과 29.97입니다. 이 그룹의 여섯 페이지가 상자를 대신 채우고 각 쌍이 무엇을 위한 것인지 설명하며, 이 페이지는 나머지 모든 경우를 맡습니다. 두 상자 모두 29.97, 30, 59.94, 60을 포함한 아무 레이트나 받습니다.

MicroDVD .sub 파일은 여기서 유일하게 다르게 동작합니다. 시간값이 시계가 아니라 프레임 번호이기 때문입니다. 다른 레이트로 재생해도 같은 그림은 프레임 번호가 같으므로 변환은 그 번호를 그대로 두고 파일 첫 줄에 선언된 프레임 레이트만 바꿉니다. 나머지 SRT, WebVTT, ASS, SSA, SBV, SMI, TTML, JSON, CSV는 실제 형식대로 읽고 일반 텍스트와 LRC는 끝 시간이 없어 거부합니다. 시즌 전체를 한 번에 처리할 수 있습니다.

예시

상자가 처음 채워진 쌍

입력

1
00:00:02,000 --> 00:00:04,000
Hello there.

2
00:00:30,000 --> 00:00:32,000
Half a minute in.

결과물

1
00:00:01,918 --> 00:00:03,836
Hello there.

2
00:00:28,771 --> 00:00:30,689
Half a minute in.

23.976을 25로 나누면 0.95904이므로 모든 타임스탬프가 값의 95.904퍼센트를 유지합니다. 2초의 cue는 82 ms, 30초의 cue는 1,229 ms 움직입니다. 두 경계에 같은 값이 곱해지므로 cue 길이도 같은 비율로 줄어듭니다.

프레임 번호가 그대로인 이유

입력

{1}{1}25
{50}{100}Hello
{150}{200}World

결과물

{1}{1}24
{50}{100}Hello
{150}{200}World

아무 일도 없는 것처럼 보이지만 프레임 번호는 실제로 움직이지 않았습니다. 다른 레이트로 재생한 같은 그림은 여전히 50, 100, 150, 200번 프레임입니다. 바뀐 것은 형식이 첫 줄에 선언하는 레이트이며, 플레이어는 그 값으로 자막 위치를 옮깁니다.

1분 지점에서 시작하는 파일

입력

1
00:01:00,000 --> 00:01:02,000
Lead-in ends, speech starts.

2
00:02:00,000 --> 00:02:02,000
One minute later.

결과물

1
00:01:02,563 --> 00:01:04,648
Lead-in ends, speech starts.

2
00:02:05,125 --> 00:02:07,211
One minute later.

25를 23.976으로 나눈 1.0427094가 반대 방향이고 0에서부터 적용됩니다. 1분에 있던 첫 cue는 2.5초 뒤로 밀립니다. 리드인도 타임라인의 일부인 침묵이므로 나머지와 함께 늘어납니다.

자주 묻는 질문

두 프레임 레이트 중 첫 상자에는 어느 것을 넣나요?

파일이 기준으로 삼은 레이트, 즉 자막을 만든 판본입니다. 곧 재생할 영상이 아닙니다. 배율은 첫 상자를 둘째로 나눈 값이므로 24 fps용 파일을 25 fps에 쓰려면 0.96이 되고, 같은 파일을 PAL에서 되돌릴 때는 1.0416667이 됩니다. 두 값 모두 혼자서는 의미가 없고 어느 판본에서 왔는지와 함께 있어야 뜻이 통합니다.

목록에 없는 레이트를 직접 넣어도 되나요?

됩니다. 계산 입장에서 두 상자는 자유 입력이고 넣은 값으로 비율을 구하므로 29.97, 30, 48, 59.94, 60이 모두 동작합니다. 이 그룹에 여섯 페이지가 있는 것은 그 쌍이 실무에서 자주 나오고, 쌍을 이름 붙인 페이지가 원인을 설명할 수 있기 때문입니다. 레이트 대신 비율을 안다면 타이밍 그룹의 비율 페이지에 퍼센트를 직접 넣으세요.

프레임 레이트 변환 후 모든 자막이 짧아지는 이유는 무엇인가요?

모든 cue의 두 경계에 같은 비율이 곱해지기 때문입니다. 2초 자막은 0.96에서 1.92초, 0.95904에서 1.918초가 됩니다. 텍스트를 잘라 내는 것이 아니라 타임라인 전체가 더 빠르게 재생되므로 cue가 받는 시간이 줄고, 각 줄의 읽기 속도가 같은 4퍼센트만큼 올라갑니다. PAL로 변환한 파일을 납품하기 전에 확인할 만한 지점입니다.

MicroDVD 파일은 왜 프레임 번호를 유지하나요?

시간값이 프레임 번호이고 그림 자체는 바뀌지 않기 때문입니다. 다른 레이트로 재생해도 같은 장면은 같은 프레임입니다. 변환이 다시 쓰는 것은 첫 줄에 선언된 프레임 레이트이며, 플레이어는 그 값으로 프레임 번호를 초로 환산합니다. 반대로 프레임을 잘못 센 파일은 번호가 실제로 움직여야 하고, 그 경우는 23.976과 29.97 페이지가 맡습니다.

프레임 레이트 쌍마다 페이지가 따로 필요한가요?

아니요, 이 페이지가 어떤 쌍이든 처리합니다. 그룹의 다른 페이지는 두 상자를 채우고 그 쌍을 설명하는 지름길입니다. 필름과 PAL의 24와 25, NTSC 필름과 PAL의 23.976과 25, 프레임 계산 착오의 23.976과 29.97, 두 번 세어진 인터레이스 소재의 50과 25가 있습니다. 그 페이지들에만 있는 기능은 없고 설명하는 상황이 다릅니다.

두 상자에 같은 레이트를 넣으면 어떻게 되나요?

아무 일도 일어나지 않고 도구도 그렇게 알려 줍니다. 비율 1은 항등 변환이므로 파일이 바이트 단위로 그대로 돌아옵니다. 그 자체로 쓸 만한 확인입니다. 두 상자를 같은 값으로 두고 파일을 넣으면 프레임 레이트 계산 없이 파서와 작성기가 그 파일에 하는 일만 보게 됩니다.

관련 도구