video-agent-mcp
Video Learning Agent
Video Learning Agent 把“看视频学习”自动化成一条工程流水线。
你给它一个 B站/YouTube 视频链接、合集链接,或者一个视频列表文件。它会先尝试拿字幕;如果没有字幕,就把任务发到你租好的 GPU 云主机上跑 ASR;转写完成后拉回本地,生成 Markdown 学习文档,并建立本地搜索索引。
B站 / YouTube 链接或列表
-> 优先获取字幕
-> 无字幕时上传任务到 GPU 云主机
-> GPU 下载音频并跑 faster-whisper ASR
-> 拉回 transcript.md / segments.jsonl
-> 生成可学习、可操作的 Markdown 总结
-> 建 SQLite / Chroma 搜索索引适合谁
想批量消化课程视频的人
想把公开视频变成学习文档的人
想自动生成“知识点 + 例子 + 工具命令 + GitHub 项目 + AI 实践项目”的人
想让 Claude、Codex、WorkBuddy 通过 MCP 调用这套流程的人
Related MCP server: mcptube-vision
功能
支持 B站和 YouTube
支持单视频、合集、playlist、TSV/CSV 视频列表
优先拉字幕,字幕不可用时才跑 ASR
支持你手动租 GPU 云主机,然后把 SSH 信息交给 Agent 自动处理
远程 ASR 使用
faster-whisper默认模型
medium默认 GPU 模式
cuda + float16默认每批 20 个视频
默认 4090 可尝试 3 个 ASR worker 并发
实时查看下载/ASR 进度
结果拉回本地后生成 Markdown 学习文档
本地 SQLite 搜索,Chroma 语义搜索可选
提供 MCP server
安装
git clone https://github.com/hahahng/video-learning-agent.git
cd video-learning-agent
python3 -m pip install -e '.[remote,mcp,test,yaml]'需要系统里有:
ffmpeg
yt-dlp
python >= 3.10macOS 可以这样装:
brew install ffmpeg yt-dlp最简单用法:有字幕的视频
如果视频有字幕,不需要 GPU。
video-agent ingest "https://www.bilibili.com/video/BVxxx"命令会创建一个任务目录:
work/jobs/<job_id>/查看状态:
video-agent status <job_id>生成总结:
video-agent digest <job_id> --index搜索:
video-agent search "文件系统"没字幕怎么办:租 GPU 跑 ASR
如果视频没有字幕,或者字幕质量太差,就租一台带 NVIDIA GPU 的云主机跑 ASR。
这个项目不自动帮你买机器。你自己在云平台开好 GPU 实例,然后把 SSH 信息填到配置里。
推荐配置:
GPU:RTX 4090 / A10 / A100 / L40S 都可以
系统:Ubuntu 20.04 / 22.04
磁盘:至少 50GB,可批量跑建议 100GB+
网络:能访问 B站 / YouTube / Hugging Face 模型下载地址
登录方式:SSH password 或 SSH key
1. 租 GPU 云主机
任选支持 SSH 的 GPU 云平台。比如 AutoDL 控制台:
https://www.autodl.com/console/instance/list通用流程是:
选择 GPU 实例,比如 4090。
选择 Ubuntu 镜像。
开机。
在控制台找到 SSH 连接信息:
host port user password 或 private key本地先确认能登录:
ssh -p <port> <user>@<host>
只要这一步能登录,Agent 就能接管后面的安装依赖、上传任务、跑 ASR、拉回结果。
更多细节见:GPU ASR 使用说明
AutoDL 示例
如果使用 AutoDL:
打开 AutoDL 实例列表。
新建或启动一台 GPU 实例。
推荐选择 4090,系统镜像选择 Ubuntu。
进入实例详情页,复制 SSH 登录信息。
你会拿到类似这样的信息:
host: connect.xxx.autodl.com 或平台提供的连接地址 port: 具体端口 user: root password: 实例密码先本地测试:
ssh -p <port> root@<host>能登录后,把 host/port/user 写进
video-agent.config.yaml,密码放进环境变量。
2. 配置 GPU SSH
复制配置文件:
cp video-agent.config.example.yaml video-agent.config.yaml编辑 video-agent.config.yaml:
jobs_root: work/jobs
data_root: data
gpu_profiles:
my_4090:
host: your.gpu.ssh.host
port: 22
user: root
remote_root: /root/autodl-tmp/video-learning-agent
password_env: VIDEO_GPU_PASSWORD密码不要写进配置文件。放到环境变量:
export VIDEO_GPU_PASSWORD='你的 GPU SSH 密码'如果用 SSH key:
gpu_profiles:
my_4090:
host: your.gpu.ssh.host
port: 22
user: root
remote_root: /root/autodl-tmp/video-learning-agent
key_filename: /Users/you/.ssh/id_ed255193. 批量跑视频列表
TSV 格式示例:
index bv title url duration
1 BVxxxx 第一节 https://www.bilibili.com/video/BVxxxx
2 BVyyyy 第二节 https://www.bilibili.com/video/BVyyyy 启动:
video-agent ingest ./videos.tsv \
--gpu-profile my_4090 \
--batch-size 20 \
--asr-workers 3如果你已经创建了 job,但还没启动远程 ASR:
video-agent run-remote-asr <job_id> \
--gpu-profile my_4090 \
--batch-size 20 \
--asr-workers 34. 实时看进度
video-agent status <job_id> --gpu-profile my_4090 --watch输出类似:
进度:ASR 中
音频:51 / 73
转写:18 / 73
当前:BVxxxx
GPU:82%,显存 17.4G / 24.0G
音频占用:3.9G
数据盘剩余:46G
错误:无5. 拉回结果
video-agent pull <job_id> --gpu-profile my_4090本地结果会在:
work/jobs/<job_id>/transcripts/每个视频包含:
transcript.md
segments.jsonl6. 生成学习文档
video-agent digest <job_id> --index输出:
work/jobs/<job_id>/digests/
data/video_learning.sqlite如果设置了 OPENAI_API_KEY,会调用大模型生成更丰富的总结:
export OPENAI_API_KEY='你的 OpenAI API Key'
video-agent digest <job_id> --index没有 API Key 时,会生成一个结构完整的本地草稿。
总结文档模板
每个视频会生成一个 Markdown 文档:
# 编号|总结标题
## 0. 这节课的主线流程图
## 1. 知识点
## 2. 老师例子
## 3. 中间用了什么工具、命令、工作流,我们可以学什么
## 4. GitHub 可复现项目
## 5. 我们利用 AI 可以做什么项目
## 6. 今天可以动手做什么
## 7. 学完这节应该留下什么第 7 节会尽量落到:
落地产物
输入
步骤
命令
验收标准
效率提升MCP 用法
启动 MCP server:
video-agent-mcp提供工具:
ingest_urljob_statusrun_remote_asrpull_transcriptsdigest_transcriptssearch_notes
Claude、Codex、WorkBuddy 只要支持 MCP,就可以调用这些工具。
可选 Chroma 向量库
默认搜索是 SQLite 中文 n-gram,离线可跑。
如果想做语义搜索:
python3 -m pip install chromadb
video-agent index --docs work/jobs/<job_id>/digests --chroma
video-agent search "能做什么 AI 项目" --chroma安全说明
不要把 SSH 密码写进
video-agent.config.yaml。不要提交
.env、video-agent.config.yaml、work/jobs/。GPU 云主机只负责下载音频和 ASR,总结默认在本地跑。
当前项目不会自动购买、停止、销毁云主机。
开发测试
python3 -m compileall video_learning_agent tests
python3 -m pytest -qRelated MCP Connectors
Summarize public video URLs into Markdown notes and read their transcripts.
Multimodal video analysis MCP — transcription, vision, and OCR for any video URL.
Any social-video URL → transcript, metadata, frames, OCR, summary, search, Q&A. MCP server + x402.
YouTube transcripts, search, channel browsing, and playlists for AI agents via MCP.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables users to ingest YouTube videos and query a persistent, compounding knowledge wiki built from transcripts and scene-change visual analysis, with agentic search and source citations through MCP clients.-
- FlicenseNot gradedqualityAmaintenanceEnables users to ingest YouTube videos into a persistent, cross-referenced knowledge base by extracting transcripts, analyzing scene-change frames with vision models, and providing agentic search and cited answers through MCP clients like Claude and Copilot.-
- FlicenseNot gradedqualityAmaintenanceEnables users to turn YouTube videos into a compounding, searchable knowledge base by combining transcripts with vision analysis and agentic retrieval, while serving that capability to MCP clients like Claude and Copilot.-
- FlicenseNot gradedqualityAmaintenanceEnables ingesting YouTube videos into a persistent, searchable wiki with transcript extraction, scene-change vision analysis, and cross-video knowledge compounding. MCP clients can then ask questions and receive reasoned answers with source citations.-