Skip to main content
Glama

Video Learning Agent

Video Learning Agent convierte el «aprender viendo vídeos» en una cadena de producción automatizada.

Le das un enlace de vídeo de Bilibili/YouTube, un enlace de lista de reproducción o un archivo de lista de vídeos. Primero intenta obtener los subtítulos; si no hay subtítulos, envía la tarea a tu instancia de GPU en la nube para ejecutar ASR; cuando la transcripción termina, la trae de vuelta a local, genera un documento de aprendizaje en Markdown y crea un índice de búsqueda local.

B站 / YouTube 链接或列表
-> 优先获取字幕
-> 无字幕时上传任务到 GPU 云主机
-> GPU 下载音频并跑 faster-whisper ASR
-> 拉回 transcript.md / segments.jsonl
-> 生成可学习、可操作的 Markdown 总结
-> 建 SQLite / Chroma 搜索索引

Para quién es

  • Personas que quieren procesar vídeos de cursos en lote

  • Personas que quieren convertir vídeos públicos en documentos de aprendizaje

  • Personas que quieren generar automáticamente «puntos de conocimiento + ejemplos + comandos de herramientas + proyectos de GitHub + proyectos prácticos de IA»

  • Personas que quieren que Claude, Codex y WorkBuddy llamen a este flujo a través de MCP

Related MCP server: Open CLAW Knowledge Distiller

Funciones

  • Compatible con Bilibili y YouTube

  • Compatible con vídeos individuales, colecciones, listas de reproducción y listas de vídeos en TSV/CSV

  • Prioriza la descarga de subtítulos; solo ejecuta ASR cuando no hay subtítulos disponibles

  • Te permite alquilar manualmente una instancia de GPU en la nube y luego entregar la información SSH al agente para que la procese automáticamente

  • El ASR remoto usa faster-whisper

  • Modelo predeterminado: medium

  • Modo GPU predeterminado: cuda + float16

  • 20 vídeos por lote por defecto

  • Con una 4090 se pueden probar 3 workers de ASR en concurrencia por defecto

  • Visualización en tiempo real del progreso de descarga/ASR

  • Genera documentos de aprendizaje en Markdown después de traer los resultados a local

  • Búsqueda local con SQLite; búsqueda semántica opcional con Chroma

  • Proporciona un servidor MCP

Instalación

git clone https://github.com/hahahng/video-learning-agent.git
cd video-learning-agent
python3 -m pip install -e '.[remote,mcp,test,yaml]'

El sistema necesita tener:

ffmpeg
yt-dlp
python >= 3.10

En macOS se puede instalar así:

brew install ffmpeg yt-dlp

Uso más sencillo: vídeos con subtítulos

Si el vídeo tiene subtítulos, no se necesita GPU.

video-agent ingest "https://www.bilibili.com/video/BVxxx"

El comando crea un directorio de tareas:

work/jobs/<job_id>/

Ver el estado:

video-agent status <job_id>

Generar el resumen:

video-agent digest <job_id> --index

Buscar:

video-agent search "文件系统"

¿Y si no hay subtítulos? Alquilar una GPU para ejecutar ASR

Si el vídeo no tiene subtítulos, o la calidad de los subtítulos es demasiado mala, alquila una instancia en la nube con GPU NVIDIA para ejecutar ASR.

Este proyecto no compra la máquina por ti. Tú mismo creas la instancia de GPU en la plataforma en la nube y luego rellenas la información SSH en la configuración.

Configuración recomendada:

  • GPU: RTX 4090 / A10 / A100 / L40S, todas sirven

  • Sistema: Ubuntu 20.04 / 22.04

  • Disco: al menos 50 GB; para procesamiento por lotes se recomienda 100 GB o más

  • Red: con acceso a Bilibili / YouTube / las direcciones de descarga de modelos de Hugging Face

  • Método de inicio de sesión: contraseña SSH o clave SSH

1. Alquilar una instancia de GPU en la nube

Elige cualquier plataforma de GPU en la nube que admita SSH. Por ejemplo, la consola de AutoDL:

https://www.autodl.com/console/instance/list

El flujo general es:

  1. Selecciona una instancia de GPU, por ejemplo una 4090.

  2. Selecciona la imagen de Ubuntu.

  3. Enciende la instancia.

  4. Encuentra la información de conexión SSH en la consola:

    host
    port
    user
    password 或 private key
  5. Confirma primero que puedes iniciar sesión desde local:

    ssh -p <port> <user>@<host>

