context-infra 检查与复盘infra.guiming.net · 全内容自包含呈现 · 生成于 2026-07-21 16:28 UTC

视频下载与语音识别工作流

Z3 全文↑ Z2 条目

术-流程 · 术层 skill 全文

← 返回术层 skill 索引 · 返回方法论区

本页是 <code>rules/skills/workflow_bilibili_whisper_transcription.md</code> 的逐字投影(仅隐私清洗,零改写)。

时点提示:本页是仓内文件 rules/skills/workflow_bilibili_whisper_transcription.md 的逐字投影(仅做隐私清洗:仓库根绝对路径→相对路径、家目录→~/;除此零改写)。若源文件后续有修订,以仓内真源为准。

视频下载与语音识别工作流

元数据

路径约定

可用工具

工具路径用途
bilibili_downloadtools/INDEX.mdB 站视频/音频下载(BBDown)
video_downloadtools/INDEX.mdYouTube/X/Twitter 等通用下载(yt-dlp)
audio_transcribetools/INDEX.md音频转录(默认 Groq Whisper API,备选 Windows Remote GPU)

核心流程

三阶段工作流:

  1. 获取列表 / 下载
  2. 转录
  3. 后处理

关键决策

决策点选择原因
B 站下载工具BBDown(bilibili_download比 yt-dlp 的 B 站 extractor 更稳定,支持弹幕/课程/杜比
其他平台下载yt-dlp(video_download通用下载器之王,YouTube 需要 deno
转录引擎Groq Whisper API(默认)远端 API 识别,避免占用本机 CPU/GPU/内存
下载并发单线程避免触发B站反爬机制
转录并发批量模式audio_transcribe--batch 参数
输出格式最终保留纯文本 transcript后续检索更稳定,中间产物可回收

转录引擎选择

默认:Groq Whisper API。原则是所有识别计算走远端/API;本机只做文件枚举、必要的轻量 ffmpeg 分片、API/SSH 调用和结果写入。

引擎运行位置适用场景注意事项
groq-whisperGroq API默认首选,速度快,不占本机推理资源大文件会按 25MB API 限制自动分片;遇到 429 会等待后重试
remote-gpuWindows/WSL Remote GPUGroq API 不可用、额度不足或需要远端 GPU 兜底依赖 Windows 远端服务、SSH/Tailscale 和远端环境

当前工作流不提供本机识别 engine。

LLM 后处理

  1. 转换为简体中文 — 识别可能为繁体
  2. 添加标点符号 — 根据语义添加逗号、句号、问号
  3. 合理分段 — 按主题划分段落,添加小标题
  4. 纠正术语 — 专业名词识别错误(如"木质布"→"木质部"、"筛管细胞")
  5. 优化可读性 — 调整语序、补充缺失内容

踩坑记录

问题现象解决方案
352错误请求被B站拦截添加User-Agent/Referer headers,增加延迟,或手动获取ID
404错误视频已删除或ID错误验证ID有效性,跳过无效视频,记录失败ID
下载不完整.m4a文件无法播放检查文件大小,重新下载,添加完整性验证
Groq 25MB 限制大文件直接上传失败使用默认引擎,工具会自动用 ffmpeg 做轻量音频分片
Groq 429 限速API 返回 audio-seconds/hour 限制工具会解析等待时间并重试当前分片
Remote GPU 不可达SSH/Tailscale/Windows 环境失败优先排查远端连接;不要回退到本机识别

最佳实践

下载阶段:

转录阶段: audio_transcribe run.sh <file_or_dir> [--batch],默认 Groq Whisper API;需要兜底时显式加 --engine remote-gpu

落盘阶段:tmp/ 完成下载和转录,整理出纯文本脚本后移入 adhoc_jobs/videos_transcribe/transcripts/

清理阶段: transcript 落盘后删除或回收音频、时间轴字幕和 sidecar 文件,只保留最终脚本

质量优化: 对中文课程类内容优先做术语纠正、合理分段和小标题整理;必要时人工校对

错误处理: 实现重试机制,验证文件完整性,处理异常避免脚本中断


← 返回术层 skill 索引 · 返回方法论区