Communitygithub.com

ubeann/video-context

Wandle eine Video-URL oder Videodatei in einen Kontext um, den ein Agent lesen kann – als ein gebündeltes Verzeichnis mit Beitragstext, Untertiteln oder einem Whisper-Transkript und deduplizierten Einzelbildern. Verwende es, wenn der Nutzer einen Videolink (x.com, YouTube, jede von yt-dlp unterstützte Seite) oder eine Videodatei teilt und fragt, was gezeigt wird, um es zusammenzufassen oder zu erklären oder daraus zu lernen. Das Ablegen des Gelernten als Lernnotiz übernimmt die learn-Fähigkeit.

Was ist video-context?

Die Fähigkeit 'video-context' ermöglicht es einem KI-Agenten, Videoinhalte als textuelle und visuelle Daten zu verarbeiten, die er lesen und verstehen kann. Sie zerlegt ein Video in drei separate Kanäle: den dazugehörigen Beitragstext, das Gesagte (entweder als Untertitel oder per Whisper-Transkription) und das Gezeigte (Einzelbilder in regelmäßigen Abständen). Das Skript erkennt automatisch die vorhandenen Kanäle und erstellt ein Bündel im Verzeichnis `/tmp/video-context/<slug>/`, in dem eine `README.md` den Status aller Kanäle auflistet. Der Agent liest dann die relevanten Kanäle und erstellt eine Zusammenfassung (`summary.md`) mit einer Zeitleiste, die Bild- und Textquellen referenziert. Dies ist besonders nützlich für Plattformen wie x.com, YouTube und alle von yt-dlp unterstützten Seiten, und es lässt sich nahtlos mit dem Lern-Skill kombinieren, um das Gelernte als Studiennotiz abzulegen.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Videokontext

Ein Modell liest Text und Bilder, daher wird ein Video in drei Kanäle aufgeteilt: den Beitrag darum herum, das Gesagte (Untertitel, sonst ein Transkript) und das Gezeigte (Einzelbilder). Das Skript untersucht die Datei und leitet basierend auf dem Gefundenen weiter. Eine stumme Bildschirmaufnahme oder eine Animation mit Soundeffekten liefert kein Transkript, und die Einzelbilder tragen die gesamte Information. Lies die Kanäle, die das Bündel als vorhanden angibt, und schreibe dann eine Zusammenfassung, die der nächste Leser verwenden kann, ohne das Video öffnen zu müssen.

Schritte

1. Extraktion

sh ~/.claude/skills/video-context/references/extract.sh <url-or-datei>

Es gibt den Bündelpfad aus (standardmäßig /tmp/video-context/<slug>/). Standardwerte: ein Einzelbild alle 3 s, maximal 60 Einzelbilder mit angepasstem Intervall, Download auf 1080p begrenzt. Parameter sind oben im Skript dokumentiert: INTERVAL, MAX_FRAMES, MAX_HEIGHT, FORCE_TRANSCRIBE, WHISPER_MODEL, SUB_LANGS. Exit-Code 2 zeigt ein fehlendes Werkzeug an; installiere es aus references/setup.md und führe es erneut aus.

Abgeschlossen, wenn README.md im Bündel jeden Kanal als vorhanden, abwesend, leer oder übersprungen auflistet.

2. Kanäle lesen

Lies zuerst README.md: Der Beitragstext und die Kanaltabelle entscheiden, was geöffnet wird.

  • Gesagtes. Lies captions.txt oder transcript.txt vollständig. Automatische Untertitel verschreiben Produktnamen; der Beitragstext und die Einzelbilder korrigieren sie.
  • Gezeigtes. Lies frames/ in Zeitstempel-Reihenfolge. Ab 20 Einzelbildern lies zuerst jedes dritte, dann kehre zu dem Abschnitt zurück, zu dem die Frage gehört. Wenn beide Kanäle vorhanden sind, überprüfe die Behauptungen des Transkripts anhand der Einzelbilder: Eine Demo sagt eines, der Bildschirm zeigt ein anderes.

Abgeschlossen, wenn jeder als vorhanden markierte Kanal gelesen wurde und jedes Einzelbild geöffnet wurde oder in einem Abschnitt liegt, den du als übersprungen benannt hast.

3. Zusammenfassen

Schreibe summary.md in das Bündel:

  • Ein Absatz: das Format (Demo, Sprecher, Animation, Bildschirmaufnahme) und die Aussage des Videos.
  • Eine Zeitleiste mit Aufzählungspunkten in der Reihenfolge [m:ss], ein gezeigtes oder gesagtes Element pro Punkt, Transkriptzitate wörtlich.
  • Eine Zeile, die benennt, was die Kanäle nicht übertragen haben: keine Audiospur, ein Werbeabschnitt, zu grobe Einzelbilder für eine schnelle Bearbeitung.

Abgeschlossen, wenn jeder Zeitleistenpunkt einen Zeitstempel hat, der auf eine Einzelbilddatei oder eine Transkriptzeile verweist, und die Zeile „leere Kanäle“ mit der README-Tabelle übereinstimmt.

4. Antworten

Beantworte die Frage in dem Umfang, in dem sie gestellt wurde, und gib den Bündelpfad an, damit der Nutzer die Einzelbilder öffnen kann. Eine Lernfrage wird im learn-Skill mit summary.md als geholter Quelle des Artikelzweigs fortgesetzt.

Arbeitsgewohnheiten

  • Ein Abschnitt, der feinere Einzelbilder benötigt, erhält einen eigenen Durchlauf: Schneide ihn mit ffmpeg -ss <start> -t <length> -i clip.mp4 -c copy part.mp4 zu, extrahiere dann part.mp4 mit INTERVAL=1. Das erneute Ausführen des gesamten Videos mit einem feineren Intervall vervielfacht die zu lesenden Einzelbilder.
  • Das Transkript ist standardmäßig auf Englisch. Eine andere Sprache erfordert ein mehrsprachiges Modell; references/setup.md sagt, welches.
  • Twitter-Untertitel existieren nie, daher wird bei einem x.com-Clip mit Sprache immer Whisper ausgeführt. Rechne mit etwa einem Fünftel der Cliplänge dafür.

Verwandte Skills