English | 简体中文
查看当前开发任务 📋
GPT-Subtitle 结合了 Whisper 和 OpenAI 的 GPT-3 语言模型 🧠,为你提供音频和视频的本地翻译功能。不仅能够将字幕转换成对话并进行翻译,而且支持多种语言的翻译,并能方便地将字幕翻译成其他语言。 🛰️
通过接入 whisper.cpp 模型,现在你可以:
- 扫描文件夹内的视频和音频,并转换成 srt 字幕文件 🔍 🎞️ 🎧
- 利用优化算法进行多语言字幕文件的翻译 💬 🌐
- NextJS 13 (App Router)
- NestJS
- Jotai
- Framer Motion
- Radix UI
- Socket.IO
- TailwindCSS
本项目基于 Node.js 平台,因此需要在本地首先安装 Node.js。安装完成后,请打开命令行工具,进入项目根目录,然后安装 pnpm 和项目所需的依赖:
pnpm install
安装 whisper
sh setup-whisper.sh
安装 ffmpeg,其他系统请自行安装
brew install ffmpeg
也需要安装 redis 和 mysql,其他系统请自行安装
brew install redis
brew install mysql
在使用翻译功能之前,你需要先在 OpenAI 官网 注册账户,然后申请 API KEY。在获得 API KEY 后,可以在根目录下从.env.template
拷贝一个名为 .env
的文件,并在其中添加如下配置:
# Frontend Setting
NEXT_PUBLIC_API_URL=http://localhost:3001 # Same as above. Backend API address
WEB_PORT=3000 # Frontend start port
# Backend Setting
OPEN_AUTH=true # Whether to enable authentication
OPENAI_API_KEY= # OpenAI API KEY
GOOGLE_TRANSLATE_API_KEY= # Google API KEY(Can be left blank)
BASE_URL= # OpenAI API URL
## Database Setting
REDIS_PORT=6379 # Redis port
REDIS_HOST=subtitle_redis # Redis address
MYSQL_HOST=subtitle_mysql # MySQL address
MYSQL_PORT=3306 # MySQL port
MYSQL_USER=root # MySQL user
MYSQL_PASSWORD=123456 # MySQL passowrd
MYSQL_DATABASE=gpt_subtitle # MySQL Database name
## Server Address Setting
SERVER_PORT=3001 # Backend start port
## Auth Setting
### GitHub Auth
GITHUB_CLIENT_ID= # GitHub client ID
GITHUB_CLIENT_SECRET= # GitHub client secret
AUTH_SECRET = YOUR_KEY_HERE # JWT secret you can run `openssl rand -base64 32` to generate a secret
## System Setting. You can edit in Setting
OUTPUT_SRT_THEN_TRANSLATE=true # Whether to output the SRT file first and then translate it
TranslateModel=google # google or gpt3
LANGUAGE=zh-CN # Output SRT file and then translate the language
TRANSLATE_DELAY=1500 # Delay between calling translation interface
TRANSLATE_GROUP=4 # Translate sentences for grouping translation, how many sentences can be translated at most at a time
本地部署服务
npm run deploy:prod
-
change the args inside
docker-compose.yml
args: - WEB_PORT=3000 - SERVER_PORT=3001 - NEXT_PUBLIC_API_URL=http://localhost:3001
-
run command
docker-compose up -d
setup-whisper.sh
,安装 whisper 脚本
可以选择下载的模型,把 make 之前的注释去掉即可
# more info about whisper.cpp: https://github.com/ggerganov/whisper.cpp
# make tiny.en
# make tiny
# make base.en
# make base
# make small.en
# make small
# make medium.en
# make medium
# make large-v1
# make large
模型越大,翻译效果越好,但是速度越慢,建议除了英语使用 large 模型
Nvida GPU 可以加速模型的运行,但是需要安装 CUDA,详情见 whisper 项目的说明