자막 겹침 검사
또는 자막 텍스트를 붙여넣으세요
옵션
타이밍을 어떤 프레임 레이트 기준으로 세는지 정합니다. 형식 안내 페이지에서는 MicroDVD가 이 값을 필요로 합니다. 시간을 프레임 번호로 저장하기 때문입니다. 프레임 레이트 페이지에서는 이 파일이 어느 프레임 레이트를 기준으로 만들어졌는지, 즉 자막을 만든 판본의 값을 뜻하며, 페이지의 두 번째 상자에는 이 자막을 사용할 영상의 프레임 레이트를 넣습니다. 흔히 쓰는 값은 23.976, 24, 25, 29.97, 30, 50, 59.94, 60입니다. 잘못 넣으면 시간축 전체가 어긋나고, 프레임 레이트 페이지에서는 고정된 양이 아니라 비율로 어긋납니다.
겹치는 자막은 화면을 공유하는 블록입니다. 앞선 블록이 끝나기 전에 다음 블록이 시작하는 경우입니다. 이 페이지는 그런 블록을 찾아 두 블록이 공유하는 시간을 밀리초 단위로 블록별로 알려 줍니다. 파일은 바뀌지 않습니다. 원본은 그대로 남고, PDF나 CSV로 내려받을 수 있는 보고서를 받습니다.
겹침이 언제나 실수는 아닙니다. 두 화자가 서로 말을 자르거나, 손으로 타이밍을 만졌거나, 다른 형식에서 자막을 변환하면 생기며, 그중 일부는 의도된 것입니다. 그래도 나열할 가치가 있는 이유는 재생기가 같은 위치에 두 블록을 동시에 그릴 수 없기 때문입니다. 시청자가 보는 것은 파일이 아니라 재생기가 고른 결과일 수 있습니다. 볼 숫자는 공유 밀리초입니다. 400ms 겹침은 깜빡임으로 읽히고, 몇 초가 겹치면 보통 블록이 엉뚱한 곳에 붙었다는 뜻입니다.
보고서는 검사하지 못한 것도 말합니다. 끝 시각을 저장하지 않는 형식은 겹침을 아예 잴 수 없고, 끝이 시작보다 뒤가 아닌 블록은 읽는 동안 복구됩니다. 그 복구는 검출에 조용히 섞이지 않고 보고서 머리말에 나열됩니다. 문제가 없는 파일도 그렇다고 말하는 보고서를 냅니다. 검사했고 찾은 것 없음과 검사할 수 없음은 다른 문장이며, 이 페이지는 둘을 구분합니다. 모든 처리는 브라우저 안에서 실행되고, 한 시즌 분량을 한 번에 대기열로 돌릴 수 있습니다.
예시
1초를 공유하는 두 블록
자막
1
00:00:01,000 --> 00:00:04,000
First line.
2
00:00:03,000 --> 00:00:06,000
Second line, starting early.
보고서가 찾아낸 것
Overlapping cues — 1 found
Severity Cues Start End Measured
Error 1, 2 00:00:03.000 00:00:04.000 1000 ms
두 번째 블록이 첫 번째가 아직 화면에 있을 때 시작합니다. 측정값은 공유 구간, 즉 첫 블록의 끝에서 두 번째 블록의 시작을 뺀 값이며 어느 한 블록의 길이가 아닙니다.
맞닿은 블록은 겹침이 아니다
자막
1
00:00:01,000 --> 00:00:02,000
First line.
2
00:00:02,000 --> 00:00:03,000
Second line, touching.
보고서가 찾아낸 것
Overlapping cues — Nothing found
Checks run 1
Cues 2
두 번째 블록이 첫 번째가 끝나는 바로 그 밀리초에 시작합니다. 올바른 타이밍이므로 아무것도 보고되지 않지만, 검사가 실행되었다는 사실은 남습니다. 검사할 수 없었던 파일과는 다른 상태입니다.
긴 블록 안에 중첩된 블록
자막
1
00:00:00,000 --> 00:00:10,000
Long opening line.
2
00:00:01,000 --> 00:00:02,000
Nested inside it.
3
00:00:03,000 --> 00:00:04,000
Also nested inside it.
보고서가 찾아낸 것
Overlapping cues — 2 found
Severity Cues Start End Measured
Error 1, 2 00:00:01.000 00:00:02.000 1000 ms
Error 1, 3 00:00:03.000 00:00:04.000 1000 ms
짧은 두 블록이 모두 긴 블록과 겹치고, 서로는 겹치지 않습니다. 각 비교는 지금까지 도달한 가장 먼 지점과 이루어지므로, 바로 앞 블록이 닿지 않아도 두 번째 짧은 블록이 잡힙니다.
자주 묻는 질문
이 페이지에서 정확히 무엇을 겹치는 블록으로 보나요?
시작 시각이 파일에서 이미 도달한 가장 먼 끝 시각보다 이른 블록입니다. 한 블록이 00:00:04,000에 끝나고 다음이 00:00:04,000에 시작하는 식으로 맞닿기만 한 경우는 겹침이 아니며 절대 나열되지 않습니다. 1ms 겹침은 겹침이므로 나열됩니다.
이 도구가 자막 파일을 바꾸나요?
아니요. 파일을 읽어 보고서만 내고 타임코드를 하나도 다시 쓰지 않습니다. 겹침 제거는 별도 도구이며, 검사와 복구를 나누어 두면 누군가에게 건네는 보고서가 이 페이지가 이미 고친 판본이 아니라 원본 파일을 설명합니다.
겹치는 시간은 어떻게 계산되나요?
나중 블록의 시작부터 두 끝 시각 중 이른 쪽까지를 밀리초로 잽니다. 긴 블록 안에 완전히 들어앉은 블록은 그 블록 전체가 겹침입니다. 비교는 바로 앞 블록이 아니라 지금까지 도달한 가장 먼 끝과 이루어지므로, 같은 순간에 쌓인 세 블록은 검출 하나가 아니라 둘을 만듭니다.
어떤 자막 형식에서 겹침을 검사할 수 있나요?
시작과 끝 시각을 모두 저장하는 열 가지입니다: SRT, WebVTT, ASS, SSA, SBV, SMI, MicroDVD, TTML, JSON, CSV. LRC와 일반 텍스트는 줄마다 시각이 하나뿐이라 비교할 것이 없으므로 목록에 없습니다. 그 형식의 파일은 먼저 변환해야 합니다.
내려받는 보고서에는 무엇이 들어 있나요?
파일 이름, 읽은 형식, 블록 수, 프레임을 저장하는 형식이면 프레임 레이트를 담은 머리말, 읽는 동안 복구한 내용의 줄, 그리고 검사별 절이 들어갑니다. 각 검출에는 블록 번호와 두 타임코드, 측정된 밀리초가 붙습니다. 같은 내용을 PDF로 읽거나 CSV로 정렬할 수 있습니다.
겹침이 있는데도 재생이 멀쩡한 이유는 무엇인가요?
두 블록이 같은 순간에 닿았을 때 무엇을 그릴지는 재생기가 정하고 그 결정은 파일에 없기 때문입니다. 어떤 재생기는 나중 블록을 보여 주고, 어떤 것은 쌓아 올리며, 위치가 지정된 블록은 눈에 띄지 않는 구석에 있을 수도 있습니다. 보고서는 파일이 실제로 담고 있는 것을 알려 주며, 그것이 고칠 수 있는 대상입니다.
한 시즌 분량을 한 번에 검사할 수 있나요?
네. 파일을 모두 넣으면 차례로 검사하고 각각 보고서를 만들며, 보고서들은 하나의 zip으로 함께 내려옵니다. 파일별 진행률이 표시되고 중간에 멈출 수 있으며 뒤에 남는 것은 없습니다.