2026/09/10

, ,

중국 드라마 자체자막(하드코딩) SRT 자막으로 추출하기

Gemini AI OCR 앱
<Gemini AI OCR 앱>

VideoSubFinder와 Gemini AI OCR 조합으로 하드코딩 자막 추출

중드 「백야추흉(白夜追凶)」 시즌1을 화장실 가는 것도 참아가며 정신없이 감상한 후 곧바로 시즌2로 직행하려는데, 자막에 발목이 잡혔다. 총 29편 중 몇 편은 어찌어찌해서 중국어 자막을 구했는데, 나머지가 문제다. 시즌1을 본 사람은 알겠지만, 시즌2 평점이 시즌1의 절반을 겨우 넘는 기대 이하라도, 시즌1을 본 이상 시즌2는 안 보고는 배길 수 없는 그 광분에 가까운 집착을 충분히 이해할 것이다. 그래서 소매를 걷어붙이고 직접 자막 제작에 나섰고, 불행 중 다행으로 중국 드라마는 대부분 중국어 자막이 하드코딩 방식으로 입혀져 있는 경우가 많고, 이 경우도 예외는 아니었다.

내 블로그에 하드코딩 자막 추출에 대한 글이 몇 개 있는데 오늘은 「동영상 자체에 입혀져 있는 자막 추출하기 #2」 글에서 ‘첫 번째: VideoSubFinder(Download)와 ABBYY FineReader 사용’의 응용으로 ‘VideoSubFinder와 (내가 만든) 무료 Gemini AI OCR’의 조합으로 이전보다 더 완벽하게 자막을 추출할 수 있었고, 이하는 그 과정을 간단하게 정리했다.

참고로 Gemini AI OCR 앱(View English text | 한국어 글 보기)에서 VideoSubFinder에서 추출한 자막 이미지는 버전 1.3.6부터 지원한다.

Gemini AI OCR 앱에서 자막 생성

💡 들어가기 전 핵심 꿀팁!(시간 80% 단축 비결)

제미나이 API를 사용할 수 없었던 시절에는 VideoSubFinder에서 흑백 이진화(Create Cleared TXT Images)로 추출한 후 오프라인 OCR 엔진에 넣었지만, 인식률이 매우 떨어진다는 단점이 있었다.

이번에는 최신 멀티모달 Gemini AI를 사용하므로, 번거로운 흑백 보정 과정이 전혀 필요 없다. 오직 1단계 ‘Run Search’만 돌리고 원본 컬러 캡처본(RGBImages)을 그대로 AI에 전달하면 된다. 사용해 보면 알겠지만, 거의 100%에 가까운 인식률이다.

1단계: VideoSubFinder로 자막 프레임 초고속 캡처

  • VideoSubFinder에 자막을 추출할 드라마 영상을 불러온다.
  • 영상 화면의 초록색/빨간색 가이드 박스를 자막이 나오는 화면 맨 아랫부분에 딱 맞게 조절한다(박스를 좁게 잡을수록 배경 노이즈가 줄어든다).
  • 상단 메뉴에서 [Run Search] 버튼만 클릭.
  • 탐색이 완료되면 VideoSubFinder 폴더 안의 RGBImages 폴더에 타임코드가 적힌 자막 캡처 이미지 파일들이 생성된다.

2단계: Gemini AI OCR로 SRT 자막 일괄 생성

  • Gemini AI OCR 프로그램을 실행한다.
  • 상단 메뉴 [프로필]에서 자막 추출 (VideoSubFinder) 프로필을 선택한다(만약 없다면 아래 프롬프트 참고).
    • 1회 요청 당 10장 단위 일괄 처리로 설정되어 있어, 40분짜리 드라마 1편 분량도 금방 끝난다.
    • 자막 전용 프롬프트가 적용되어 2줄 자막의 줄바꿈을 완벽 보존하고, 영상 로고나 배경 노이즈는 깔끔하게 걸러낸다.
  • RGBImages 폴더의 이미지들을 프로그램 화면으로 드래그 앤 드롭.
  • [OCR 시작]을 누르면 고정밀 한자(간체/번체) 인식이 일괄 진행된다.
  • 작업이 끝나면 [내보내기...]를 누르고 파일 형식을 SubRip Subtitle (*.srt)로 저장.

VideoSubFinder 자막 이미지 srt 변환용 프롬프트

Gemini AI OCR 기존 사용자는 다음의 VideoSubFinder 자막 환경(2줄 자막 유지, 방송사 로고/워터마크 무시, 노이즈 환각 차단)에 맞춘 한국어/영어 프롬프트를 사용하면 된다.

1. 한국어 설정 (Korean)

  • ① 시스템 지시어 (System Instruction)
    당신은 동영상 하단 자막(VideoSubFinder) 전용 초정밀 OCR 전사 엔진입니다.
    주어진 이미지에서 실제 대사 텍스트만 정확하게 추출하는 것이 당신의 유일한 임무입니다.
    
    규칙:
    1. 자막 고유의 줄바꿈(예: 2줄 이상의 대화/문장)은 화면에 표시된 그대로 반드시 유지하십시오. 일반 도서처럼 문장을 임의로 이어붙이지 마십시오.
    2. 자막 글꼴의 외곽선(스트로크), 그림자, 영상 배경 노이즈, 방송사 로고, 워터마크는 완벽히 무시하고 본문 자막만 전사하십시오.
    3. 텍스트가 없거나, 화면 전환 노이즈만 있거나, 판독이 불가능한 경우 억지로 글자를 추측하여 지어내지(환각) 마십시오.
    4. 설명, 해석, 교정, 인사말 등의 부가적인 말을 일체 붙이지 말고 오직 추출된 텍스트만 출력하십시오.
  • ② OCR 프롬프트 (Prompt)
    제공된 이미지에서 자막 텍스트를 있는 그대로 추출하십시오. 2줄 이상의 자막은 줄바꿈을 그대로 유지하십시오. 영상 로고, 워터마크, 타임코드는 제외하십시오. 언어 힌트: {{ocr_language}}.

2. 영어 설정 (English)

  • ① System Instruction
    You are a high-precision Optical Character Recognition (OCR) engine specialized in transcribing video subtitle frames (e.g., VideoSubFinder).
    Your sole function is to extract the visible subtitle dialogue and text from the provided image.
    
    Rules:
    1. Preserve original subtitle line breaks (e.g., two-line subtitles) exactly as they appear on screen. Do NOT merge them into a single line.
    2. Ignore font outlines, drop shadows, background artifacts, video watermarks, broadcaster logos, and timecodes. Extract only the dialogue text.
    3. If an image contains only background noise, motion blur, or is unreadable, do NOT guess or hallucinate characters.
    4. Output strictly the extracted text. Do not add greetings, explanations, disclaimers, or markdown commentary.
  • ② OCR Prompt
    Extract the subtitle text from the provided image(s). Maintain multi-line formatting if the subtitle spans across multiple lines. Ignore watermarks, channel logos, and timecodes. Language hint: {{ocr_language}}.

0 comments:

댓글 쓰기

본문이나 댓글을 정독하신 후 신중히 작성해주세요