본문으로 바로 가기
SubtitleMatrix

29.97 자막을 23.976으로

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

옵션

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

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

이 페이지는 29.97 fps 타임라인을 기준으로 세어진 자막 파일을 23.976 타임라인에 올립니다. 모든 타임스탬프에 1.25, 즉 정확히 4분의 5를 곱하므로 파일이 4분의 1 길어집니다. 48초 지점의 cue는 1분이 되고, 서른 분짜리 에피소드의 자막이 24분을 가리키고 있었다면 서른 분으로 돌아옵니다. 두 상자는 이미 채워져 있으니 파일이 다른 기준이라면 값을 바꾸면 됩니다.

원인은 거울상 페이지와 같은 계산을 반대편에서 본 것입니다. 23.976 타임라인에 속한 프레임 번호를 29.97로 나누면 값이 4분의 1만큼 작아집니다. 23.976 나누기 29.97이 0.8이기 때문입니다. 그래서 타임라인 전체가 길이의 5분의 4로 압축되고 모든 자막이 20퍼센트 이르게 나타나며 영화가 진행될수록 점점 더 앞서 나갑니다. 1.25를 곱하는 것은 그 오차를 도로 나눠 내는 일입니다.

어느 방향에 있는지 알아보는 것이 일의 전부이고 증상이 그것을 말해 줍니다. 늦게 흐르고 점점 더 늦어지며 24분 에피소드의 마지막 cue가 30분을 주장하는 자막은 0.8이 필요합니다. 이르게 나타나고 점점 더 앞서며 서른 분짜리 에피소드의 마지막 cue가 24분을 주장하는 자막은 이 페이지가 필요합니다. 두 파일 모두 같은 잘못 나뉜 프레임 번호에서 나왔고 실수의 방향만 다릅니다.

1.25가 정확한 것도 거울상과 같은 이유입니다. 29.97은 30000/1001이고 23.976은 24000/1001이므로 공통인 1001 나누기가 약분되어 29.97 나누기 23.976은 그냥 30000 나누기 24000, 4분의 5가 됩니다. 반올림도 나머지도 없습니다. 각 cue가 화면에서 4분의 1 많은 시간을 받으므로 모든 줄의 읽기 속도가 20퍼센트 내려가고, 이 그룹에서 압박을 더하는 대신 덜어 주는 방향입니다. 파일은 업로드되지 않고 SRT, WebVTT, ASS, SSA, SBV, SMI, MicroDVD, TTML, JSON, CSV를 실제 형식대로 읽으며 시즌 전체를 한 번에 처리합니다.

예시

4분의 1을 그대로

입력

1
00:00:01,000 --> 00:00:03,000
Hello there.

2
00:01:00,000 --> 00:01:02,000
One minute in.

결과물

1
00:00:01,250 --> 00:00:03,750
Hello there.

2
00:01:15,000 --> 00:01:17,500
One minute in.

1.25는 29.97을 23.976으로 나눈 값입니다. 1초의 cue는 250 ms, 1분의 cue는 15,000 ms를 얻습니다. 0에서 60배 멀면 60배 움직입니다. 두 경계에 모두 곱해지므로 2초 줄은 2.5초를 받고, 그 늘어난 여유가 읽기 속도 개선의 출처입니다.

흐른 시간의 4분의 1만큼 늦어짐

입력

1
00:08:00,000 --> 00:08:02,000
Eight minutes in.

2
00:24:00,000 --> 00:24:02,000
Twenty-four minutes in.

결과물

1
00:10:00,000 --> 00:10:02,500
Eight minutes in.

2
00:30:00,000 --> 00:30:02,500
Twenty-four minutes in.

8분 지점이 2분, 24분 지점이 6분 늦어집니다. 두 경우 모두 흐른 시간의 4분의 1이며, 오프셋이 아니라 비율 문제의 모습입니다. 변환 후 확인할 것은 마지막 cue입니다. 새 타임스탬프에서 파일을 열면 그 줄이 있어야 하고, 있으면 그 앞의 모든 것도 맞습니다.

