본문으로 바로 가기
SubtitleMatrix

순서가 어긋난 자막 찾기

품질 검사시간축 순서가 어긋난 자막
또는 자막 텍스트를 붙여넣으세요

옵션

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

자막 파일은 앞으로 흘러야 합니다. 각 블록의 시작 시각이 바로 앞 블록보다 빠르지 않아야 한다는 뜻입니다. 이 페이지는 그렇지 않았던 파일을 보고합니다. 파일을 읽는 과정에서 블록을 정렬해야 했던 경우이며, 검사할 수 있는 시점에는 이미 순서가 바로잡혀 있으므로 블록 자체가 아니라 리더가 남긴 정렬 기록에서 증거를 가져옵니다. 결과는 변환된 파일이 아니라 보고서이고, 아무것도 다시 쓰이지 않습니다.

보고서를 읽기 전에 이 동작을 이해할 필요가 있습니다. 파일을 읽는 순간 블록은 시작 시각으로 정렬됩니다. 다른 모든 작업과 미리보기, 내보내기가 오름차순을 전제하기 때문입니다. 그래서 순서가 어긋난 파일은 블록 자체에 흔적을 남기지 않습니다. 남는 증거는 옮겨야 했던 블록의 수뿐이며, 보고서는 문서 수준 검출 하나와 관련 블록 수를 인쇄합니다. 타임코드는 없습니다. 정렬 뒤에는 정직하게 가리킬 위치가 남지 않기 때문입니다.

순서 어긋남은 시작 시각이 줄어드는 경우만 뜻합니다. 같은 밀리초에 시작하는 두 블록은 순서가 어긋난 것이 아닙니다. 정렬이 안정적이어서 아무것도 움직이지 않고 파일은 이 검사를 통과합니다. 그런 쌍은 오히려 겹침 페이지에 나타날 가능성이 큽니다. 순서대로 읽힌 파일은 검출이 비어 있고 읽는 동안 잃은 것이 없다고 말하는 머리말을 가진 보고서를 냅니다. 이것은 진짜 무죄입니다. 이 검사의 증거가 옮겨야 했던 블록 수이고, 0도 하나의 숫자이기 때문입니다. 일반 텍스트는 시작 시각이 없어 어떤 의미로도 순서가 어긋날 수 없으므로 받지 않습니다.

예시

파일이 거꾸로 흐른다

자막

1
00:00:10,000 --> 00:00:11,000
I was working late.

2
00:00:01,000 --> 00:00:02,000
Where were you?

보고서가 찾아낸 것

Cues out of sequence — 1 found

Severity   Cues   Start   End   Measured
Warning    —      —       —     2 items

두 번째 블록이 첫 번째보다 9초 앞서 시작합니다. 보고서는 검출 하나와 타임코드 없음을 보여 줍니다. 파일을 읽으면서 블록을 정렬했으므로 이제 잘못됐다고 부를 위치가 없습니다. 머리말의 블록 순서 × 2는 읽는 시점에 센 같은 사실입니다.

순서가 맞고, 보고서가 그렇게 말한다

자막

1
00:00:01,000 --> 00:00:02,000
Where were you?

2
00:00:10,000 --> 00:00:11,000
I was working late.

보고서가 찾아낸 것

Cues out of sequence — Nothing found

Cues                2
Checks run          1
Lost while reading  Nothing

시각이 오름차순이고 아무것도 움직이지 않았습니다. 이 페이지에서 빈 결과는 답이 빠진 것이 아니라 진짜 무죄이며, 손실 줄이 없음을 말하는 것도 같은 이유입니다. 검사의 증거는 옮겨야 했던 블록 수이고 파일은 그런 블록을 내지 않았습니다.

같이 시작하는 두 블록은 순서 오류가 아니다

자막

1
00:00:01,000 --> 00:00:02,000
Where were you?

2
00:00:01,000 --> 00:00:03,000
I was working late.

보고서가 찾아낸 것

Cues out of sequence — Nothing found

Cues                2
Checks run          1
Lost while reading  Nothing

같은 시작 시각은 감소가 아니고 정렬도 안정적이어서 블록이 움직이지 않습니다. 이런 파일은 다른 결함을 가집니다. 두 블록이 화면을 공유하는 겹침이며, 그쪽 페이지의 몫입니다. 여기로 보내면 일어나지 않은 재정렬을 보고하게 됩니다.

자주 묻는 질문

이 페이지에서 자막 파일이 순서 어긋남으로 판정되는 기준은 무엇인가요?

어떤 블록의 시작 시각이 그 위에 나타난 블록의 시작 시각보다 이른 경우입니다. 즉 시작 시각의 감소이고 그 외에는 없습니다. 같은 시작 시각은 감소가 아니며 끝 시각은 정렬 기준이 아니므로 관계없습니다. 블록 하나만 잘못되어도 파일 전체가 보고됩니다.

검출에 왜 타임코드가 없나요?

파일을 읽으면서 블록을 정렬하고 보고서는 그 뒤에 만들어지기 때문입니다. 그 시점에는 메모리의 순서가 이미 올바르고, 정직하게 잘못됐다고 부를 위치가 남아 있지 않습니다. 옮겨야 했던 블록 수가 증거이며, 측정 열과 머리말의 손실 줄에 함께 인쇄됩니다.

이 페이지가 파일 순서를 바꾸나요?

아니요. 파일을 읽어 보고서만 만들고 원본은 그대로 둡니다. 검출이 말하는 정렬은 브라우저 안에서 읽는 동안 일어나며 어디에도 기록되지 않습니다. 순서를 바꾼 파일 자체가 필요하다면 자막 파일을 산출물로 내는 별도 작업입니다.

같은 시각에 시작하는 두 블록이 여기서 문제인가요?

이 페이지에서는 아닙니다. 같은 시작 시각을 정렬해도 아무것도 움직이지 않으므로 검사가 아무것도 보고하지 않습니다. 다만 그런 쌍은 다른 이유로 살펴볼 가치가 있습니다. 두 블록이 같은 순간 화면에 있다는 것은 겹침이며, 그쪽 페이지로 가져가야 합니다.

어떤 자막 형식에서 블록 순서를 검사할 수 있나요?

열두 가지 중 열하나입니다: SRT, WebVTT, ASS, SSA, SBV, SMI, LRC, MicroDVD, TTML, JSON, CSV. 일반 텍스트는 시작 시각이 없어 순서가 어긋날 수 없으므로 목록에 없습니다. 거기서 깨끗한 결과를 보고하는 것은 진짜 무죄가 아니라 거짓 무죄입니다.

납품된 자막 파일이 거꾸로 흐르는 일이 흔한가요?

시간축이 시사하는 것보다 흔하고, 대개 지루한 이유입니다. 두 파일을 손으로 합쳤거나, 기계 번역이 세그먼트를 다른 순서로 돌려주었거나, 타이밍 도구를 파일 전체가 아니라 선택 구간에 적용했습니다. 재생기는 정렬을 하므로 플레이어까지 살아남는 일은 드물지만, 파일이 정렬되어 있다고 가정하는 도구에는 살아남습니다.

순서가 뒤바뀐 자막 검사도 여러 파일을 한 번에 할 수 있나요?

네. 원하는 만큼 넣으면 차례로 읽어 각각 보고서를 만들고, 보고서들은 하나의 zip으로 함께 내려옵니다. 대기열이 파일별 진행률을 보여 주고 중간에 멈출 수 있으며, 뒤에서 계속 돌아가는 것은 남지 않습니다.

관련 도구