Blue-B/WhisperSubTranslate큐레이터 픽

A free, local desktop app to extract subtitles (SRT) from video and translate them into any language — unlimited use, no signup, no cloud.

GitHub에서 열기 ↗ javascriptsrttranslatetranslatorvideowhisper
445
GitHub 스타
25
포크
JavaScript
언어
NOASSERTION
라이선스
2026.06.24
최근 푸시
2026.05.23
별표한 날

AI 분석

설치 난이도: 보통
큐레이터 노트
개인정보 보호가 중요한 환경에서 동영상 자막 생성 및 번역이 필요하거나, API 비용 없이 로컬에서 처리하려는 경우 적합합니다. 특히 한국어, 일본어, 중국어 등 비영어 동영상의 자막 동기화 문제를 해결하는 데 유용합니다.

강점

  • 완전 오프라인 음성 인식 및 번역으로 개인정보 보호에 강함
  • 번들된 Hy-MT2 모델로 API 키 없이 무료 번역 가능
  • 설치가 간편하고 Python이나 수동 설정이 필요 없음
  • 동기화 복구 모델로 비영어 동영상의 자막 동기화 문제 해결

약점

  • 내장 자막 추출이나 OCR 기능이 없어 화면 텍스트를 읽을 수 없음
  • 번역 대상 언어가 14개로 제한적임
  • MyMemory 무료 엔진은 일일 사용량 제한이 있어 긴 동영상에 부적합

주의사항

  • 로컬 Hy-MT2 모델은 VRAM 2GB 이상 필요 (1.8B 기준)
  • Sync 모델은 대용량(~4.4GB) 다운로드 필요
  • 외부 API 사용 시 각 서비스의 이용 약관을 준수해야 함

시작 가이드

  • 릴리스 페이지에서 최신 휴대용 아카이브를 다운로드하여 설치
  • 첫 실행 시 기본 모델(large-v3-turbo)과 Hy-MT2 1.8B 모델 다운로드
  • 동기화 문제가 있는 비영어 동영상에 대해 Sync 모델 사용 고려
  • 필요시 DeepL 또는 Gemini API 키를 설정하여 번역 품질 향상

README 한국어 번역

이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.

WhisperSubTranslate

English | 한국어 | 日本語 | 中文 | Polski

모든 동영상을 로컬에서 다국어 자막으로 변환하세요. 동영상을 넣고 whisper.cpp로 SRT를 생성한 다음, 번들된 Hy-MT2 모델로 오프라인 번역하거나 무료/유료 온라인 엔진을 사용하여 번역하세요.

이 앱은 동영상의 오디오에서 새로운 자막을 생성합니다(음성을 텍스트로). 내장된 자막 트랙을 추출하거나 화면의 텍스트를 읽지 않습니다(OCR 없음).

미리보기

<p align="center"> <img src="assets/hero/hero.png" alt="WhisperSubTranslate 메인 UI" width="100%"> </p>

기능

  • 100% 로컬 음성-텍스트 변환. 동영상이 기기를 떠나지 않으며, 계정이 필요 없고, 업로드하지 않습니다.
  • 번들된 Hy-MT2 모델을 사용한 오프라인 번역, 또는 자체 키를 사용한 온라인 엔진(MyMemory, DeepL, OpenAI, Gemini).
  • 자동 모델 다운로드. Python이나 수동 설정이 필요 없습니다.
  • 일반 모델이 동기화에서 벗어난 동영상을 위한 동기화 복구 모델(large-v2 Sync 및 Sync Lite).
  • 대기열, 실시간 진행 상황, 로컬 전용 작업 기록.

시작하기

사용자

Releases에서 최신 휴대용 아카이브를 다운로드하고 압축을 푼 다음 WhisperSubTranslate.exe를 실행하세요. 추출은 PC에서 완전히 오프라인으로 실행됩니다. 번역은 선택 사항입니다.

개발자

npm install
npm start
  • Node.js >= 20.19 또는 >= 22.12 (Electron 42 툴체인)
  • whisper.cpp는 npm install 중에 다운로드됩니다(Windows에서 CUDA 빌드, ~700MB)
  • FFmpeg는 npm을 통해 포함됩니다. 선택한 GGML 모델은 첫 사용 시 다운로드됩니다.

Linux

sudo apt install cmake build-essential git ffmpeg   # Ubuntu/Debian
npm install   # whisper.cpp가 소스에서 빌드됩니다.
npm start

CUDA 가속을 위해 npm install 전에 NVIDIA CUDA Toolkit을 설치하세요. 수동 whisper.cpp 빌드 단계는 CONTRIBUTING.md에 있습니다.

빌드 (Windows)

npm run build-win   # 아티팩트는 dist2/에 생성됩니다.

번역 엔진

번들된 Tencent Hy-MT2 모델로 자막을 완전히 오프라인에서 번역하거나, 자체 API 키를 사용하여 무료/유료 온라인 엔진으로 라우팅하세요.

엔진 오프라인 API 키 비용 참고
Hy-MT2 1.8B (로컬, 기본값) 아니요 무료 ~1.13GB, VRAM 2GB / RAM 4GB, 기기 내
Hy-MT2 7B (로컬) 아니요 무료 ~6.16GB, VRAM 8GB / RAM 12GB, 더 큰 모델
MyMemory 아니요 아니요 무료 IP당 하루 약 50K자
DeepL 아니요 무료 500K/월 결정적 출력
OpenAI GPT-5.4 mini 아니요 유료 컨텍스트 인식
OpenAI GPT-5.4 nano 아니요 유료 더 저렴한 계층
Gemini 3 Flash 아니요 무료/저비용 권장 저비용 경로 (키 받기)

