Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI_tools_Video2Understand

目标平台:录咖 (RecCloud) —— 本项目的语音转文字能力由 录咖 RecCloud 的语音转文字 API 提供,使用前需在录咖平台注册并获取 API key(消耗平台算粒)。 仓库地址:https://github.com/hcidfy/AI_tools_Video2Understand

输入一个 B站 / YouTube 视频链接,自动完成:下载视频 → 检测下载完成 → 录咖语音转文字(毫秒级时间戳)→ 按时间戳存储 → 构建 RAG 知识库(JSON)。

视频链接
  │
  ▼ ① 下载(snapwc.com)
Playwright 无头浏览器模拟真实操作:打开下载页 → 粘贴链接 → 提交 →
等待解析(~30s)→ 自动点击下载按钮 → 捕获 B站 CDN 媒体流 →
视频文件保存到 C:\Users\HCQ\Downloads(命名:<标题> - Original.mp4)
  │  snapwc 失败时自动回退 yt-dlp
  ▼ ② 文件检测
监听 Downloads:新媒体文件出现 + 大小连续稳定(忽略 .crdownload/.part 临时文件)
  ▼ ③ 转写(录咖 RecCloud API)
直接使用捕获的 B站 CDN 媒体 URL(无需重新上传;签名 URL 有效期 ~2h,即时使用)
speaker 模式(type=4 + speaker_recognition=1)→ 返回毫秒级时间戳分段
  │  失败时回退:本地 HTTP + cloudflared 隧道 → uguu 匿名上传
  ▼ ④ 存储(按时间戳)
storage/<标题>_<BV号>/ : transcript.srt / transcript.txt / segments.json /
                        reccloud_raw.json / meta.json
  ▼ ⑤ RAG 知识
knowledge.json — 按说话人合并段落 + ~600 字分片 + 100 字重叠,
                 每片含 id / 起止时间戳 / 说话人 / 文本 / token 估算
knowledge.md — 人/LLM 可读版

环境要求

  • Windows + Node.js ≥ 24(原生运行 TypeScript,无需构建)
  • 首次运行自动安装 Playwright 浏览器(约 170MB);yt-dlp 已装则作为下载兜底
  • 录咖 API key:在 reccloud.cn 注册后,于"开发者服务(API)"中获取

快速开始

一键启动(Windows)

双击项目根目录的 Video2Understand.bat:

  1. 弹出窗口后粘贴视频链接并回车
  2. 自动完成下载 → 转写 → 知识库构建
  3. 成功自动关闭窗口;失败时暂停显示错误,按任意键关闭

命令行

# 完整流程:输入 B站/YouTube 链接
node src/cli.ts "https://www.bilibili.com/video/BV1HA8K68EVB/"

# 不带参数则交互式输入链接
node src/cli.ts

# 跳过下载,转写 Downloads 里最新的媒体文件
node src/cli.ts --skip-download

# 跳过下载,指定文件
node src/cli.ts --skip-download --file="C:\Users\HCQ\Downloads\xxx.mp4"

# 其他选项
node src/cli.ts <链接> --lang=zh            # 指定音频语言
node src/cli.ts <链接> --no-speaker         # 关闭说话人/时间戳模式(纯文本)
node src/cli.ts <链接> --uploader=tunnel    # 强制指定公网URL回退方式

命令行传参时,若链接包含 &(如 B 站的 vd_source 参数),请务必用双引号包裹整个链接。

配置 API Key(安全)

API key 绝不写入仓库。按以下优先级读取:

  1. 环境变量:RECLOUD_API_KEY
  2. 本地文件 .env.local(已 gitignore,格式:RECLOUD_API_KEY=你的key)
  3. config.json(仅占位符,不会生效)
# 首次使用:复制模板并填入 key
copy .env.example .env.local
# 编辑 .env.local,填入你在录咖平台获取的 key

其余配置见 config.json(录咖 API 地址、snapwc 下载页、下载/输出目录、轮询参数等)。

输出文件(storage//)

文件 说明
transcript.srt 标准字幕(毫秒时间戳,含说话人)
transcript.txt [mm:ss - mm:ss] (speaker) 文本
segments.json 原始分段(start/end 毫秒 + text + speaker)
reccloud_raw.json 录咖接口原始返回(含 use_point 算粒消耗)
meta.json 来源、标题、时长、语言等元数据
knowledge.json RAG 知识库(chunks 含 id/时间范围/说话人/文本/token 估算)
knowledge.md 人/LLM 可读版知识文档

注意事项

  • 平台:转写依赖 录咖 RecCloud API,消耗其"算粒"额度(单次任务约 12 算粒/5 分钟视频,记录在 reccloud_raw.json 的 use_point 字段)。
  • 时效:B 站 CDN 签名 URL 有效期约 2 小时,流水线内即时使用,无需手动处理。
  • 版权:请仅下载/转写你有权保存的内容。尊重原作者版权。
  • 输出:视频保留在 Downloads 目录;转写与知识输出在 storage/(已 gitignore,可能含受版权保护的内容)。

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages