🎬 Interview Transcriber
✨功能概览
视频:提取最清晰静帧 + 转 MP3;音频:直接用作音频(跳过转码、无静帧)。
一个采访拆成多个文件?明确告知后自动合并转录为一篇文档。
Qwen3-ASR-Flash(可选升级,准确率最高),需 DashScope API Key。
默认 SenseVoice / Paraformer(魔搭社区,中文优秀,离线可用)。
每轮对话标注 [MM:SS],精准定位视频位置。
LLM 语义分析,自动区分「采访者 / 受访人 / 其他角色」(支持多说话人)。
LLM 生成 3–5 句话概括采访核心内容。
提取受访人学校 / 专业 / 年级 / 家乡 / 经历 / 观点。
本地 Word(.docx) / 钉钉文档 / 飞书 / Notion / 其他平台。
📦安装
把这个仓库链接直接发给你的 Agent,让它自动下载安装即可:
# 仓库地址
https://github.com/torylyj/interview-transcriber
安装完成后,在 Agent 对话中提到「转录采访视频」就会自动触发。
🚀快速开始
前置条件
- ffmpeg — 视频处理。Windows 缺失时 Agent 会自动从国内镜像下载静态构建;也可手动用 choco / winget / brew 安装。
- Python 3.10+ — 运行转录脚本。
- DashScope API Key — 仅云端转录需要(获取地址);本地转录完全不需要。
- 无需 HuggingFace Token — 说话人统一由 LLM 语义切分,模型仅 SenseVoice / Paraformer(魔搭社区国内直连)。
安装是自动的:把本技能交给 Agent 后,首次使用它会自动通过国内镜像装好依赖与 ffmpeg(如需手动触发:python scripts/setup_env.py)。你通常不需要手动装任何东西。
📖使用说明
使用非常简单,只需要告诉 Agent 你的视频或音频地址,剩下的全部自动完成。
基本用法
# 视频 帮我转录这个采访视频:D:/videos/interview_001.mp4 # 音频(无需视频转 MP3,也不会提取静帧) 帮我转录这段采访录音:D:/audios/interview_001.m4a
Agent 收到后会自动执行完整流程,默认使用本地转录(SenseVoice,离线可用、无需任何配置),不会打断你提问。
- 如果想要更高的识别准确率,随时告诉 Agent「用云端转录」(需 DashScope API Key),它会切换为 Qwen3-ASR-Flash。
- 如果一个采访被拆成了多段视频/音频,只需在开头说明「这 N 个文件是同一段采访」,Agent 会自动合并转录成一篇文档。
常见用法示例
| 场景 | 示例指令 |
|---|---|
| 转录并保存到本地 | 帮我转录 D:/video.mp4,保存到桌面 |
| 转录并上传钉钉文档 | 帮我转录这个视频并上传到钉钉文档:D:/video.mp4 |
| 转录音频录音 | 帮我转录这段录音:D:/audios/interview.m4a |
| 多段合并采访 | 这段采访我分了 3 段:a.mp4 b.mp4 c.mp4,它们是同一段采访,帮我合并转录 |
| 转录多个视频 | 帮我批量转录 D:/videos/ 目录下的所有视频 |
| 只要转录文本 | 帮我转录 D:/video.mp4,不需要摘要和人物信息 |
首次使用准备(仅云端需要)
云端转录(推荐,准确率最高)需要配置 DashScope API Key:
# 获取地址:https://bailian.console.aliyun.com/?tab=model#/api-key export DASHSCOPE_API_KEY="sk-your-key-here"
提示:默认本地转录(SenseVoice,离线可用、无需配置);若需更高准确率可切云端 Qwen3-ASR-Flash(需 DashScope API Key,费用极低)。
📄输出文档结构
最终以 Word 文档(.docx) 形式交付,直接读取结构化数据生成,全程无 Markdown 中间文件。
视频中人物画面截图(居中显示);音频输入时无此行。
3–5 句话概括采访核心内容。
学校 / 专业 / 年级 / 家乡 / 关键经历 / 核心观点。
带说话人标签和时间码的逐句对话。
⏱️性能预估
以一段 20 分钟采访视频 为例(本机实测环境:NVIDIA RTX 4070 Ti SUPER + 模型已缓存):
| 环节 | 本地模式(默认,GPU) | 云端模式(Qwen3-ASR-Flash) |
|---|---|---|
| 视频提取音频(ffmpeg) | 20–40 秒 | 20–40 秒 |
| 模型加载(每次新进程) | 10–30 秒 | — |
| ASR 转录 | 1.5–3 分钟(GPU ~20x 实时) | 2–4 分钟(分 5 段上传+服务端) |
| 说话人识别+摘要+自检(LLM) | 1–3 分钟 | 1–3 分钟 |
| 抽最清晰静帧 | 10–20 秒 | 10–20 秒 |
| 生成 .docx | <10 秒 | <10 秒 |
| 本机首次 | ≈ 4–8 分钟 | ≈ 4–8 分钟 |
| 本机后续 | ≈ 4–8 分钟 | ≈ 4–8 分钟 |
- 本机「首次≈后续」:因为模型已缓存在本地,首次不再有下载开销。技能里的「首次转录会下载模型」提醒只对全新机器第一次跑才生效。
- 全新机器首次(换电脑):本地模式额外加 ①pip 装依赖 ~1–2 分钟 + ②SenseVoice 模型下载 ~1–3 分钟,即首次 6–12 分钟;云端模式永远不需要下载模型。
- 本地 vs 云端速度相当(都 4–8 分钟),差异在质量:云端中文准确率更高,本地 SenseVoice 已够用且完全离线。
💻最低硬件配置
纯本地转录对硬件要求不高(模型仅 ~500MB),分两档:
纯 CPU 模式(无显卡也行)
| 项 | 最低要求 | 说明 |
|---|---|---|
| CPU | 任意 x86-64 双核,2.0GHz+ | 近 10 年内的电脑基本满足 |
| 内存 | 8GB(建议 16GB) | 模型 ~0.5GB + torch 推理峰值 4–6GB |
| 硬盘 | 10GB 可用 | 环境 ~1.5GB + 模型 0.5–1GB + 系统/临时 |
| 显卡 | 不需要 | 完全用 CPU 跑 |
| 系统 | Windows 10/11、Linux、macOS | 脚本用正斜杠,跨平台 |
| 20 分钟视频耗时 | 约 20–60 分钟 | CPU 约 0.3–1x 实时 |
带 NVIDIA 显卡(推荐,速度追平云端)
| 项 | 最低要求 | 说明 |
|---|---|---|
| GPU | NVIDIA 显卡,≥4GB 显存,支持 CUDA | 入门级 GTX 1650 4GB / RTX 3050 4GB 即可 |
| 显存占用 | SenseVoice 小模型推理约 1–2GB | 4GB 显存绰绰有余 |
| 驱动 | 支持 CUDA 12.x | 需对应 NVIDIA 驱动版本 |
| 20 分钟视频耗时 | 约 2–4 分钟 | 本机 RTX 4070 Ti 16GB 即此档 |
硬性约束:
- 必须是 NVIDIA 显卡 才能用已装的 CUDA 版 torch;AMD / Intel 核显无法用 CUDA,只能退回 CPU。
- 说话人识别强依赖联网 + DashScope API Key:本地 ASR 本身能离线,但角色切分是调 qwen-plus 做的。
- ffmpeg 必需(视频抽静帧、提取音频),独立下载项,不算在 Python 环境里。
- 首次需联网:下载模型(~500MB,魔搭国内直连)+ pip 依赖;之后可完全离线跑 ASR。
⚠️注意事项
- 文档命名规范:
拍摄时间+人物简介,如26-0509 车辆学院直博生(人物简介 ≤10 字)。 - 多段采访合并:必须明确告知哪几个文件属于同一段采访,Agent 才会合并转录为一篇文档;未说明则每个文件各成一篇。
- 智能静帧:由
scripts/extract_frame.py均匀采样多帧、按清晰度比选最清晰的一张(避免黑屏/字幕遮挡帧)。 - 默认本地转录:默认 SenseVoice 离线可用、无需配置;仅当需要更高准确率或提供 DashScope API Key 时才切云端。
- 时间码精度:本地精确到秒;云端段内为估算值(4 分钟粒度),文档中已标注,请勿当作精确时间。
- Windows 路径:使用正斜杠
/,避免中文路径传给 API。 - 长文本处理:LLM 单次输入建议不超过 8000 字符,超长需分段。
- 在线文档上传:部分平台 API 限制内容长度,超长文档需分段上传。
📝更新日志
补充性能预估 + 最低硬件配置;并梳理修正若干表述(默认本地、SKILL 重复文本、模型下载体积范围)。
精简依赖(默认仅 5 包):移出 faster-whisper / pyannote,说话人统一 LLM 语义切分,外网下载全走国内镜像(阿里云 / 清华 / 腾讯云 PyPI、npmmirror 二进制、魔搭、hf-mirror)。
产品经理视角优化:多段合并、最清晰静帧(extract_frame 按清晰度比选)、统一 DashScope 调用(call_qwen)、全流程进度反馈、SKILL 由 808 行瘦身至 ~178 行、默认本地转录。
移除 Markdown 中间文件:转录 → _transcript.json → _document.json → .docx 直出,全程无 .md。
最终交付改为 Word(.docx);新增 Step 3.7 自检润色、Step 6 主动询问交付位置;支持音频输入(跳过转码、无静帧)。
本地多模型支持(SenseVoice / Paraformer,魔搭社区),新增对话时间码、LLM 摘要与人物信息、适配多种 AI Agent。
初始版本:完整工作流程(预处理 → 转录 → 说话人识别 → 分发)。