Skip to main content
Glama

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: Open CLAW Knowledge Distiller

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-whisper

  • Standardmodell medium

  • Standard-GPU-Modus cuda + float16

  • Standardmäß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.10

Unter macOS kann man es so installieren:

brew install ffmpeg yt-dlp

Einfachste 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> --index

Suchen:

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/list

Der allgemeine Ablauf ist:

  1. GPU-Instanz auswählen, z. B. 4090.

  2. Ubuntu-Image auswählen.

  3. Einschalten.

  4. SSH-Verbindungsinformationen in der Konsole finden:

    host
    port
    user
    password 或 private key
  5. Lokal 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:

  1. AutoDL-Instanzliste öffnen.

  2. Eine GPU-Instanz neu erstellen oder starten.

  3. Empfohlen: 4090 wählen, System-Image Ubuntu wählen.

  4. In die Instanzdetailseite gehen und die SSH-Anmeldeinformationen kopieren.

  5. Du erhältst Informationen ähnlich wie diese:

    host: connect.xxx.autodl.com 或平台提供的连接地址
    port: 具体端口
    user: root
    password: 实例密码
  6. Zuerst lokal testen:

    ssh -p <port> root@<host>
  7. Wenn die Anmeldung funktioniert, host/port/user in video-agent.config.yaml eintragen und das Passwort in die Umgebungsvariable setzen.

2. GPU-SSH konfigurieren

Konfigurationsdatei kopieren:

cp video-agent.config.example.yaml video-agent.config.yaml

video-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_PASSWORD

Das 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_ed25519

3. 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 3

Wenn 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 3

4. Fortschritt in Echtzeit anzeigen

video-agent status <job_id> --gpu-profile my_4090 --watch

Ausgabe ä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_4090

Lokale Ergebnisse befinden sich in:

work/jobs/<job_id>/transcripts/

Jedes Video enthält:

transcript.md
segments.jsonl

6. Lerndokument generieren

video-agent digest <job_id> --index

Ausgabe:

work/jobs/<job_id>/digests/
data/video_learning.sqlite

Wenn 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> --index

Ohne 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-mcp

Bereitgestellte Tools:

  • ingest_url

  • job_status

  • run_remote_asr

  • pull_transcripts

  • digest_transcripts

  • search_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 项目" --chroma

Sicherheitshinweise

  • SSH-Passwort nicht in video-agent.config.yaml schreiben.

  • .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 -q
A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • 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.

  • MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hahahng/video-learning-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server