Communitygithub.com

ubeann/video-context

Convierte un enlace o archivo de video en contexto legible por un agente, como una carpeta con el texto de la publicación, subtítulos o transcripción (whisper) y fotogramas deduplicados.

¿Qué es video-context?

Esta habilidad permite a un agente de IA procesar videos (desde enlaces como x.com, YouTube u otros sitios compatibles con yt-dlp, o archivos locales) y extraer su contenido en tres canales: el texto de la publicación, el audio transcrito (subtítulos o transcripción mediante whisper) y los fotogramas visuales. Es útil para resumir videos, explicar su contenido, o aprender de ellos sin tener que reproducirlos manualmente. Funciona en sistemas compatibles con yt-dlp y ffmpeg, y automatiza la extracción, lectura y resumen en una estructura de carpeta organizada. El agente puede luego usar ese resumen para responder preguntas o alimentar otras habilidades como 'learn'.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ubeann/skills/tree/main/video-context

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Contexto de video

Un modelo lee texto e imágenes, por lo que un video se convierte en tres canales: la publicación que lo rodea, lo que se dijo (subtítulos, o transcripción) y lo que se mostró (fotogramas). El script examina el archivo y elige la ruta según lo que encuentre. Una grabación de pantalla silenciosa o una animación con efectos de sonido no genera transcripción, y los fotogramas lo contienen todo. Lee los canales que el paquete indique que están presentes, luego escribe un resumen que el siguiente lector pueda usar sin abrir el video.

Pasos

1. Extraer

sh ~/.claude/skills/video-context/references/extract.sh <url-o-archivo>

Imprime la ruta del paquete (por defecto /tmp/video-context/<slug>/). Valores predeterminados: un fotograma cada 3 s, máximo 60 fotogramas con el intervalo ajustado para cumplirlo, descarga limitada a 1080p. Los parámetros están documentados al inicio del script: INTERVAL, MAX_FRAMES, MAX_HEIGHT, FORCE_TRANSCRIBE, WHISPER_MODEL, SUB_LANGS. El código de salida 2 indica una herramienta faltante; instálala desde references/setup.md y vuelve a ejecutar.

Terminado cuando README.md en el paquete enumera cada canal como presente, ausente, vacío u omitido.

2. Leer los canales

Lee primero README.md: el texto de la publicación y la tabla de canales deciden qué abrir.

  • Dicho. Lee captions.txt o transcript.txt por completo. Los subtítulos automáticos suelen escribir mal nombres de productos; el texto de la publicación y los fotogramas los corrigen.
  • Mostrado. Lee frames/ en orden de timestamp. Pasados 20 fotogramas, lee primero cada tercero, luego vuelve a la parte que la pregunta señala. Cuando ambos canales están presentes, verifica las afirmaciones de la transcripción contra los fotogramas: una demo dice una cosa y la pantalla muestra otra.

Terminado cuando cada canal marcado como presente ha sido leído, y cada fotograma ha sido abierto o está en una sección que indicaste como omitida.

3. Resumir

Escribe summary.md en el paquete:

  • Un párrafo: el formato (demo, persona hablando, animación, grabación de pantalla) y el punto principal del video.
  • Una línea de tiempo con viñetas en orden [m:ss], una cosa mostrada o dicha por viñeta, citas textuales de la transcripción.
  • Una línea que indique lo que los canales no contenían: sin audio, sección de patrocinador, fotogramas demasiado gruesos para una edición rápida.

Terminado cuando cada viñeta de la línea de tiempo tiene un timestamp que corresponde a un archivo de fotograma o una línea de transcripción, y la línea de canales vacíos coincide con la tabla del README.

4. Responder

Responde a la pregunta en la extensión con que fue formulada y proporciona la ruta del paquete para que el usuario pueda abrir los fotogramas. Una pregunta de aprendizaje continúa en la habilidad learn con summary.md como fuente obtenida de su rama de artículo.

Hábitos de trabajo

  • Una sección que necesita fotogramas más finos se procesa por separado: recórtala con ffmpeg -ss <inicio> -t <duración> -i clip.mp4 -c copy parte.mp4, luego extrae parte.mp4 con INTERVAL=1. Volver a ejecutar todo el video con un intervalo más fino multiplica los fotogramas que debes leer.
  • La transcripción está en inglés por defecto. Otro idioma necesita un modelo multilingüe; references/setup.md indica cuál.
  • Los subtítulos de Twitter nunca existen, por lo que un clip de x.com con voz siempre ejecuta whisper. Presupuesta aproximadamente un quinto de la duración del clip para ello.

Skills relacionados