auto-subtitle · 自动字幕

把音频/视频里的人声识别成字幕文件(SRT/ASS/TXT/JSON),可选把字幕烧录进视频。
基于 faster-whisper 本地 ASR,中文友好断句(默认每行约 18 字);ASS 样式按视频宽高自适应字号与边距。模型 tiny 到 large-v3 可选,越大越准越慢。视频自动提取音轨,不修改原文件。
调用示例:在聊天框中说"给这条视频生成中文字幕并烧录进去"。
产品详解
定位
auto-subtitle 只做一件事:语音 → 字幕文件(+ 可选烧录进视频)。它不做剪辑、不做翻译、不做降噪。
核心能力
- 本地 ASR 转录:faster-whisper 封装,自动检测语言,视频输入自动提取 16kHz 单声道音轨。
- 四种字幕格式:SRT(默认)、ASS、TXT、JSON。
- 中文友好断句:按标点与长度断行,默认每行约 18 字,超长自动拆条。
- ASS 自适应样式:字号按视频短边、边距按宽高自动计算,横竖屏都合适;带样式的硬字幕优先烧 ASS。
- 可选烧录:ffmpeg 烧录硬字幕,或封装软字幕(可关闭)。
- 模型可调:tiny / base(默认)/ small / medium / large-v3,精度与速度 trade-off。
工作流程
- 提供音频或视频文件
- 选择字幕格式(默认 SRT)、语言(默认自动检测)、模型(默认 base)
- 生成字幕文件到
outputs/主题名/ - (可选)烧录硬字幕进视频,或封装软字幕
- 报告识别语言、字幕条数、所用模型与输出路径
输入与输出
| 输入 | 必填 | 说明 |
|---|---|---|
| input_file | 是 | 音频(mp3/wav/m4a/aac/flac)或视频(mp4/mkv/mov/webm) |
| format | 否 | srt(默认)/ ass / txt / json |
| language | 否 | auto(默认)或 zh/en 等 ISO 639-1 码 |
| model | 否 | tiny / base(默认)/ small / medium / large-v3 |
| burn | 否 | 是否烧录进视频(需视频输入) |
输出:字幕文件;若烧录则另出 *-sub.mp4 硬字幕视频。
与相邻 skill 的区别
| skill | 分工 |
|---|---|
| auto-subtitle(本) | 语音 → 字幕文件(+ 烧录) |
| subtitle-translate | 字幕翻译 |
| audio-denoise | 降噪,不做字幕 |
| video-editing | 通用视频剪辑 |
| clipify | 长视频智能切片 + 烧字幕 |
适用场景
- 口播、课程、访谈视频批量上字幕
- 播客转文字稿(TXT/JSON)
- 短视频发布前的硬字幕烧录
使用前准备
- 无需 API key;首次运行从 HuggingFace 下载模型,需外网(支持代理环境变量)。
- CPU 环境用默认
--device cpu --compute-type int8即可。 - 纯音频无法烧录,只出字幕文件;识别准确度与录音质量正相关。
auto-subtitle 隶属于 Aiglade Skill 库。在 Aiglade 聊天框中用自然语言描述需求即可调用。