로컬 Hy-MT2 엔진은 API 키, 네트워크, 사용당 비용이 필요 없는 유일한 옵션이므로 대화가 기기를 떠나지 않습니다.

번역 품질 (오프라인 엔진)

WhisperSubTranslate는 Tencent의 Hy-MT2 모델(기본 1.8B, 선택 7B)을 제공합니다. Tencent의 공식 평가에 따르면 Hy-MT2 제품군은 주요 상용 번역 API와 경쟁하며 일부 벤치마크에서 여러 API를 앞섭니다.

!Hy-MT2 번역 벤치마크, Tencent 공식 수치, WhisperSubTranslate에 번들됨

출처: Tencent의 공식 벤치마크: Hy-MT2 저장소, 기술 보고서, HuggingFace 모델. 차트는 Tencent의 공식 Figure 1에서 다시 그렸으며, 번들 모델(1.8B/7B) 수치는 논문 표와 대조했습니다. 이 수치는 표준 기계 번역 벤치마크(WildMTBench, WMT25, FLORES-200 등)에서 기본 모델을 측정한 것이며, WhisperSubTranslate 특정 벤치마크가 아닙니다.

긴 동영상(1시간 이상)의 경우 MyMemory의 일일 제한으로 인해 속도가 느려질 수 있습니다. 대신 Gemini, DeepL 또는 구성된 GPT 모델을 사용하세요.

음성 인식 모델

모델은 필요 시 _models/에 다운로드됩니다. CUDA를 사용할 수 있으면 사용하고, 그렇지 않으면 기본적으로 CPU가 실행됩니다. GPU에 맞는 크기를 선택하세요.

모델 크기 VRAM 속도 참고
tiny ~75MB ~1GB 가장 빠름 기본
base ~142MB ~1GB 빠름 좋음
small ~466MB ~1GB 중간 더 좋음
medium ~1.5GB ~2GB 중간 훌륭함
large-v3 ~3GB ~4GB 느림 최고의 전사
large-v3-turbo (기본값) ~809MB ~2GB 빠름 최고의 올라운드
large-v2 Sync ~4.4GB ~4.5GB 느림 별도 엔진; 자막 동기화 수정
large-v2 Sync Lite 공유 ~3GB 느림 Sync와 동일 파일, int8, 더 낮은 VRAM

Sync 및 Sync Lite는 별도의 Faster-Whisper 엔진(한 번 자동 다운로드, ~4.4GB)을 사용하며 동일한 모델 파일을 공유하므로 한 번 다운로드로 두 가지를 모두 사용할 수 있습니다. 일반 모델이 동기화에서 벗어날 때만 사용하세요. 비영어 동영상(일본어, 한국어, 중국어)에서 가장 정확합니다. 영어는 일반적으로 large-v3-turbo로 충분합니다.

whisper.cpp 모델의 VRAM 수치는 GGML 최적화로 PyTorch Whisper(~10GB for large)보다 훨씬 낮습니다. Sync 수치는 Faster-Whisper 벤치마크에서 가져왔습니다.

언어 지원

  • UI: 한국어, 영어, 일본어, 중국어, 폴란드어
  • 번역 대상(14개): ko, en, ja, zh, es, fr, de, it, pt, ru, hu, ar, pl, fa
  • 오디오 인식: whisper.cpp를 통해 100개 이상의 언어

데이터 저장

모든 것은 사용자 데이터 폴더 아래에 로컬로 유지됩니다. 아무것도 업로드되지 않습니다.

데이터 위치
설정 및 API 키 %APPDATA%\whispersubtranslate\translation-config-safe.json
작업 기록 %APPDATA%\whispersubtranslate\history.json (최대 200개 항목)
오류 로그 %APPDATA%\whispersubtranslate\logs\errors.log
모델 _models/ (앱 폴더 내)

API 키는 OS 수준의 안전한 저장소에 로컬로 저장되며 구성은 커밋되거나 번들로 제공되지 않습니다. 작업 기록은 선택 사항이며(설정에서 전환 가능) 최대 200개 항목으로 제한됩니다.

기여

풀 리퀘스트를 환영합니다. 브랜치 명명, 커밋 스타일, 수동 테스트 체크리스트 및 수동 whisper.cpp 빌드에 대해서는 CONTRIBUTING.md를 참조하세요. 언어를 추가하려면 번역 가이드를 참조하세요.

Weblate에서 번역을 도와주세요. 번역 가능한 문자열은 locales/*.json에 있습니다.

<a href="https://hosted.weblate.org/engage/whispersubtranslate/"> <img src="https://hosted.weblate.org/widget/whispersubtranslate/ui/multi-auto.svg" alt="번역 상태" /> </a>

기여자

WhisperSubTranslate를 더 좋게 만드는 데 도움을 주신 모든 분들께 감사드립니다.

<a href="https://github.com/Blue-B"><img src="https://github.com/Blue-B.png?size=80" width="80" alt="Blue-B" title="Blue-B" /></a> <a href="https://github.com/matbgn"><img src="https://github.com/matbgn.png?size=80" width="80" alt="matbgn" title="matbgn" /></a>

지원

이 프로젝트가 시간을 절약해 준다면, 직접 지원하면 버그 수정, 모델 안정성 및 새로운 번역 옵션에 도움이 됩니다.

감사의 말

라이선스

GPL-3.0. 외부 API 및 서비스(DeepL, OpenAI, Gemini 등)는 자체 약관을 준수해야 합니다.

원본 저장소: Blue-B/WhisperSubTranslate

라이선스: NOASSERTION

게재 제외를 원하시면 삭제 요청을 보내주세요.