Con tal de que puedas iniciar sesión en este paso, el agente podrá encargarse de instalar dependencias, subir tareas, ejecutar ASR y traer los resultados.

Más detalles en: Guía de uso de GPU ASR

Ejemplo con AutoDL

Si usas AutoDL:

  1. Abre la lista de instancias de AutoDL.

  2. Crea o inicia una instancia de GPU.

  3. Se recomienda elegir una 4090 y la imagen de sistema Ubuntu.

  4. Entra en la página de detalles de la instancia y copia la información de inicio de sesión SSH.

  5. Obtendrás información similar a esta:

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

    ssh -p <port> root@<host>
  7. Cuando puedas iniciar sesión, escribe host/port/user en video-agent.config.yaml y pon la contraseña en una variable de entorno.

2. Configurar SSH de la GPU

Copia el archivo de configuración:

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

Edita 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

No escribas la contraseña en el archivo de configuración. Ponla en una variable de entorno:

export VIDEO_GPU_PASSWORD='你的 GPU SSH 密码'

Si usas una clave SSH:

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. Procesar listas de vídeos en lote

Ejemplo de formato TSV:

index	bv	title	url	duration
1	BVxxxx	第一节	https://www.bilibili.com/video/BVxxxx	
2	BVyyyy	第二节	https://www.bilibili.com/video/BVyyyy	

Iniciar:

video-agent ingest ./videos.tsv \
  --gpu-profile my_4090 \
  --batch-size 20 \
  --asr-workers 3

Si ya has creado un job pero aún no has iniciado el ASR remoto:

video-agent run-remote-asr <job_id> \
  --gpu-profile my_4090 \
  --batch-size 20 \
  --asr-workers 3

4. Ver el progreso en tiempo real

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

La salida es similar a:

进度:ASR 中
音频:51 / 73
转写:18 / 73
当前:BVxxxx
GPU:82%,显存 17.4G / 24.0G
音频占用:3.9G
数据盘剩余:46G
错误:无

5. Traer los resultados

video-agent pull <job_id> --gpu-profile my_4090

Los resultados locales estarán en:

work/jobs/<job_id>/transcripts/

Cada vídeo incluye:

transcript.md
segments.jsonl

6. Generar documentos de aprendizaje

video-agent digest <job_id> --index

Salida:

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

Si se ha configurado OPENAI_API_KEY, se llamará al modelo grande para generar un resumen más completo:

export OPENAI_API_KEY='你的 OpenAI API Key'
video-agent digest <job_id> --index

Sin API Key, se genera un borrador local con estructura completa.

Plantilla del documento de resumen

Cada vídeo genera un documento Markdown:

# 编号|总结标题

## 0. 这节课的主线流程图
## 1. 知识点
## 2. 老师例子
## 3. 中间用了什么工具、命令、工作流,我们可以学什么
## 4. GitHub 可复现项目
## 5. 我们利用 AI 可以做什么项目
## 6. 今天可以动手做什么
## 7. 学完这节应该留下什么

La sección 7 intentará cubrir:

落地产物
输入
步骤
命令
验收标准
效率提升

Uso de MCP

Iniciar el servidor MCP:

video-agent-mcp

Herramientas proporcionadas:

  • ingest_url

  • job_status

  • run_remote_asr

  • pull_transcripts

  • digest_transcripts

  • search_notes

Claude, Codex y WorkBuddy pueden llamar a estas herramientas siempre que admitan MCP.

Biblioteca de vectores Chroma opcional

La búsqueda predeterminada usa n-gramas chinos de SQLite y funciona sin conexión.

Si quieres hacer búsqueda semántica:

python3 -m pip install chromadb
video-agent index --docs work/jobs/<job_id>/digests --chroma
video-agent search "能做什么 AI 项目" --chroma

Notas de seguridad

  • No escribas la contraseña SSH en video-agent.config.yaml.

  • No subas .env, video-agent.config.yaml ni work/jobs/.

  • La instancia de GPU en la nube solo se encarga de descargar el audio y ejecutar ASR; el resumen se ejecuta en local por defecto.

  • Este proyecto no compra, detiene ni destruye instancias en la nube automáticamente.

Desarrollo y pruebas

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