본문으로 바로 가기
SubtitleMatrix

논드롭 프레임을 드롭으로

타임코드드롭 프레임 타임코드
또는 자막 텍스트를 붙여넣으세요

옵션

30 fps non-drop와 29.97 drop-frame은 같은 시계를 다르게 적고, 이 상자는 파일을 어느 쪽으로 읽고 어느 쪽으로 다시 쓸지를 정합니다. 1시간 지점의 한 자막 블록은 한쪽에서는 01:00:00,000, 다른 쪽에서는 01:00:03,600으로 읽힙니다. 시간당 3.6초 차이는 반올림 오차가 아닙니다. 페이지 제목이 한 방향을 지목하고 이 상자도 그 값만 제시하므로, 받는 파일은 이 페이지가 말하는 그 파일입니다. 텍스트는 달라지지 않습니다. 영상에 맞춰 자막 블록을 다시 맞추지도, 프레임 레이트를 변환하지도 않으며, 매시간 첫 1분 안의 자막 블록은 들어온 그대로 돌아옵니다. 그 구간에서는 버리는 프레임 번호가 없기 때문입니다.

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

이 페이지는 자막 파일의 모든 타임코드를 30 fps 논드롭 프레임 표기에서 29.97 fps 드롭 프레임 표기로 다시 씁니다. 파일을 넣고 실행하면 각 cue의 시작과 끝이 다른 표기로 돌아오고, 대사, cue 번호, cue 순서, 줄바꿈은 파일이 가진 그대로 남습니다. 두 표기는 같은 시계를 다르게 적는 방식이라 파이프라인의 나머지가 쓰는 쪽으로 파일을 맞춰야 합니다.

드롭 프레임은 초당 30개의 라벨을 세되 10분마다를 빼고 매분 두 개를 건너뜁니다. 29.97 fps는 실제로 초당 30프레임을 주지 않으므로 30을 세는 시계는 벽시계보다 조금씩 뒤처지고, 드롭 프레임은 그 두 라벨을 버려 시계를 벽시계에 붙여 둡니다. 한 시간에서 둘은 3.6초 벌어집니다. 논드롭의 01:00:00,000은 드롭 프레임의 01:00:03,600이고, 이 차이는 반올림 오차가 아니라 프로그램이 길어질수록 커져 열 시간이면 36초가 됩니다.

한 시간의 첫 1분 안에서는 아무것도 움직이지 않습니다. 그 구간에는 버려지는 라벨이 없어 두 표기가 같은 숫자를 적기 때문입니다. 이미 30 fps 프레임 눈금 위에 앉은 시계, 예를 들어 00:00:02,000은 그대로 돌아옵니다. 두 눈금 사이에 있는 시계는 가장 가까운 눈금으로 옮겨지고 그 폭은 17밀리초까지입니다. 시계를 타임코드로 읽는 일은 파일 어디서나 프레임 격자에 맞추는 일이므로 첫 1분에서는 그 맞춤만이 움직임을 만듭니다.

여기서 읽는 자막 형식 중 시계가 어느 표기인지 기록하는 필드는 하나도 없습니다. SRT, WebVTT, ASS, SSA, SBV, SMI, MicroDVD, TTML, JSON, CSV는 모두 시각만 적습니다. 그래서 이 페이지는 숫자를 바꾸고, 그 숫자가 어느 표기를 뜻하는지는 파일이 오기 전과 똑같이 파이프라인의 속성으로 남습니다. 파일에 없는 것은 파일에 쓸 수 없고, 그렇지 않은 척하는 것이 사실대로 말하는 것보다 나쁩니다.

이것은 프레임 레이트 변환이 아닙니다. 25 fps 영상에 맞춰진 파일의 간격을 늘이거나 줄이지 않고, cue 사이의 거리는 그대로 두고 적는 방식만 바꿉니다. 간격 자체를 다른 프레임 레이트에 맞춰 다시 잡아야 한다면 그 일만 하는 별개의 페이지가 있습니다. 파일은 브라우저 탭 안에서 읽히고 쓰이며 어느 바이트도 업로드되지 않습니다.

예시

5분 지점의 파일

입력

1
00:05:00,000 --> 00:05:02,000
The room is dark.

2
00:10:00,000 --> 00:10:03,000
A cold night.

결과물

1
00:05:00,333 --> 00:05:02,333
The room is dark.

2
00:10:00,600 --> 00:10:03,600
A cold night.

두 cue가 같은 폭으로 움직이지 않는 것이 이 작업의 전부입니다. 5분 지점에서 드롭 프레임은 라벨 열 개를 버렸으므로 시계가 333 ms 늦게 읽히고, 10분 지점에서는 열여덟 개를 버려 600 ms 늦게 읽힙니다. 대사와 cue 번호는 파일의 것이고 cue마다 두 시각 값만 다시 씁니다.

한 시간 지점의 같은 파일

입력

1
01:00:00,000 --> 01:00:03,000
An hour into the programme.

결과물

1
01:00:03,600 --> 01:00:06,600
An hour into the programme.

한 시간에서 두 표기는 3.6초, 즉 건너뛴 라벨 108개만큼 벌어집니다. 결과 첫 줄이 입력 첫 줄보다 정확히 3600 ms 뒤인지 보면 페이지를 확인할 수 있습니다. cue의 양 끝이 함께 움직이므로 길이는 그대로입니다.

