TL;DR: 모든 자막은 화면 그림의 일부이거나 별도의 트랙, 둘 중 하나입니다. 플레이어에서 껐다 켤 수 있다면 추출 가능한 트랙이고, 화면에서 떨어지지 않는다면 하드섭이므로 영상 프레임을 OCR로 읽어내야만 복구할 수 있습니다. 텍스트 트랙은 ffmpeg로 즉시 추출되고, 이미지 트랙(Blu-ray PGS와 DVD VobSub)은 트랙을 뽑아낸 뒤 OCR이 필요하며, 하드섭은 프레임 OCR이 필요합니다.
내 자막이 어떤 종류인지 어떻게 알 수 있나요?
가장 빠른 확인 방법은 비디오 플레이어 하나면 충분합니다. 자막을 꺼보세요. 꺼진다면 별도의 트랙이며 추출할 수 있습니다. 무슨 짓을 해도 화면에서 사라지지 않는다면 하드섭입니다. 이 동작 하나로 앞으로 열어볼 거의 모든 파일을 구분할 수 있습니다.
확실하게 확인하려면 트랙 목록을 살펴보세요. ffmpeg가 설치된 Mac에서(brew install ffmpeg) 다음을 실행합니다:
ffprobe -v error -select_streams s \
-show_entries stream=index,codec_name:stream_tags=language,title \
-of default=noprint_wrappers=1 input.mkv
GUI를 선호한다면 MediaInfo에서도 동일한 트랙 목록을 확인할 수 있습니다. 그리고 트랙을 실제로 추출해보면, 결과로 나온 파일 확장자 자체가 단서가 됩니다. .srt는 텍스트, .sup는 Blu-ray PGS(이미지 형식), .idx/.sub는 DVD VobSub(역시 이미지 형식)를 의미합니다.
모든 것을 판가름하는 단 하나의 테스트: 플레이어에서 자막을 껐다 켤 수 있다면 추출 가능한 트랙이고, 그럴 수 없다면 화면에 새겨진 하드섭이므로 OCR이 필요합니다.
자막의 네 가지 종류
다양한 파일 확장자와 코덱 이름 아래에는 실제로 네 가지 종류의 자막만 존재합니다. 두 가지는 텍스트이고, 하나는 트랙에 저장된 이미지이며, 하나는 영상 자체에 구워져 있습니다.
- 텍스트 트랙(내장 SRT/ASS, MP4 tx3g, WebVTT): 자막이 이미 실제 텍스트로 저장되어 있습니다. 플레이어에서 껐다 켤 수 있고, ffmpeg나 mkvextract로 몇 초 만에 추출됩니다 — OCR이 필요 없습니다. 가장 쉬운 경우이며, 누구나 이런 자막이길 바라는 유형입니다.
- 이미지 트랙 — PGS와 VobSub: PGS(
.sup)는 Blu-ray 자막 형식이고, VobSub(.idx/.sub)는 DVD 형식입니다. 둘 다 별도로 켜고 끌 수 있는 트랙이지만, 각 자막 줄이 텍스트가 아니라 텍스트를 담은 작은 이미지로 저장되어 있습니다. 트랙을 뽑아낸 뒤(mkvextract 또는 Mac에서는 Subler로) 이미지를 OCR해야 편집 가능한 SRT를 얻을 수 있습니다. - 하드섭(burned-in / hardcoded): 텍스트가 영상 픽셀에 직접 구워져 있습니다 — 화면 그림의 일부이므로 끌 수 없습니다. 뽑아낼 트랙이 없으므로 디먹서나 변환기로는 해결할 수 없습니다. 영상 프레임을 OCR로 읽어야 텍스트를 되살릴 수 있습니다. GeekLink가 Mac에서 하는 일이 바로 이것입니다.
- 클로즈드 캡션(CEA-608/708): 자막 트랙이 아니라 영상 신호 자체에 내장되어 있으며, 방송 녹화 영상이나 일부 MP4/MOV 파일에서 흔히 볼 수 있습니다. 껐다 켤 수 있고 텍스트 기반이므로 ccextractor나 ffmpeg로 OCR 없이 추출할 수 있습니다.
네 가지 중 세 가지는 켜고 끌 수 있는 트랙이며, 하드섭만이 화면 그림의 일부입니다 — 바로 이 차이가 단순히 추출하면 되는지, OCR을 해야 하는지를 가르는 기준입니다.
종류별로 어떤 도구를 써야 할까?
네 가지 중 어느 것을 가지고 있는지 알면, 알맞은 도구는 바로 정해집니다. 전체 판단 기준을 한 화면에 정리했습니다:
| 종류 | 구분 방법 | 추출 방법 | 결과물 |
|---|---|---|---|
| 텍스트 트랙(SRT/ASS/tx3g/WebVTT) | 껐다 켤 수 있음; ffprobe에 텍스트 코덱으로 표시됨 | ffmpeg 또는 mkvextract | 즉시 SRT |
| 이미지 트랙 — PGS / VobSub | 껐다 켤 수 있음; .sup 또는 .idx/.sub로 추출됨 | 트랙 추출 후 OCR | SRT(OCR 후) |
| 하드섭(burned-in / hardcoded) | 끌 수 없음; 자막 트랙이 목록에 없음 | 영상 프레임 OCR | SRT(OCR로 생성) |
| 클로즈드 캡션(CEA-608/708) | 방송/MP4/MOV에서 껐다 켤 수 있는 캡션 | ccextractor(또는 ffmpeg) | SRT |
네 가지 중 OCR이 필요한 것은 이미지 트랙과 하드섭 두 가지뿐이며, 둘 다 같은 이유로 OCR이 필요합니다 — 파일 안에 텍스트가 없고 오직 이미지만 있기 때문입니다.
이미지 트랙과 하드섭 모두 OCR이 필요한 이유
언뜻 서로 다른 두 문제처럼 보이지만 사실은 하나입니다. PGS나 VobSub 트랙은 각 자막을 텍스트의 비트맵 이미지로 저장하고, 하드섭은 영상 자체의 픽셀에 그려져 있습니다. 두 경우 모두 파일 어디에도 그대로 복사해 낼 수 있는 텍스트가 없습니다 — 그저 이미지(이미지 트랙)이거나 픽셀(하드섭)일 뿐입니다.
어떤 형식 변환기도 이미지를 텍스트로 바꿀 수 없습니다. 그것을 읽어낼 수 있는 것은 OCR뿐입니다. PGS/VobSub 트랙을 SRT로 바꾸는 일이든, 영상에서 하드섭을 뽑아내는 일이든, 본질적으로 파일 변환이 아니라 OCR 작업인 이유가 여기에 있습니다.
이것이 바로 사람들이 막히는 지점이기도 합니다. ffmpeg나 자막 변환기를 써보고, 인코더 오류나 텍스트 에디터로 열리지 않는 .sup 파일을 마주하면 뭔가 고장 났다고 생각합니다. 고장 난 것은 없습니다 — 도구가 존재하지 않는 텍스트를 만들어낼 수 없을 뿐입니다.
Mac에서 각 종류 추출하기
macOS에서 네 가지 종류 각각을 추출하는 실전 방법을 소개합니다.
텍스트 트랙 — 명령어 하나면 끝나고, 몇 초 만에 완료됩니다:
# Extract the first subtitle track as SRT
ffmpeg -i input.mkv -map 0:s:0 subtitles.srt
이미지 트랙(PGS / VobSub) — 트랙을 뽑아낸 뒤 OCR 처리합니다. Mac에서 가장 간단한 방법은 트랙을 영상에 한 번 렌더링한 다음, 그 결과물에 OCR을 실행하는 것입니다:
# Render the image-subtitle track onto the video (one-time re-encode)
ffmpeg -i input.mkv -filter_complex "[0:v][0:s:0]overlay[v]" \
-map "[v]" -map 0:a? -c:a copy rendered.mp4
그런 다음 rendered.mp4를 GeekLink로 가져와 OCR 추출을 실행하면 깔끔하게 타이밍이 맞춰진 SRT를 얻을 수 있습니다.
하드섭 — 뽑아낼 트랙이 없으므로 곧바로 OCR로 넘어갑니다. Mac에서 영상을 GeekLink로 가져와 OCR 추출을 실행하세요. 프레임에서 직접 자막 텍스트를 읽어내고, 완전히 로컬·오프라인으로 아무것도 업로드하지 않은 채 정확한 타이밍의 SRT를 내보냅니다.
클로즈드 캡션 — ccextractor(ccextractor input.mp4 -o captions.srt)나 ffmpeg로 추출합니다. OCR은 필요 없습니다.
하드섭 영상과 렌더링된 이미지 트랙, 이 두 가지 OCR 케이스 모두 GeekLink가 로컬 Mac 솔루션입니다. 오프라인으로 실행되는 OCR 추출로 타이밍이 맞춰진 SRT를 내보내며, 음성 인식(Whisper), 40개 이상 언어로의 AI 번역(Claude, GPT-4o, DeepSeek), 내장 에디터, 그리고 시즌 전체를 처리해야 할 때를 위한 배치 처리 기능까지 갖추고 있습니다. OCR 전체 가이드는 여기에서 확인하세요: How to Extract Hardcoded (Burned-In) Subtitles Using OCR.
자주 묻는 질문
자막이 하드섭인지 어떻게 알 수 있나요?
플레이어에서 자막을 꺼보세요. 어떤 자막 트랙을 선택하거나 비활성화해도 꺼지지 않고 화면에 그대로 남아 있다면 하드섭입니다. 사라진다면 추출 가능한, 켜고 끌 수 있는 트랙입니다.
하드섭을 추출할 수 있나요?
트랙으로는 불가능합니다 — 텍스트가 영상 픽셀의 일부이기 때문에 뽑아낼 트랙 자체가 없습니다. 영상 프레임을 OCR로 읽어 SRT로 만드는 방식이어야 합니다. Mac에서는 GeekLink가 이 작업을 로컬에서 처리해 타이밍이 맞춰진 SRT를 내보냅니다.
.sup 파일이란 무엇인가요?
Blu-ray PGS 자막 트랙입니다. 이미지 기반이라서 — 각 자막 줄이 텍스트가 아니라 텍스트를 담은 이미지로 저장되어 있어 — 편집 가능한 SRT로 만들려면 OCR이 필요합니다.
.idx/.sub 파일이란 무엇인가요?
DVD VobSub 자막 트랙입니다. PGS와 마찬가지로 자막을 텍스트가 아닌 이미지로 저장하므로, SRT로 변환하려면 역시 OCR이 필요합니다.
넷플릭스나 스트리밍 서비스의 자막도 하드섭인가요?
대부분 아닙니다 — 플레이어에서 껐다 켤 수 있는 텍스트 트랙입니다. 누군가 자막이 표시된 상태로 화면을 녹화했을 때만 텍스트가 녹화된 픽셀에 새겨지면서 하드섭이 됩니다.