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-данных агенту для автоматической обработки
Удалённый 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.10На macOS можно установить так:
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-сервера
Выберите любую GPU-облачную платформу с поддержкой SSH. Например, консоль AutoDL:
https://www.autodl.com/console/instance/listОбщий процесс:
Выберите GPU-инстанс, например 4090.
Выберите образ Ubuntu.
Включите.
Найдите SSH-данные для подключения в консоли:
host port user password 或 private keyСначала убедитесь локально, что вход работает:
ssh -p <port> <user>@<host>
Если на этом шаге вход работает, агент сможет взять на себя установку зависимостей, загрузку задач, запуск 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-граммами, работает офлайн.
Если нужен семантический поиск:
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 -qThis server cannot be deployed
Maintenance
Related 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.-