video-agent-mcp
Video Learning Agent
Video Learning Agent automatisiert „Lernen durch Videos“ zu einer Engineering-Pipeline.
Du gibst ihm einen Bilibili/YouTube-Videolink, einen Sammellink oder eine Videolistendatei. Es versucht zuerst, Untertitel zu bekommen; wenn es keine Untertitel gibt, sendet es die Aufgabe an deine gemietete GPU-Cloud-Maschine, um ASR auszuführen; nach Abschluss der Transkription werden die Ergebnisse lokal abgerufen, ein Markdown-Lerndokument wird generiert und ein lokaler Suchindex wird aufgebaut.
B站 / YouTube 链接或列表
-> 优先获取字幕
-> 无字幕时上传任务到 GPU 云主机
-> GPU 下载音频并跑 faster-whisper ASR
-> 拉回 transcript.md / segments.jsonl
-> 生成可学习、可操作的 Markdown 总结
-> 建 SQLite / Chroma 搜索索引Für wen geeignet
Personen, die Kursvideos in großen Mengen konsumieren möchten
Personen, die öffentliche Videos in Lerndokumente umwandeln möchten
Personen, die automatisch „Wissenspunkte + Beispiele + Tool-Befehle + GitHub-Projekte + KI-Praxisprojekte“ generieren möchten
Personen, die möchten, dass Claude, Codex, WorkBuddy diesen Ablauf über MCP aufrufen
Related MCP server: mcptube-vision
Funktionen
Unterstützt Bilibili und YouTube
Unterstützt Einzelvideos, Sammellisten, Playlists, TSV/CSV-Videolisten
Bevorzugt Untertitel abrufen, ASR nur wenn Untertitel nicht verfügbar
Unterstützt das manuelle Mieten einer GPU-Cloud-Maschine und die Übergabe der SSH-Informationen an den Agenten zur automatischen Verarbeitung
Remote-ASR verwendet
faster-whisperStandardmodell
mediumStandard-GPU-Modus
cuda + float16Standardmäßig 20 Videos pro Batch
Standardmäßig kann eine 4090 3 ASR-Worker parallel versuchen
Echtzeit-Anzeige des Download-/ASR-Fortschritts
Nach dem lokalen Abruf der Ergebnisse wird ein Markdown-Lerndokument generiert
Lokale SQLite-Suche, optionale Chroma-Semantiksuche
Bietet MCP-Server
Installation
git clone https://github.com/hahahng/video-learning-agent.git
cd video-learning-agent
python3 -m pip install -e '.[remote,mcp,test,yaml]'Das System benötigt:
ffmpeg
yt-dlp
python >= 3.10Unter macOS kann man es so installieren:
brew install ffmpeg yt-dlpEinfachste Verwendung: Videos mit Untertiteln
Wenn das Video Untertitel hat, ist keine GPU erforderlich.
video-agent ingest "https://www.bilibili.com/video/BVxxx"Der Befehl erstellt ein Aufgabenverzeichnis:
work/jobs/<job_id>/Status anzeigen:
video-agent status <job_id>Zusammenfassung generieren:
video-agent digest <job_id> --indexSuchen:
video-agent search "文件系统"Was tun, wenn keine Untertitel vorhanden sind: GPU mieten und ASR ausführen
Wenn das Video keine Untertitel hat oder die Untertitelqualität zu schlecht ist, miete eine Cloud-Maschine mit NVIDIA-GPU, um ASR auszuführen.
Dieses Projekt kauft die Maschine nicht automatisch für dich. Du startest selbst eine GPU-Instanz auf der Cloud-Plattform und trägst die SSH-Informationen in die Konfiguration ein.
Empfohlene Konfiguration:
GPU: RTX 4090 / A10 / A100 / L40S sind alle geeignet
System: Ubuntu 20.04 / 22.04
Speicher: mindestens 50GB, für Batch-Verarbeitung empfohlen 100GB+
Netzwerk: Zugriff auf Bilibili / YouTube / Hugging Face Modell-Download-Adressen
Anmeldemethode: SSH-Passwort oder SSH-Key
1. GPU-Cloud-Maschine mieten
Wähle eine beliebige GPU-Cloud-Plattform mit SSH-Unterstützung. Zum Beispiel die AutoDL-Konsole:
https://www.autodl.com/console/instance/listDer allgemeine Ablauf ist:
GPU-Instanz auswählen, z. B. 4090.
Ubuntu-Image auswählen.
Einschalten.
SSH-Verbindungsinformationen in der Konsole finden:
host port user password 或 private keyLokal zuerst bestätigen, dass man sich anmelden kann:
ssh -p <port> <user>@<host>
Solange dieser Schritt funktioniert, kann der Agent die anschließende Installation von Abhängigkeiten, das Hochladen von Aufgaben, das Ausführen von ASR und das Abrufen der Ergebnisse übernehmen.
Weitere Details: GPU-ASR-Anleitung
AutoDL-Beispiel
Bei Verwendung von AutoDL:
AutoDL-Instanzliste öffnen.
Eine GPU-Instanz neu erstellen oder starten.
Empfohlen: 4090 wählen, System-Image Ubuntu wählen.
In die Instanzdetailseite gehen und die SSH-Anmeldeinformationen kopieren.
Du erhältst Informationen ähnlich wie diese:
host: connect.xxx.autodl.com 或平台提供的连接地址 port: 具体端口 user: root password: 实例密码Zuerst lokal testen:
ssh -p <port> root@<host>Wenn die Anmeldung funktioniert, host/port/user in
video-agent.config.yamleintragen und das Passwort in die Umgebungsvariable setzen.
2. GPU-SSH konfigurieren
Konfigurationsdatei kopieren:
cp video-agent.config.example.yaml video-agent.config.yamlvideo-agent.config.yaml bearbeiten:
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_PASSWORDDas Passwort nicht in die Konfigurationsdatei schreiben. In die Umgebungsvariable setzen:
export VIDEO_GPU_PASSWORD='你的 GPU SSH 密码'Bei Verwendung von 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. Videoliste in Batches verarbeiten
TSV-Format-Beispiel:
index bv title url duration
1 BVxxxx 第一节 https://www.bilibili.com/video/BVxxxx
2 BVyyyy 第二节 https://www.bilibili.com/video/BVyyyy Starten:
video-agent ingest ./videos.tsv \
--gpu-profile my_4090 \
--batch-size 20 \
--asr-workers 3Wenn du bereits einen Job erstellt hast, aber das Remote-ASR noch nicht gestartet hast:
video-agent run-remote-asr <job_id> \
--gpu-profile my_4090 \
--batch-size 20 \
--asr-workers 34. Fortschritt in Echtzeit anzeigen
video-agent status <job_id> --gpu-profile my_4090 --watchAusgabe ähnlich wie:
进度:ASR 中
音频:51 / 73
转写:18 / 73
当前:BVxxxx
GPU:82%,显存 17.4G / 24.0G
音频占用:3.9G
数据盘剩余:46G
错误:无5. Ergebnisse abrufen
video-agent pull <job_id> --gpu-profile my_4090Lokale Ergebnisse befinden sich in:
work/jobs/<job_id>/transcripts/Jedes Video enthält:
transcript.md
segments.jsonl6. Lerndokument generieren
video-agent digest <job_id> --indexAusgabe:
work/jobs/<job_id>/digests/
data/video_learning.sqliteWenn OPENAI_API_KEY gesetzt ist, wird das große Sprachmodell aufgerufen, um eine umfangreichere Zusammenfassung zu generieren:
export OPENAI_API_KEY='你的 OpenAI API Key'
video-agent digest <job_id> --indexOhne API-Key wird ein strukturell vollständiger lokaler Entwurf generiert.
Vorlage für Zusammenfassungsdokument
Für jedes Video wird ein Markdown-Dokument generiert:
# 编号|总结标题
## 0. 这节课的主线流程图
## 1. 知识点
## 2. 老师例子
## 3. 中间用了什么工具、命令、工作流,我们可以学什么
## 4. GitHub 可复现项目
## 5. 我们利用 AI 可以做什么项目
## 6. 今天可以动手做什么
## 7. 学完这节应该留下什么Abschnitt 7 versucht, möglichst Folgendes abzudecken:
落地产物
输入
步骤
命令
验收标准
效率提升MCP-Verwendung
MCP-Server starten:
video-agent-mcpBereitgestellte Tools:
ingest_urljob_statusrun_remote_asrpull_transcriptsdigest_transcriptssearch_notes
Claude, Codex, WorkBuddy können diese Tools aufrufen, solange sie MCP unterstützen.
Optionale Chroma-Vektordatenbank
Die Standardsuche ist SQLite-Chinesisch-n-gram und läuft offline.
Für semantische Suche:
python3 -m pip install chromadb
video-agent index --docs work/jobs/<job_id>/digests --chroma
video-agent search "能做什么 AI 项目" --chromaSicherheitshinweise
SSH-Passwort nicht in
video-agent.config.yamlschreiben..env,video-agent.config.yaml,work/jobs/nicht committen.Die GPU-Cloud-Maschine ist nur für das Herunterladen von Audio und ASR zuständig; die Zusammenfassung läuft standardmäßig lokal.
Das aktuelle Projekt kauft, stoppt oder zerstört keine Cloud-Maschinen automatisch.
Entwicklung und Tests
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.-