본문으로 바로 가기
SubtitleMatrix

자막 끝 시간만 밀기

타이밍고정 오프셋으로 밀기
또는 자막 텍스트를 붙여넣으세요

옵션

모든 자막 블록을 옮길 밀리초입니다. 양수는 자막을 늦게, 음수는 앞당깁니다. 0도 정상적인 값입니다. 파일이 그대로 돌아오므로, 파일이 이미 원하는 위치에 있는지 빠르게 확인할 때 쓸 수 있습니다.

시작을 고르면 시작 시간만 옮기고 종료 시간은 그대로 둡니다. 그래서 양수로 밀면 모든 자막 블록이 짧아지고, 음수로 당기면 길어집니다. 끝은 반대입니다. 자막이 엉뚱한 순간에 나타나지만 끝나는 시점은 맞을 때는 시작을, 제때 나타나지만 화면에 너무 오래 남거나 일찍 사라질 때는 끝을 고르세요.

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

이 페이지는 각 자막 블록(cue)의 끝 시간만 옮깁니다. 시작 시간은 그대로이므로 자막이 사라지는 순간만 달라지고 나타나는 순간은 원래 자리에 남습니다. 밀리초 오프셋을 넣으면 양수는 끝을 늦춰 화면에 더 오래 머물게 하고 음수는 더 빨리 걷어 냅니다. 시작이 고정되어 있으니 cue의 표시 시간은 그에 따라 달라집니다.

이 페이지가 존재하는 이유는 반대쪽 문제입니다. 제때 나타나지만 지나치게 오래 남는 자막은 읽는 흐름을 늘어지게 만들고 다음 대사가 나오기 전에 화면을 막습니다. 반대로 한 박자 일찍 사라지는 자막은 대사 끝을 잘라 먹습니다. 파일 전체를 미는 페이지로는 둘 다 고칠 수 없습니다. 그쪽은 두 경계를 함께 옮겨 모든 길이를 그대로 두기 때문입니다.

경계에서 집계되는 일은 하나입니다. 끝이 자기 시작보다 앞이나 같아지게 되는 cue는 기록할 수 없으므로 삭제하고 그 개수를 보고합니다. 시작 쪽 페이지에 있는 0 고정 규칙은 여기에 없습니다. 끝 시간에는 0이라는 하한이 없고 자기 cue의 시작만 있을 뿐인데, 거기에 붙이면 화면에 뜨는 시간이 0인 cue가 되어 결국 삭제와 같은 일이 됩니다. 살아남은 cue는 번호와 텍스트를 유지합니다.

예를 들어 500 ms를 더하면 00:00:01,000 → 00:00:03,000이 00:00:01,000 → 00:00:03,500이 되고, 600 ms를 빼면 00:00:01,000 → 00:00:02,400이 됩니다. SRT, WebVTT, ASS, SSA, SBV, SMI, MicroDVD, TTML, JSON, CSV를 실제 형식대로 읽으며 일반 텍스트와 LRC는 끝 시간이 없어 받지 않습니다. 파일은 브라우저 안에서 처리되고 시즌 전체를 한 번에 넣을 수 있습니다.

예시

모든 자막을 0.5초 더 오래 남기기

입력

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

2
00:00:05,500 --> 00:00:08,000
Second line.

결과물

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

2
00:00:05,500 --> 00:00:08,500
Second line.

끝만 500 ms 뒤로 가고 시작은 그대로입니다. 첫 cue는 2000 ms에서 2500 ms로, 둘째는 2500 ms에서 3000 ms로 길어집니다.

끝이 자기 시작보다 앞으로 당겨진 짧은 cue

입력

1
00:00:01,000 --> 00:00:01,200
A short one.

2
00:00:05,000 --> 00:00:08,000
A long one.

결과물

2
00:00:05,000 --> 00:00:07,500
A long one.

첫 cue는 200 ms짜리라 500 ms를 빼면 시작보다 300 ms 앞에서 끝나게 됩니다. 삭제되고 집계되며, 남은 cue는 번호 2를 유지합니다.

모든 자막의 꼬리를 자르기

입력

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

결과물

1
00:00:01,000 --> 00:00:02,400
Hello there.

음수 오프셋은 모든 cue를 짧게 만듭니다. 대사가 끝난 뒤에도 한참 화면에 남아 자막이 음성보다 뒤처진 느낌을 줄 때 쓰는 흔한 처방입니다.

자주 묻는 질문

끝 시간만 미는 것과 시작 시간만 미는 것은 어떻게 다른가요?

두 페이지는 서로 반대쪽 경계를 바꾸므로 서로 반대 증상을 고칩니다. 이 페이지는 자막이 나타나는 순간을 지키고 사라지는 순간을 옮기므로 자막이 오래 남거나 일찍 잘릴 때 맞습니다. 시작 페이지는 사라지는 순간을 지키고 나타나는 순간을 옮기므로 대사보다 이르거나 늦게 뜰 때 맞습니다.

끝을 늦추면 두 자막 사이의 빈 구간이 줄어드나요?

네, 그리고 그 점을 봐야 합니다. 모든 끝을 뒤로 밀면 다음 cue의 시작은 그대로이므로 각 cue가 뒤따르던 침묵을 먹어 들어갑니다. 충분히 밀면 연속된 cue가 맞닿거나 겹치기 시작합니다. 이 페이지는 겹침을 만들어도 그대로 두는데, 겹침을 없애는 일은 별개의 작업이기 때문입니다.

끝 시간을 당길 수 있는 하한이 있나요?

0으로 묶이는 시작 페이지와 달리 고정된 하한이 없습니다. 끝은 계산이 놓는 곳까지 갈 수 있고, 자기 cue의 시작에 닿으면 고정되지 않고 삭제됩니다. 시작에 붙이면 화면에 뜨는 시간이 없는 cue가 남는데, 요청하지도 않았고 시청자가 볼 수도 없는 결과입니다.

끝이 자기 시작보다 앞으로 가게 되는 cue는 어떻게 되나요?

삭제되며, 삭제 개수가 다른 처리 결과와 함께 보고됩니다. 이후 번호를 다시 매기지 않으므로 양옆 cue는 원래 번호를 유지하고, 번호의 빈자리가 무엇이 사라졌는지 보여 주는 흔적이 됩니다.

이 페이지는 어떤 자막 형식을 읽나요?

SRT, WebVTT, ASS, SSA, SBV, SMI, MicroDVD, TTML, JSON, CSV를 확장자가 아니라 실제 내용대로 읽습니다. 일반 텍스트와 LRC는 끝 시간을 파일에 쓰지 않아 오프셋이 움직일 대상이 없으므로 거부합니다. 결과가 입력과 똑같아지는 것을 막기 위해서입니다.

끝을 옮겨야 한다는 신호는 무엇인가요?

음성과 함께 읽을 때 대사는 제때 나오는데 대사가 끝난 뒤에도 자막이 화면에 남아 있으면 표시 시간이 너무 긴 것이고 끝이 움직일 경계입니다. 반대로 단어가 아직 발음되는 중에 자막이 사라지면 끝이 너무 이른 것이고 음수 오프셋이 해법입니다.

관련 도구