subsai
Subs AI 是一款功能强大的字幕生成工具,旨在帮助用户轻松为视频添加精准字幕。它基于 OpenAI 的 Whisper 及其多个高效变体构建,有效解决了传统字幕制作耗时费力、多语言支持不足以及时间轴对齐不准等痛点。
无论是需要批量处理视频内容的创作者,还是希望本地化部署的开发者,Subs AI 都能满足需求。它提供了三种灵活的使用方式:直观易用的 Web 界面适合普通用户和设计师快速上手;命令行工具(CLI)方便技术人员集成到工作流中;Python 包则赋予研究人员和开发者深度定制的能力。
该工具的核心亮点在于其广泛的模型兼容性,不仅支持原版 Whisper,还集成了 faster-whisper、whisperX 等优化版本,能在保证高准确率的同时显著提升推理速度并降低资源消耗。此外,Subs AI 强调隐私与离线可用,内置了基于 NLLB 和 M2M100 等模型的翻译功能,支持多语言字幕生成与修正。凭借其轻量级设计和跨平台特性,Subs AI 让高质量的字幕制作变得简单高效。
使用场景
一位独立视频创作者需要为每周更新的英文技术教程快速生成精准的中英双语字幕,以拓展海外观众群体。
没有 subsai 时
- 手动听写逐字稿耗时极长,处理一小时视频往往需要数天,严重拖慢发布节奏。
- 缺乏专业的说话人区分功能,多人访谈视频中字幕无法标记不同发言者,导致观众阅读混乱。
- 时间轴对齐困难,手动调整字幕出现和消失的时间点繁琐且容易出错,影响观看体验。
- 翻译流程割裂,需先将英文字幕导出再送入其他翻译工具,反复格式转换极易丢失时间戳信息。
- 本地部署开源模型门槛高,依赖配置复杂,非技术人员难以在个人电脑上离线运行高质量识别。
使用 subsai 后
- 利用内置的 faster-whisper 或 whisperX 模型,一键实现本地离线高速转录,将数天的工作量压缩至几分钟。
- 自动启用说话人日志(Speaker Diarization)功能,精准识别并标记不同演讲者 ID,让对话类视频字幕清晰易读。
- 基于 word-level 的时间戳算法自动生成毫秒级精准时间轴,无需人工微调即可直接用于专业剪辑软件。
- 集成 NLLB 等翻译模型,在生成字幕的同时直接输出目标语言版本,保持时间轴与原文完美同步。
- 提供轻量级 Web UI 界面,无需编写代码或配置复杂环境,创作者在 Windows 或 Mac 上即可开箱即用。
subsai 通过整合顶尖语音识别与翻译模型,将原本繁琐的字幕制作流程转化为本地一键完成的自动化操作,极大提升了视频内容的全球化生产效率。
运行环境要求
- Linux
- macOS
- Windows
- 非必需(支持 CPU 运行)
- 若使用 GPU 加速:推荐 NVIDIA 显卡(需安装 CUDA),部分模型(如 whisperX large-v2)需显存 <8GB
- 兼容 PyTorch 的 AMD 显卡也可用
未说明(取决于所选模型大小,大型模型建议充足内存)