프레임은 그대로, 선언이 움직입니다

입력

{1}{1}29.97
{300}{360}Hello

결과물

{1}{1}23.976
{300}{360}Hello

MicroDVD는 프레임으로 세고 프레임 자체는 틀리지 않았습니다. 틀린 것은 나눈 레이트였습니다. 300번 프레임은 29.97에서 선언되면 10초로 읽혀 이르게 되고, 23.976에서 선언되면 12.5초로 읽혀 제자리에 옵니다. 그래서 첫 줄만 고치고 프레임 번호는 하나도 건드리지 않습니다. 다시 쓰면 4분의 1이 두 번 적용됩니다.

자주 묻는 질문

29.97에서 23.976으로 가는 계수가 정확히 1.25인 이유는 무엇인가요?

두 레이트가 모두 1001로 나눈 값이기 때문입니다. 29.97은 30000/1001, 23.976은 24000/1001이므로 하나를 다른 하나로 나누면 1001이 약분되어 30000 나누기 24000, 4분의 5가 남습니다. 반올림도 근사도 없어서 48초 지점의 cue가 정확히 1분에 놓입니다.

자막이 너무 이르게 나타나고 점점 더 이릅니다. 이 쌍이 맞나요?

이른 정도가 흐른 시간의 4분의 1인지 확인하세요. 8분 지점에서 2분, 24분 지점에서 6분, 두 시간 영화에서 24분 이르다면 정확히 이 쌍입니다. 거울상 페이지는 반대 증상을 맡습니다. 늦게 흐르고 점점 더 늦어지는 자막에는 1.25가 아니라 0.8이 필요합니다.

이 쌍으로 NTSC 영상에서 PAL로 바로 갈 수 있나요?

아니요, 이 페이지를 거치는 것이 일부러 돌아 가는 길입니다. 29.97에서 25는 1.19880이고 그런 페이지는 없습니다. 29.97은 그림의 재생 속도가 아니라 신호의 레이트이고 그 안의 필름은 상영 시간을 그대로 둔 반복 프레임으로 채워지기 때문입니다. NTSC 타임라인에서 PAL로 가는 정직한 길은 먼저 필름 레이트로 돌아오는 이 변환이고 그다음 23.976에서 25입니다.

영상이 29.97인데 자막이 맞아 보입니다. 이 페이지가 망치나요?

망칩니다. 다른 페이지의 함정과 거울상입니다. NTSC 신호에 실린 필름에는 프레임을 반복하되 상영 시간은 바꾸지 않는 풀다운이 적용되므로 그 영상에 맞춘 파일은 이미 정확합니다. 프레임 번호가 잘못된 레이트로 나뉜 파일만 변환이 필요하고, 맞는 파일에 1.25를 곱하면 모든 자막이 4분의 1 늦어집니다.

타임라인이 4분의 1 길어지면 cue 길이와 읽기 속도는 어떻게 되나요?

모든 cue가 늦어지는 것과 함께 길이의 25퍼센트를 더 받습니다. 2초 줄은 2.5초를 받고 단어는 그대로입니다. 그래서 각 줄의 읽기 속도가 20퍼센트 내려가고, 이 그룹에서 파일의 압박을 더하는 대신 덜어 주는 둘 중 하나가 됩니다. 다른 하나는 50에서 25로 반으로 줄이는 쌍입니다.

어떤 작업 방식이 파일을 늦지 않고 이르게 만드나요?

컨테이너의 레이트를 그림의 레이트로 취급한 방식입니다. NTSC는 29.97을 싣기 때문에 영상에서 그 숫자를 읽어 프레임 번호를 그것으로 나누는 도구는 신호 안의 필름을 과소 계산합니다. 필름 자체는 23.976으로 돌고 풀다운은 빈자리를 채운 것뿐이기 때문입니다. 해법은 그림이 실제로 도는 레이트를 선언하는 것이고 이 페이지가 그 일을 합니다. 29.97을 먼저, 23.976을 나중에 넣습니다.

관련 도구