# LiteSubtitler
**Repository Path**: tobinwu/LiteSubtitler
## Basic Information
- **Project Name**: LiteSubtitler
- **Description**: **千言字幕助手**(LiteSubtitler)是一款基于大语言模型(LLM)的视频字幕处理助手,集语音识别、断句、翻译、合成为一体,一键式处理,操作简单,配置要求低,可以用于学习、观影、视频制作等场景。
- **Primary Language**: Unknown
- **License**: GPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 0
- **Created**: 2025-03-03
- **Last Updated**: 2025-12-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

千言字幕助手
基于 LLM 大语言模型的字幕翻译和生成工具
License: GPL v3
**千言字幕助手**(LiteSubtitler)是一款基于大语言模型(LLM)的视频字幕处理助手,语音识别、断句、翻译、合成一键式处理,操作简单,配置要求低,可以应用于学习、观影、视频制作等场景。
- **🚀 一键式字幕处理**:语音识别、断句、翻译、合成,全部流程一键搞定!
- **💻 开箱即用,配置无忧**:内置基础工具与模型,无需繁琐配置,下载解压即可上手使用!真正的即插即用,让技术门槛降到冰点!
- **📡 离线应用**:支持本机离线处理,基于强大的Ollama大模型进行翻译,无需网络也能轻松应对各种字幕需求!
- **🌐 模型中立,兼容广泛**:无论是本地私有大模型还是国内外公共大模型,都能完美对接,让你的字幕处理更加灵活多样!
- **💰 免费使用,开源共享**:完全免费使用,并开放源代码,欢迎各位开发者共同贡献与优化!
- **🎥 批量处理,高效便捷**:支持批量视频字幕生成,无需人工值守,系统自动完成所有工作!让你的视频制作效率翻倍!
- **🌐 多语言支持,沟通无界**:支持上百种源视频语言识别与多种目标语言翻译,让你的视频作品跨越语言障碍,走向世界!
## 📖1、快速开始
- **下载Window压缩包**: 解压后就可以使用;
- Gitee: [Window缩包(LiteSubtitler-window-XXX.zip)](https://gitee.com/tobinwu/LiteSubtitler/releases)
- Github: [Window压缩包(LiteSubtitler-window-XXX.zip 或者 LiteSubtitler-window-XXX-full.7z)](https://github.com/Tobin-wu/LiteRecorder/releases)
- 飞书下载: [飞书共享文件](https://tcnch14ftecp.feishu.cn/drive/folder/KUwXfwXyZlQEJ1dKXxMcjtvRnvb)
- **第一次使用**: 建议下载 -full.7z 版本,-full.7z 文件中打包了 FasterWhisper工具 和 small 模型,而对应的zip文件则不包括FasterWhisper工具和模型;
- - **解压**: -full.7z 文件后,运行其中的 LiteSubtitler.exe 就可以;
- **升级**: 只是要下载对应版本的 ZIP文件,解压后覆盖对应文件即可;
- **编译运行**: 可以下载源代码然后自己编译运行;
- **更多问题**: 可以加入字幕助手使用群与我们交流;如果对相关AI技术感兴趣,可以加入AI技术交流群。
- ⬇️⬇️⬇️⬇️⬇️⬇️
- **字幕助手使用群**
- **AI技术交流群**
## 📂2、安装后的目录结构
- 假设解压在 D:\tools\ai 目录,并且已经成功运行过(有些目录和文件是运行后生成的)。
```
📁 D:\tools\ai
├── 📄 LiteSubtitler.exe # 应用程序
├── 📄 setting.json # 配置文件
├── 📂 AppData
│ └── 📂logs
│ └── 📄 app.log # 运行日志
├── 📂 Faster-Whisper-XXL # faster-whisper工具
│ ├── 📄 faster-whisper-xxl.exe
│ ├── 📄 ffmpeg.exe
│ ├── 📄 license.txt
│ ├── 📄 One Click Transcribe.bat
│ └── 📂 _xxl_data
├── 📂 models
│ └── 📂 faster-whisper-small # small模型
└── 📂 resources
├── 📂 images # 使用的图片资源
├── 📂 prompts # 提示语目录
└── 📂 styles # 全局样式
```
## 📺3、UI 展示
- 主界面
- AI聊天工具
- AI翻译工具
## ♊4、UI说明
### 4.1、FasterWhisper配置
FasterWhisper用于做语音转文字处理。
- **下载工具**: 可选功能,如果用 -full.7z 解压安装的,就不需要下载工具了;否则,在打开的网页中下载对应的版本的Faster-Whisper工具,然后解压待用。
- **选择FasterWhisper工具**: 选择下载解压时的Faster-Whisper工具(faster-whisper-xxl.exe)。
- **FasterWhisper静音过滤**: 用于过滤静音,减少幻听,但使用这个功能可能会导致字幕时间轴错乱,所以如果能不用尽量不用。
- **静音过滤方法**: 用于过滤静音的模式,不同方法的区别请查阅 Faster-Whisper VAD 的相关资料。
- **静音过滤阈值**: 多大的声音被定义为静音。
- **消除背景音乐**: 把背景音乐和人声隔离出来,提高识别效果,但可能会有一些人声被误认为是音乐。
- **运行设备**: 指定用 CPU 还是 CUDA(显卡GPU)来进行语音转文字,CUDA比CPU快5倍以上,但需要电脑有GPU的显卡。
- **Whisper模型**: 进行识别使用的模型,模型由小到大排序:small、medium、large-v1、large-v2、large-v3,理论上越大的模型效果越好,但要求的计算资源越大,处理速度越慢。
- **下载模型**: 可以让系统自动下载模型(只要选择某个Whisper模型就可以,运行过程中会下载),也可以手动下载Whisper模型:
- 1、选择Whisper模型(假设选择的是:large-v2)。
- 2、建立并指定模型目录(假设目录是:D:\tools\ai\models)。
- 3、建立所择Whisper模型的子目录(根据上述假设,模型子目录应该是:D:\tools\ai\models\faster-whisper-large-v2)。
- 4、点击“下载模型”按钮,打开FasterWhisper模型网页,files页中列出的就是faster-whisper-large-v2模型的所有文件,逐个下载并放到D:\tools\ai\models\faster-whisper-large-v2目录中。
- 5、下载完成的large-v2目录架构应该是:
```
📁 D:\tools\ai\models
└── 📂 faster-whisper-large-v2
├── 📄 README.md
├── 📄 config.json
├── 📄 model.bin
├── 📄 tokenizer.json
└── 📄 vocabulary.txt
```
### 4.2、翻译配置
- **是否翻译**: 有时候只需要语音识别为文字,并不需要进行翻译。
- **翻译模式**:
- **模型直译**: 用LLM大模型进行直接翻译,不做限定和要求,都由LLM大模型自己处理。
- **精细意译**: 要求LLM大模型在直译的基础上根据说话意思进行调整,要求遵守目标语言的习惯和表达。
- **深思翻译**: 要求LLM大模型校正字幕,在遵守目标语言的习惯和表达的基础上,以专业的角度进行审视和调整,以求翻译结果更加精准。
- **消除标点符号**: 删除字幕中多余的标点符号。
- **源语言**: 视频或者音频中说话所用的语言,可以由系统自动识别(系统会通过音频的前30秒进行自动识别),也可以指定。自动识别支持更多的源语言(不在源语言的下拉列表中)。
- **目标语言**: 系统支持的结果语言,就是需要翻译为的语言,目前支持中文、英语、日语、韩语等十多种。
### 4.3、LLM 配置
- **免费注册**: 注册一个属于你自己的免费LLM账号(硅基流动的LLM云账号),其中有很多免费或者收费模型可以用。在打开的网页上用手机号注册即可。
- **API Key**: 调用LLM大模型进行翻译时使用的API密钥,在上一步“免费注册”中生成的密钥拷贝粘贴过来即可。
- **生成API密钥**:
```
1、免费注册硅基流动的LLM云账号之后,登录到硅基流动的工作台上。
2、在“账户管理”中选“API密钥”。
3、在“API密钥”页面上选择“新增API密钥”,输入密钥描述,然后“新建密钥”即可看到密钥已经生成在列表中。
4、在列表中点击一下这个密钥,比如:sk-m*******************************************dpmd,就复制成功了。
5、然后到千言字幕助手的页面上,粘贴到“API Key”后面的编辑框中。
```
- **Base URL**: LLM 大模型的地址,硅基流动的URL是:https://api.siliconflow.cn/v1
- **更新模型**: 修改了LLM模型的 API Key 或者 Base URL 之后,需要点击“更新模型”按钮来获取对应的LLM模型。
- **模型**: 可用的LLM模型,翻译使用的模型是“对话”模型(硅基流动的“模型广场”中的“对话”模型),正常情况下收费的“对话”模型都可以用来做翻译。
- **翻译比较好的免费模型**:
```
THUDM/glm-4-9b-chat
Qwen/Qwen2.5-7B-Instruct
THUDM/chatglm3-6b
```
- **检查连接**: 验证 API Key、Base URL、模型 是否正确。
### 4.4、字幕配置
- **把字幕合成到视频中**: 是否进行字幕和视频的合成处理。
- **使用软字幕**: 如果使用这个选项,就是快速把字幕附加在视频上,没有真正嵌入到视频文件中,把视频文件拷贝到其他电脑,或者投屏,可能没有字幕显示,另外,源视频已经有字幕的,采用软字幕合成会失败。如果不选用软字幕,就是硬合成,把字幕内容嵌入到视频文件中。
- **是否删除处理中产生的文件**: 处理过程中的中间文件包括:音频文件、识别文字文件,识别合并处理后的字幕文件,翻译后的字幕文件。
- **字幕排布**: 显示在视频上时,原文和译文如何排布。
- **字幕与视频底部的间隔**: 字幕显示在视频图像的什么地方。
### 4.5、主(副)字幕样式配置
- **字体**: 字幕在视频上采用的字体。
- **字号**: 字幕在视频上显示的字体大小。
- **字间距**: 字幕中字和字之间的间隔宽度。
- **字颜色**: 字幕在视频上显示的字体颜色。
- **边框颜色**: 字幕在视频上显示的字体的边框颜色。
### 4.6、操作按钮
- **添加文件**: 添加要处理的文件,支持视频文件、音频文件、字幕文件(要翻译的字幕文件)
- **开始**: 开始对列表中的文件进行处理。
- **停止**: 停止处理,停止命令发出后,将会把当前步骤执行完成才会停止。
- **清空文件**: 清空列表中的文件。
- **隐藏(显示)配置**: 隐藏或者显示上面的配置信息。
- **保存配置**: 把配置信息保存下来。另外,在开始处理时也会保存配置信息。
### 4.7、处理日志
窗口最下面部分是处理日志显示区。
## ♒5、效果
- **处理视频**:Moana.2016.avi(海洋奇缘(2016))
- **视频时长**:01:47:12
- **电脑配置**:
- **CPU**:AMD Ryzen 7 2700X,8核16线程
- **显卡**:RTX3060 Ti,8G
- **内存**:DDR4,32G
- 助手主要配置:
- Standalone Faster-Whisper-XXL r245.2
- **本地 Whisper 模型**: large-v2
- **运行设备**:cuda
- **静音过滤**:不选择
- **消除背景音乐**:选择
- **翻译模式**:精细意译
- **源语言**:自动 (俄语)
- **目标语言**:简体中文
- **LLM配置**:硅基流动,THUDM/glm-4-9b-chat (免费)
- **字幕合成**:硬合成到视频文件
- **处理时长**:24:54
- **LLM费用**:0元(95340 tokens)
- **具体测试数据**:请参考 [海洋奇缘(2016)](docs/demo/Moana.2016.md)
## 🐎6、高级功能
### 6.1、限制可选的 LLM 模型
从API获取到的模型可能很多个,但并不是都适合用于翻译,但都显示在下拉列表中,不方便选择,可以用这个功能来限制下拉列表显示的模型。
- 在配置文件 setting.json 加上如下内容:
```
"SHOW_MODELS": {
"enabled": true,
"models": [
"THUDM/glm-4-9b-chat",
"THUDM/chatglm3-6b",
"deepseek-ai/DeepSeek-V3"
]
},
```
- **enabled**:配置是否生效。
- **models**: 能用的模型。
### 6.2、修改翻译的提示语
- 修改 resources\prompts 目录下的对应文件,其中的[TargetLanguage]不能修改。
- **摘要.txt**:提取视频摘要的提示语。
- **翻译-模型直译.txt**:模型直译的提示语。
- **翻译-精细意译.txt**:精细意译的提示语。
- **翻译-深思翻译.txt**:深思翻译的提示语。
## 📝7、代码主要说明:
### 7.1、目录结构
```
📁 /LiteSubtitler
├── 📂 docs
│ ├── 📄 screen.png
│ └── 📂 demo
│ └── 📂 Moana.2016
├── 📂 resources
│ ├── 📂 images # 使用的图片资源
│ ├── 📂 prompts # 提示语目录
│ └── 📂 styles # 全局样式
└── 📂 src
├── 📄 main.py # 主程序入口
├── 📄 config.py # 配置信息
├── 📂 controller # 控制器
├── 📂 core # 核心处理模块
│ ├── 📄 base_object.py # 基类
│ ├── 📄 work_thread.py # 工作线程
│ ├── 📂 asr # ASR识别处理
│ ├── 📂 audio # 音频处理
│ ├── 📂 llm # 大模型处理
│ └── 📂 srt # 字幕处理
├── 📂 enums # 枚举定义
├── 📂 model # 数据
├── 📂 service # 服务类
├── 📂 setting # 设置
├── 📂 task # 任务处理
├── 📂 ui # 界面
└── 📂 utils # 工具
```
### 7.2、版本历史
#### v0.0.3
- 字幕合成工具:打开字幕文件,编辑字幕,选择视频文件,合成;导出台词(去掉序号和时间);另存字幕(把编辑后的字幕另存出来)。
- “配置...”菜单:把首页的大部分设置转到这个菜单里面处理。
- CUDA自适应:添加auto类型,用于自动检测并使用CUDA。
- "飞书下载..."菜单:通过共享出来的飞书云盘来下载“千言字幕助手”的新版本。
#### v0.0.4 - 20250425
- 增加图片嵌入工具:
- 1、视频片头图片:在视频片头插入持续数秒的图片。
- 2、视频片尾图片:在视频片尾插入持续数秒的图片。
- 3、嵌入图片:在视频上四个角嵌入图片,提供嵌入两个图片的功能,支持透明度,支持重定义图片尺寸,支持多时段嵌入,可以指定嵌入位置。
- 图片嵌入工具适用场景:
- 品牌宣传视频:在片头片尾添加品牌LOGO,在视频角落嵌入产品图片或二维码。
- 教育培训内容:在视频角落嵌入机构标志或讲师信息。
- 电商产品展示:在视频中嵌入产品细节图或购买二维码。
- 自媒体创作:添加个人水印、频道标志或赞助商信息。
- 活动纪念视频:嵌入活动LOGO或赞助商信息。
- 企业汇报视频:添加公司标识和数据图表辅助说明。
- 婚礼/庆典视频:嵌入新人照片或纪念性标志。