这是一个基于DeepSeek API的字幕翻译工具,旨在将英文字幕翻译成中文。该工具支持上下文翻译,确保翻译的自然流畅和连贯性。
Note
本工具使用DeepSeek API,在使用前请确保你有有效的API密钥。
✨ 觉得有帮助的朋友可以给个Star
- 🔍 上下文翻译:考虑上下文信息,提供更准确的翻译
- 🎯 专业领域支持:可以指定专业领域,使用相关术语
- ⚡ 并行处理:使用异步任务管理,支持并行发送翻译请求,提高效率
处理方式 | 100行 | 500行 | 1000行 | 备注 |
---|---|---|---|---|
传统串行 | ~200s | ~1000s | ~2000s | 每条字幕约2s |
10线程 | ~40s | ~150s | ~300s | 性能提升约5-6倍 |
15线程 | ~25s | ~80s | ~160s | 性能提升约10-12倍 |
Tip
对于大多数场景,建议使用10-15线程的配置以获得最佳性能。
场景 | 建议配置 | 预期效果 |
---|---|---|
短视频(<1000条字幕) | 15线程 | 最佳性能平衡 |
长视频(>1000条字幕) | <10线程 | 避免API限流 |
专业内容 | 指定domains + 15线程 | 准确度与性能平衡 |
实时翻译 | 10线程 | 稳定性优先 |
- 每条字幕翻译时会考虑前后字幕的上下文
- 保持对话的连贯性和自然流畅度
- 基于Python asyncio的异步任务处理
- 支持最高15线程并发翻译
- 智能任务队列管理,避免API限流
- 非阻塞式任务提交和结果获取
Important
在开始之前,请确保你的系统已安装Python 3.11或更高版本。
-
克隆该仓库:
git clone https://github.com/Samueli924/UltraSub.git cd UltraSub
-
安装依赖:
pip install -r requirements.txt
-
设置环境变量:
[!CAUTION] 请妥善保管你的API密钥。
export API_KEY='你的DeepSeek API Key' export ENDPOINT='https://api.deepseek.com'
-
准备一个英文单轨SRT文件,确保文件格式正确。
-
使用命令行运行翻译工具:
python translate_subtitle.py path/to/your/file.srt --domains 科技 医疗 XX
[!TIP]
--domains
参数是可选的,可以指定多个专业领域来提高特定领域的翻译质量。 -
翻译完成后,译文将保存在
output
目录下,文件名为原文件名_zh.srt
。
- 🤖 src/llm.py:包含翻译模型的实现,负责与DeepSeek API进行交互
- 📝 src/logging.py:配置全局日志记录,支持控制台和文件输出
- 🔄 src/decorators.py:定义重试装饰器,用于处理API调用失败的情况
- 🛠️ src/funcs.py:包含辅助函数,如读取SRT文件、格式化翻译提示等
- ⚡ src/tasks.py:实现任务管理器,支持并发任务处理
- 🎮 translate_subtitle.py:主程序,负责处理命令行输入和调用翻译功能
Note
欢迎任何形式的贡献!请提交问题、建议或拉取请求。