Repolode
McCloudS

McCloudS/subgen

基于 OpenAI Whisper 的自托管字幕生成工具,可为本地影音文件自动生成字幕,并对接 Bazarr、Plex 等媒体服务器。

Star
1,504
Fork
122
未关闭 Issue
5
最近提交
3个月前

这是什么?

Subgen 将音频和视频文件转写为 .srt 或 .lrc 字幕文件,可保留原始语言,也可将外语语音翻译为英文。底层使用 stable-ts 与 faster-whisper,支持 CPU 运行,也支持 Nvidia GPU(CUDA)加速。

它适合用来补齐媒体库中缺失或时间轴不准的字幕。Subgen 可作为 Bazarr 的 Whisper 字幕提供方,也能接收 Plex、Jellyfin、Emby 和 Tautulli 的 webhook,在媒体入库或播放时自动生成字幕。它还能扫描指定目录并监控新文件。

项目同时提供兼容 OpenAI 的 /v1/audio/transcriptions 和 /v1/audio/translations 接口,其他支持 Whisper API 的客户端可将其作为后端使用。大部分行为通过环境变量配置,包括基于已有字幕和音轨的跳过规则。

核心功能

  • 01生成 SRT 字幕,纯音频文件可生成 LRC 歌词文件。
  • 02支持保留原语言转写,或将语音翻译为英文。
  • 03通过 CUDA 在 CPU 或 Nvidia GPU 上运行。
  • 04可作为 Bazarr 的 Whisper 提供方,并通过 webhook 对接 Plex、Jellyfin、Emby 和 Tautulli。
  • 05可扫描并监控目录,为已有或新增文件生成字幕。
  • 06提供兼容 OpenAI 的转写与翻译接口。

适用场景

  • 为没有字幕的家庭影音库补充字幕。
  • 新剧集加入 Plex 或 Jellyfin 后自动生成字幕。
  • 为 Bazarr 提供自托管的 Whisper 后端。
  • 通过简单的 HTTP 接口为个人音视频生成字幕。

快速上手

  1. 1

    根据你的硬件设置环境变量 TRANSCRIBE_DEVICE 和 WHISPER_MODEL

  2. 2

    使用 README 中的 CPU 或 CUDA 镜像通过 Docker 运行 Subgen

  3. 3

    在 Bazarr 中将 Whisper Provider 的 Docker Endpoint 设置为 http://<你的IP>:9000

使用前须知

  • 使用 Nvidia GPU 转录速度快得多,纯 CPU 运行较慢。
  • AMD GPU(ROCm)支持未经测试,可能完全无法工作。
  • large-v3-turbo 模型不支持翻译。

标签

常见问题

subgen 是什么?
基于 OpenAI Whisper 的自托管字幕生成工具,可为本地影音文件自动生成字幕,并对接 Bazarr、Plex 等媒体服务器。 Subgen 将音频和视频文件转写为 .srt 或 .lrc 字幕文件,可保留原始语言,也可将外语语音翻译为英文。底层使用 stable-ts 与 faster-whisper,支持 CPU 运行,也支持 Nvidia GPU(CUDA)加速。
subgen 可以免费使用吗?用的什么许可证?
subgen 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
subgen 还在维护吗?
半年内有更新。subgen 最近一次提交是在 2026年8月7日。
subgen 适合用来做什么?
为没有字幕的家庭影音库补充字幕。 新剧集加入 Plex 或 Jellyfin 后自动生成字幕。 为 Bazarr 提供自托管的 Whisper 后端。 通过简单的 HTTP 接口为个人音视频生成字幕。
subgen 怎么安装和运行?
根据你的硬件设置环境变量 TRANSCRIBE_DEVICE 和 WHISPER_MODEL 使用 README 中的 CPU 或 CUDA 镜像通过 Docker 运行 Subgen 在 Bazarr 中将 Whisper Provider 的 Docker Endpoint 设置为 http://<你的IP>:9000
在哪里获取 subgen?
源代码和安装说明在 GitHub 上:https://github.com/McCloudS/subgen

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目