This commit is contained in:
TimoYoung
2025-06-06 17:20:28 +08:00
parent 7ad380d7e0
commit b942cf7cf5
3 changed files with 54 additions and 22 deletions

View File

@@ -26,7 +26,7 @@
"name": "AI字幕自动生成(v2)",
"description": "使用whisper自动生成视频文件字幕,使用大模型翻译字幕成中文。",
"labels": "字幕",
"version": "2.2",
"version": "2.3",
"icon": "autosubtitles.jpeg",
"author": "TimoYoung",
"level": 1,
@@ -37,7 +37,8 @@
"v1.2": "fix openai_proxy打开时,翻译失败的问题,优化日志输出",
"v2.0": "1.引入任务队列 2.支持监听媒体入库自动生成字幕 3.增加任务状态展示界面",
"v2.1": "支持清除历史记录",
"v2.2": "fix"
"v2.2": "fix",
"v2.3": "支持独立的大模型调用配置"
}
},
"CustomSites": {

View File

@@ -41,15 +41,28 @@
| faster-whisper 模型选择 | 使用的 Whisper 模型大小 | base |
| 使用代理下载模型 | 是否使用代理下载模型 | 是 |
### 翻译配置
### 翻译接口配置
| 配置项 | 说明 | 默认值 |
|-----------|----------------------|-----|
| 启用批量翻译 | 是否启用批量翻译以提高效率 | 是 |
| 每批翻译行数 | 每批处理的字幕行数 | 20 |
| 上下文窗口大小 | 翻译时考虑的上下文行数 | 5 |
| LLM请求重试次数 | 翻译失败时的重试次数 | 3 |
| 翻译英文时合并整句 | 对英文字幕先合并单词再翻译,提升翻译质量 | 否 |
> 可选使用 ChatGPT 插件配置 或 自定义 OpenAI 接口参数
| 配置项 | 说明 | 默认值 |
|------------------|--------------------------------------|-------------------------|
| 复用ChatGPT插件配置 | 是否直接使用系统中已配置的 ChatGPT 插件参数 | 否 |
| 使用代理服务器 | 是否通过 MP 配置的代理访问 OpenAI 接口 | 否 |
| 兼容模式 | 是否启用兼容模式(绕过 `/v1` 路径拼接) | 否 |
| OpenAI API URL | 自定义 OpenAI 接口地址 | https://api.openai.com |
| API 密钥 | OpenAI 的 API Key | 无 |
| 自定义模型 | 使用的 LLM 模型名称(如 gpt-3.5-turbo | gpt-3.5-turbo |
### 翻译参数配置
| 配置项 | 说明 | 默认值 |
|---------------|------------------------------------|-----|
| 启用批量翻译 | 是否启用批量翻译以提高效率 | 是 |
| 每批翻译行数 | 每批处理的字幕行数 | 10 |
| 上下文窗口大小 | 翻译时考虑的上下文行数 | 5 |
| LLM请求重试次数 | 翻译失败时的重试次数 | 3 |
| 翻译英文时合并整句 | 对英文字幕先合并单词再翻译,提升翻译质量 | 否 |
### 手动运行配置
@@ -80,19 +93,37 @@
- 当所有字幕都不存在时使用ASR提取
- 适用于大模型支持多语言翻译且翻译质量较好的场景
## 翻译方式说明
插件支持两种方式调用大模型进行翻译:
1. **复用 ChatGPT 插件配置**
- 开启“复用ChatGPT插件配置”后自动使用系统中维护的 ChatGPT 插件参数
- 包括 API Key、API URL、是否使用代理等
- 适合已有 ChatGPT 插件的用户快速部署
2. **自定义 OpenAI 接口参数**
- 关闭“复用ChatGPT插件配置”后可独立配置
- API 地址(支持反代)
- API Key
- 使用的模型
- 是否使用代理
- 是否启用兼容模式(避免 `/v1` 路径冲突)
---
## 注意事项
1. 翻译功能依赖OpenAI插件配置,使用前请确保已正确配置
2. 首次使用音轨识别功能时会自动从HuggingFace下载模型。开启"使用代理下载模型"选项会使用MP配置的代理。
3. 媒体路径支持单个文件或文件夹的绝对路径。选择文件夹时会递归处理其中的所有视频文件,外挂字幕将从媒体文件同级目录中查找
4. 批量翻译通过一次处理多行字幕来减少API调用次数提高效率。如果翻译结果与原文行数不匹配系统会自动降级为逐行翻译
5. 上下文窗口大小和批量翻译行数需要根据大模型的推理能力来调整。当模型能力不足时,过大的批量或上下文窗口可能会影响翻译质量
1. 翻译功能依赖大模型配置,使用前请确保已正确配置 OpenAI Key 或 ChatGPT 插件。
2. 首次使用音轨识别功能时,会自动从 HuggingFace 下载模型。开启"使用代理下载模型"选项会使用 MP 配置的代理。
3. 媒体路径支持单个文件或文件夹的绝对路径。选择文件夹时会递归处理其中的所有视频文件,外挂字幕将从媒体文件同级目录中查找
4. 批量翻译通过一次处理多行字幕来减少 API 调用次数,提高效率。如果翻译结果与原文行数不匹配,系统会自动降级为逐行翻译
5. 上下文窗口大小和批量翻译行数需要根据大模型的推理能力来调整。当模型能力不足时,过大的批量或上下文窗口可能会影响翻译质量
6. 翻译后的中文字幕会打上“机翻”标签。
7. 插件运行时会启动一个后台线程用于消费任务队列,插件关闭时会清空队列并终止当前任务。
## todo
- 独立的大模型调用
- 工作流/api接口
- 工作流/API接口
- 任务完成后调用媒体库刷新

View File

@@ -66,7 +66,7 @@ class AutoSubv2(_PluginBase):
# 主题色
plugin_color = "#2C4F7E"
# 插件版本
plugin_version = "2.2"
plugin_version = "2.3"
# 插件作者
plugin_author = "TimoYoung"
# 作者主页
@@ -128,7 +128,7 @@ class AutoSubv2(_PluginBase):
self._huggingface_proxy = config.get('proxy', True)
self._translate_zh = config.get('translate_zh', False)
if self._translate_zh:
use_chatgpt = config.get('use_chatgpt', False)
use_chatgpt = config.get('use_chatgpt', True)
if use_chatgpt:
chatgpt = self.get_config("ChatGPT")
if not chatgpt:
@@ -1469,7 +1469,7 @@ class AutoSubv2(_PluginBase):
{
'component': 'a',
'props': {
'href': 'https://github.com/TimoYoung/MoviePilot-Plugins/blob/main/plugins/autosubv2/README.md',
'href': 'https://github.com/jxxghp/MoviePilot-Plugins/blob/main/plugins/autosubv2/README.md',
'target': '_blank'
},
'content': [
@@ -1500,7 +1500,7 @@ class AutoSubv2(_PluginBase):
"enable_asr": True,
"faster_whisper_model": "base",
"proxy": True,
"use_chatgpt": False,
"use_chatgpt": True,
"use_chatgpt_trigger": 0,
"openai_proxy": False,
"compatible": False,