첫 1분 안에 있는 cue

입력

1
00:00:02,000 --> 00:00:04,000
Nothing to re-label yet.

2
00:05:00,000 --> 00:05:02,000
This one does move.

결과물

1
00:00:02,000 --> 00:00:04,000
Nothing to re-label yet.

2
00:05:00,333 --> 00:05:02,333
This one does move.

한 실행에서 첫 cue는 바이트 단위로 그대로 돌아오고 둘째만 움직입니다. 한 시간의 첫 1분 동안에는 버려지는 라벨이 없어 두 표기가 그 60초를 같게 적고, 00:00:02,000은 이미 30 fps 눈금 위에 있습니다. 두 눈금 사이에 있던 시각이라면 가장 가까운 눈금으로 최대 17 ms 옮겨집니다. 움직이지 않은 cue 옆에 움직인 cue가 있는 것은 여기서 정상 결과이지 중간에 멈춘 실행이 아닙니다.

자주 묻는 질문

드롭 프레임 타임코드와 논드롭 타임코드는 무엇이 다른가요?

둘 다 초당 라벨 30개를 세지만 29.97 fps는 실제로 초당 30프레임을 주지 않으므로 30을 그대로 세는 시계는 실제 시간보다 조금씩 뒤처집니다. 드롭 프레임은 10분마다를 빼고 매분이 시작할 때 라벨 두 개를 건너뛰어 그 차이를 없앱니다. 프레임은 버리지 않고 라벨만 버립니다. 기록된 숫자만 보면 둘은 같은 종류로 보이지만 같은 프레임에 대 보면 한 시간에 3.6초 차이가 나고 프로그램이 길수록 더 벌어집니다.

한 시간 지점의 cue가 들어올 때보다 3.6초 늦게 나오는 이유는 무엇인가요?

한 시간 동안 건너뛴 라벨이 3.6초이기 때문입니다. 60분 중 54분에서 매분 라벨 두 개씩, 라벨 하나가 33.37 ms이므로 시간당 108개, 3600 ms입니다. 페이지가 지연을 더하는 것이 아니라 같은 프레임을 다른 표기로 적는 것이고, 그 표기는 프로그램의 그 지점에서 더 늦게 읽힙니다. 양 끝이 같은 폭으로 움직여 cue 길이는 밀리초까지 유지됩니다.

파일 첫 1분이 그대로 돌아온 이유는 무엇인가요?

한 시간의 첫 1분에는 버려지는 라벨이 없어 두 표기가 그 구간을 같게 적기 때문입니다. 00:00:02,000은 양쪽에서 모두 60프레임이고 60프레임은 어느 쪽으로도 같은 숫자로 적힙니다. 차이는 첫 1분 경계에서 시작해 커집니다. 그 구간에서도 시각을 타임코드로 읽으며 프레임 눈금에 맞추므로 00:00:02,010 같은 값은 00:00:02,000으로 돌아옵니다. 프레임 단위 도구에서 복사한 시각은 이미 격자 위에 있어 움직이지 않습니다.

논드롭에서 드롭 프레임으로 가야 하나요, 반대인가요?

파일의 타임코드를 어디서 읽었는지에 달렸습니다. 논드롭으로 설정한 플레이어나 편집기에서 시각을 가져왔고 납품할 파이프라인이 드롭 프레임이라면 이 페이지입니다. 드롭 프레임 표시를 기준으로 찍힌 파일을 뒤의 도구가 논드롭으로 읽는다면 반대 페이지가 필요하고, 그쪽은 같은 3.6초만큼 시계를 다른 방향으로 옮깁니다. 이 파일을 여기서 실행해 한 cue를 비교해 보고 결과 시계가 입력보다 늦게 읽히면 이 방향이 맞았던 것입니다.

이 페이지가 자막의 프레임 레이트를 바꾸나요?

아니요. 아무것도 비율로 늘이거나 줄이지 않습니다. 2초짜리 cue는 2초로 남고 cue 사이의 간격도 그대로입니다. 각 cue가 비율이 아니라 자기 위치에 따라 정해진 폭만큼 움직이기 때문입니다. 25 fps 영상에 맞춘 파일을 29.97로 바꾸는 일도 하지 않습니다. 프레임 레이트 상자는 MicroDVD가 시각 대신 프레임 번호를 저장해 그것 없이는 파일을 읽을 수 없어서 있을 뿐입니다.

변환한 파일이 스스로 드롭 프레임이라고 알려 주나요?

아니요, 그리고 여기서 읽는 어떤 형식도 그럴 수 없습니다. SRT, WebVTT, ASS, SSA, SBV, SMI, MicroDVD, TTML, JSON, CSV는 모두 시각만 저장하고 그것이 어떻게 세어졌는지는 담지 않습니다. 파일을 넣기 전에도 마찬가지였습니다. 그래서 페이지는 숫자를 바꾸고, 그 숫자가 뜻하는 표기는 파이프라인이 정하는 대로 남습니다. 뒤의 도구에 드롭 프레임 설정이 있다면 그 설정이 이 값들을 읽는 기준입니다.

관련 도구