快速开始
️🎞️ Subs AI 🎞️
基于 OpenAI 的 Whisper 及其变体的字幕生成工具(Web 界面 + CLI + Python 包)
功能
支持的模型
- openai/whisper
Whisper 是一个通用的语音识别模型。它基于大量多样化的音频数据进行训练,同时也是一个多任务模型,能够执行多语言语音识别、语音翻译以及语言识别。
- linto-ai/whisper-timestamped
多语言自动语音识别,提供词级时间戳和置信度。
- ggerganov/whisper.cpp(使用 absadiki/pywhispercpp)
高性能的 OpenAI Whisper 自动语音识别(ASR)模型推理。
- 纯 C/C++ 实现,无依赖。
- 在 CPU 上运行。
- guillaumekln/faster-whisper
faster-whisper 是使用 CTranslate2 重新实现的 OpenAI Whisper 模型,CTranslate2 是一个用于 Transformer 模型的快速推理引擎。
在相同精度下,该实现比 openai/whisper 快高达 4 倍,且占用更少的内存。通过在 CPU 和 GPU 上进行 8 位量化,效率还可以进一步提升。
- m-bain/whisperX
快速自动语音识别(使用 large-v2 可达 70 倍实时速度),具备词级时间戳和说话人分离功能。
- ⚡️ 使用 whisper large-v2 进行批处理推理,实现 70 倍实时转录。
- 🪶 后端采用 faster-whisper,large-v2 模型在 beam_size=5 的情况下仅需不到 8GB 显存。
- 🎯 利用 wav2vec2 对齐技术,获得精确的词级时间戳。
- 👯♂️ 使用来自 pyannote-audio 的说话人分离技术进行多说话人 ASR(提供说话人 ID 标签)。
- 🗣️ VAD 预处理,减少幻觉现象,并在不降低 WER 的情况下进行批处理。
- jianfch/stable-ts
为 Whisper 稳定时间戳:该库修改了 Whisper,以生成更可靠的时间戳,并扩展其功能。
- Hugging Face Transformers
Hugging Face 实现的 Whisper。也可以使用 Hugging Face 中心仓库中的任何预训练语音识别模型。
- API/openai/whisper
OpenAI Whisper 通过其 API 调用。或者任何其他类似 OpenAI 的 Whisper API(例如 speaches.ai)。
- openai/whisper
Web 界面
- 完全离线,无需第三方服务。
- 支持 Linux、Mac 和 Windows。
- 轻量级,易于使用。
- 支持字幕编辑。
- 集成工具:
- 使用 xhluca/dl-translate 进行翻译:
- 使用 smacke/ffsubsync 自动同步。
- 将字幕合并到视频中。
命令行界面
- 适用于简单或批量处理。
Python 包
- 如果您想开发自己的脚本。
由于 tkarabela/pysubs2 的支持,支持多种字幕格式。
- SubRip
- WebVTT
- substation alpha
- MicroDVD
- MPL2
- TMP
支持音频和视频文件。
安装
- 安装 ffmpeg
摘自官方 openai/whisper 安装说明
您的系统需要安装命令行工具
ffmpeg,大多数包管理器都可以获取:# 在 Ubuntu 或 Debian 上 sudo apt update && sudo apt install ffmpeg # 在 Arch Linux 上 sudo pacman -S ffmpeg # 在 MacOS 上使用 Homebrew (https://brew.sh/) brew install ffmpeg # 在 Windows 上使用 Chocolatey (https://chocolatey.org/) choco install ffmpeg # 在 Windows 上使用 Scoop (https://scoop.sh/) scoop install ffmpeg您可能还需要安装
rust,如果 tokenizers 没有为您的平台提供预编译的 wheel 文件。如果您在执行上述pip install命令时遇到安装错误,请参考 入门页面 来安装 Rust 开发环境。此外,您可能还需要配置PATH环境变量,例如export PATH="$HOME/.cargo/bin:$PATH"。如果安装失败并提示“没有名为 'setuptools_rust' 的模块”,则需要安装setuptools_rust,例如:pip install setuptools-rust
- 安装完 ffmpeg 后,安装
subsai。
pip install git+https://github.com/absadiki/subsai
[!注意]
- 建议使用 Python 3.10 或 3.11。3.12 或更高版本可能存在兼容性问题。
- 如果在使用 subsai 时,torch 无法检测到您的 GPU 设备,而您确实拥有受支持的 GPU,则可能是
pip安装了 CPU 版本的 torch。您可以按照 PyTorch 的本地入门指南安装支持 CUDA 的 PyTorch 版本。 更多信息请参阅 https://github.com/absadiki/subsai/issues/162。
使用
Web 界面
要使用 Web 界面,在终端中运行以下命令:
subsai-webui
随后将在您的默认浏览器中打开网页,否则请访问命令输出提供的链接。
您也可以使用 Docker 运行 Web 界面。
命令行界面
用法: subsai [-h] [--version] [-m MODEL] [-mc MODEL_CONFIGS] [-f FORMAT] [-df DESTINATION_FOLDER] [-tm TRANSLATION_MODEL]
[-tc TRANSLATION_CONFIGS] [-tsl TRANSLATION_SOURCE_LANG] [-ttl TRANSLATION_TARGET_LANG]
media_file [media_file ...]
位置参数:
media_file 媒体文件的路径、文件列表,或包含路径的文本文件,用于批量处理。
选项:
-h, --help 显示此帮助信息并退出
--version 显示程序版本号并退出
-m MODEL, --model MODEL
转录 AI 模型。可用模型:['openai/whisper', 'linto-ai/whisper-timestamped']
-mc MODEL_CONFIGS, --model-configs MODEL_CONFIGS
JSON 配置(JSON 文件路径或直接字符串)
-f FORMAT, --format FORMAT, --subtitles-format FORMAT
输出字幕格式,可用格式:['.srt', '.ass', '.ssa', '.sub', '.json', '.txt', '.vtt']
-df DESTINATION_FOLDER, --destination-folder DESTINATION_FOLDER
字幕将被存储的目录,默认与媒体文件所在的目录相同。
-tm TRANSLATION_MODEL, --translation-model TRANSLATION_MODEL
使用 AI 模型翻译字幕,可用模型:['facebook/m2m100_418M', 'facebook/m2m100_1.2B',
'facebook/mbart-large-50-many-to-many-mmt']
-tc TRANSLATION_CONFIGS, --translation-configs TRANSLATION_CONFIGS
JSON 配置(JSON 文件路径或直接字符串)
-tsl TRANSLATION_SOURCE_LANG, --translation-source-lang TRANSLATION_SOURCE_LANG
字幕的源语言
-ttl TRANSLATION_TARGET_LANG, --translation-target-lang TRANSLATION_TARGET_LANG
字幕的目标语言
简单使用示例
subsai ./assets/test1.mp4 --model openai/whisper --model-configs '{"model_type": "small"}' --format srt
注意:对于 Windows CMD,您需要使用以下命令:
subsai ./assets/test1.mp4 --model openai/whisper --model-configs "{\"model_type\": \"small\"}" --format srt
您也可以提供一个简单的文本文件来进行批量处理 (每行应包含单个媒体文件的绝对路径)
subsai media.txt --model openai/whisper --format srt
从 Python 中调用
安装步骤:
git clone https://github.com/absadiki/subsaicd subsaiuv pip install -e .
注意:若只需最小化安装或在安装依赖时遇到问题,可在 requirements.txt 文件中注释掉您不会使用的后端依赖项。
from subsai import SubsAI
file = './assets/test1.mp4'
subs_ai = SubsAI()
model = subs_ai.create_model('openai/whisper', {'model_type': 'base'})
subs = subs_ai.transcribe(file, model)
subs.save('test1.srt')
如需更高级的用法,请参阅文档。
示例
简单的示例可在 examples 文件夹中找到。
VAD 示例:使用 silero-vad 处理长音频文件。
翻译示例:翻译已有的字幕文件。
Docker
请确保已安装
docker。预构建镜像
docker pull absadiki/subsai:maindocker run --gpus=all -p 8501:8501 -v /path/to/your/media_files/folder:/media_files absadiki/subsai:main
在本地构建镜像
- 克隆仓库并进入目录
docker compose builddocker compose run -p 8501:8501 -v /path/to/your/media_files/folder:/media_files subsai-webui # subsai-webui-cpu 仅限 CPU
您可以通过挂载的
media_files文件夹访问您的媒体文件。
注意事项
- 如果您拥有 NVIDIA 显卡,可能需要安装 CUDA 才能使用 GPU 功能。
- 支持 PyTorch 的 AMD 显卡也应能正常工作。#67
- 终端会显示转录时间,请在运行 Web UI 时留意。
- 如果不喜欢深色模式的 Web UI,可以在“设置 > 主题 > 浅色”中切换为浅色模式。
贡献
如果您发现任何错误、建议或反馈,请提交一个问题进行讨论。
许可证
本项目采用 GNU 通用公共许可证第 3 版或更高版本授权。您可以在这些许可条件下修改或重新分发本项目(更多信息请参阅 LICENSE)。
常见问题
相似工具推荐
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
codex
Codex 是 OpenAI 推出的一款轻量级编程智能体,专为在终端环境中高效运行而设计。它允许开发者直接在命令行界面与 AI 交互,完成代码生成、调试、重构及项目维护等任务,无需频繁切换至浏览器或集成开发环境,从而显著提升了编码流程的连贯性与专注度。 这款工具主要解决了传统 AI 辅助编程中上下文割裂的问题。通过将智能体本地化运行,Codex 能够更紧密地结合当前工作目录的文件结构,提供更具针对性的代码建议,同时支持以自然语言指令驱动复杂的开发操作,让“对话即编码”成为现实。 Codex 非常适合习惯使用命令行的软件工程师、全栈开发者以及技术研究人员。对于追求极致效率、偏好键盘操作胜过图形界面的极客用户而言,它更是理想的结对编程伙伴。 其独特亮点在于灵活的部署方式:既可作为全局命令行工具通过 npm 或 Homebrew 一键安装,也能无缝对接现有的 ChatGPT 订阅计划(如 Plus 或 Pro),直接复用账户权益。此外,它还提供了从纯文本终端到桌面应用的多形态体验,并支持基于 API 密钥的深度定制,充分满足不同场景下的开发需求。
gstack
gstack 是 Y Combinator CEO Garry Tan 亲自开源的一套 AI 工程化配置,旨在将 Claude Code 升级为你的虚拟工程团队。面对单人开发难以兼顾产品战略、架构设计、代码审查及质量测试的挑战,gstack 提供了一套标准化解决方案,帮助开发者实现堪比二十人团队的高效产出。 这套配置特别适合希望提升交付效率的创始人、技术负责人,以及初次尝试 Claude Code 的开发者。gstack 的核心亮点在于内置了 15 个具有明确职责的 AI 角色工具,涵盖 CEO、设计师、工程经理、QA 等职能。用户只需通过简单的斜杠命令(如 `/review` 进行代码审查、`/qa` 执行测试、`/plan-ceo-review` 规划功能),即可自动化处理从需求分析到部署上线的全链路任务。 所有操作基于 Markdown 和斜杠命令,无需复杂配置,完全免费且遵循 MIT 协议。gstack 不仅是一套工具集,更是一种现代化的软件工厂实践,让单人开发者也能拥有严谨的工程流程。