在自己的电脑运行字幕程序
从精选案例下载字幕服务源码包,解压到一个独立目录。需要 Python 3.11 或 3.12;安装依赖和模型可能需要联网。
安装和启动
在解压后的程序目录运行:
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
Copy-Item .env.example .env
.\.venv\Scripts\python.exe -B run.py
Copy-Item 只用于首次创建配置文件。已有 .env 时保留自己的配置。
示例配置默认使用 CPU、int8 和 base 语音模型,首次运行允许下载。可以在 .env 设置 VIDEO_ROOT,或使用网页上传文件。服务启动后在本机打开 http://127.0.0.1:8765;API 文档位于 /docs。
翻译配置
Whisper 负责原文识别。逐段中文翻译需另外配置兼容 Chat Completions 的模型接口:
TRANSLATION_BASE_URL=填入服务的API根地址
TRANSLATION_MODEL=填入可用的模型名称
TRANSLATION_API_KEY=填入自己的密钥
也可使用自己的本地模型服务。未配置翻译时传 translate=false,先提取原文。原文完成后通过任务重试补做中文翻译。服务配置是否完整与外部模型是否连通,需要分别检查。
本项目已有批处理采用本地 Argos en→zh 1.9 模型;下载的通用 API 源码包不包含模型文件、原始视频、私有配置或已有任务数据库。
Agent 客户端
from agent_client import SubtitleClient
with SubtitleClient("http://127.0.0.1:8765") as client:
job = client.submit_path("lesson.mp4", language="en", translate=False)
client.wait(job["id"], timeout=7200)
result = client.result(job["id"])
client.download(job["id"], "./output")
路径提交读取服务端视频目录,客户端上传则读取调用者电脑上的文件。保存任务 ID 后可以继续轮询,无需重复创建任务。
工程检查
.\.venv\Scripts\python.exe -B -m unittest discover -s tests -v
这些测试覆盖服务协议与错误恢复,不能替代外部翻译质量评价。默认服务只监听本机;如需给其他电脑调用,按程序配置要求设置访问令牌和监听地址。
参考:faster-whisper · FastAPI 上传 · Argos 模型索引