视频双语字幕提取
从视频中提取音频,用 Whisper 语音识别,自动生成 SRT 字幕文件。
> 免费使用 · 无需 API Key · 全本地运行
功能概述
| 步骤 | 工具 | 说明 |
|---|---|---|
| 下载视频 | curl / Invoke-WebRequest | 公网可直链的视频 URL |
| 提取音频 | ffmpeg | 转 16kHz 单声道 WAV |
| 语音识别 | faster-whisper | 本地识别,走国内镜像下载模型 |
| 生成字幕 | Python 脚本 | 输出 SRT / JSON |
输出 4 种格式:
- subtitles_en.srt — 纯英文
- subtitles_cn.srt — 纯中文
- subtitles_bilingual.srt — 中英双语(上英下中)
- subtitles.json — JSON 结构化数据
环境依赖
安装命令
# 1. 安装 ffmpeg
winget install --id Gyan.FFmpeg -e --accept-source-agreements --accept-package-agreements
# 2. 刷新 PATH(装完 ffmpeg 后必须)
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
# 3. 安装 faster-whisper
pip install faster-whisper
AI 执行规范
工作流程
- 下载视频(如提供的是 URL)→ 保存到
%TEMP% - 提取音频 → ffmpeg 转 16kHz 单声道 WAV
- 语音识别 → faster-whisper base 模型,自动检测语言
- 翻译(可选) → 非中文内容翻译为中文,输出双语
- 生成字幕 → SRT(utf-8-sig 编码)+ JSON
- 保存 → 用户指定目录
步骤详解
详见 references/workflow.md
关键规则
- 始终在 Python 环境变量中设置
HF_ENDPOINT=https://hf-mirror.com走国内镜像 - SRT 文件必须用
utf-8-sig编码(带 BOM),否则部分软件识别中文会乱码 - ffmpeg 音频参数固定:
-vn -acodec pcm_s16le -ar 16000 -ac 1 - 首次运行会自动下载 base 模型(~145MB),后续直接使用缓存
- 模型选择:短内容用
tiny,一般用base,高精度用small
安全边界
- 仅从用户指定的 URL 下载视频
- 所有识别本地运行,不上传数据到外部
- 临时文件用完即删