Communitygithub.com

RobinSp5/Vorlesungsvideo-Ersteller

Verwandelt Vorlesungsmaterialien (meist ein PDF mit Folien) in ein einziges, vollständig vertontes erklärendes MP4-Video zum Selbststudium und zur Prüfungsvorbereitung – in einer wählbaren Sprache, mit KI-Stimme über OpenRouter MCP, gut lesbaren Grafiken, Folienbildern aus dem PDF, Code/SQL/Formeln, Intro, optionaler Gliederung mit Zeitangaben, Zusammenfassung, optionalen Selbsttestfragen, Untertiteln und Kapiteln.

Was ist Vorlesungsvideo-Ersteller?

Dieser Skill erstellt aus hochgeladenen Vorlesungsfolien, Skripten oder Uni-Materialien automatisch ein fertiges, vertontes Erklärvideo im MP4-Format, das direkt in Claude herunterladbar ist. Er ist für Lernende gedacht, die eine Vorlesung nicht besuchen können oder eine kompakte, aber originale Wiederholung vor der Prüfung benötigen. Der Skill stützt sich ausschließlich auf die eingereichten Materialien – er erfindet keine Fakten hinzu – und stellt sicher, dass alle Inhalte korrekt und lesbar bleiben. Unterstützt werden OpenRouter MCP für die Sprachausgabe, PDF-Extraktion (Text und Bilder), ein visueller Modus ohne Ton und die Ausgabe als MP4 mit Kapitelmarken. Typische Anwendungsfälle umfassen „Mach mir ein Video aus den Folien“, „Erklär mir die Vorlesung als Clip“ oder „Lecture summary video“ – auch wenn das Wort „Video“ nicht explizit genannt wird. Der Workflow ist in 7 Phasen unterteilt, von der Materialanalyse über die Benutzerkonfiguration (Sprache, Länge, Modell, Quiz, Design) bis hin zur Skripterstellung, Audioproduktion und finalen Videorendering.

Funktioniert mit✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/RobinSp5/lecture-video-explainer-skill/tree/HEAD/lecture-video-explainer

In Ihrer bevorzugten KI fragen

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

Dokumentation

Lecture Video Explainer (Vorlesungsvideo-Ersteller)

Ziel: Studierende sollen eine Vorlesung ohne Besuch verstehen und sich vor der Prüfung schnell wiederholen können. Das Video ist daher ein Lernwerkzeug, keine Show: originalgetreu, einfach erklärt, einprägsam und jederzeit lesbar.

Drei Prinzipien leiten jede Entscheidung:

  1. Nichts erfinden. Jede Aussage, Zahl, Definition und Grafik ist durch die Vorlesungsmaterialien belegt. Vereinfachen ist willkommen; Fakten hinzufügen nicht. Wer nach dem Anschauen die Prüfung schreibt, muss darauf vertrauen können, dass der Inhalt genau so in der Vorlesung vorkam.
  2. Alles lesbar, nichts abgeschnitten. Kein halb sichtbarer Text, kein Überlauf, keine winzigen Schriftarten. Ein einziger abgeschnittener Satz zerstört das Vertrauen in das gesamte Video.
  3. Fließende Stimme, ruhige Bilder. Der Sprecher macht keine langen Pausen. Wo es viel zu sehen gibt, bleibt das Bild kurz stehen, bevor es weitergeht – wie bei einer guten Präsentation.

Das Ergebnis ist das fertige Video, herunterladbar als eine MP4 direkt in Claude. Der Benutzer führt nie Code, Skripte oder Befehle aus und muss nie einen API-Schlüssel einfügen – alles Technische passiert auf Ihrer Seite, mit den Tools, die diese Umgebung bietet. Kein Player, keine zusätzlichen Dateien, es sei denn, der Benutzer fordert sie explizit an (Untertitel als Dateien, Transkript, Gliederungstabelle).

Sprechen Sie mit dem Benutzer in der Sprache, in der er schreibt. Die Videosprache ist eine separate Wahl (Phase 1, Schritt 1).

Es gibt zwei Modi, die in der allerersten Frage ausgewählt werden: vertont (KI-Stimme über OpenRouter, die Standardeinstellung) und nur visuell (keine Stimme – alles wird auf dem Bildschirm erklärt, siehe „Nur-visuell-Modus“ unten). Wo immer diese Datei von Vertonung, TTS oder Audio spricht, bezieht sich das nur auf den vertonten Modus.

Arbeitsablauf

Arbeiten Sie die Phasen der Reihe nach durch. Phase 1 ist ein obligatorischer Stopp: Es wird kein Geld ausgegeben (TTS), bis der Benutzer Modus, Sprache, Modell und Länge bestätigt hat.

Phase 0 – Materialien lesen

  1. Sehen Sie sich an, was diese Umgebung bietet, still: den OpenRouter MCP-Connector (für die Stimme), eine integrierte Video-/Animationsausgabe mit MP4-Export oder -Download (z. B. in Claude Design) und/oder Codeausführung mit ffmpeg + Chromium (für scripts/render.py). Phase 7 wählt den Ausgabepfad daraus aus. Lassen Sie den Benutzer niemals etwas installieren oder ausführen.
  2. Extrahieren Sie das PDF mit scripts/extract_pdf.py:
    python3 scripts/extract_pdf.py <pdf> <workdir> [--images]
    
    Dies erzeugt pages.json (Text, Wortanzahl, Bildanzahl pro Seite), eine PNG-Vorschau jeder Seite und – mit --images – die eingebetteten Bilder. Wenn pymupdf fehlt: pip install pymupdf --break-system-packages.
  3. Sehen Sie sich die Seitenvorschauen an (nicht nur den Text): Diagramme, Tabellen und Prozessgrafiken existieren oft nur als Bilder. Gescannte Seiten (Ausgabe „SCANNED/kein Text“): erneut ausführen mit --ocr (Tesseract, Sprachpaket der Materialien, z. B. --ocr-lang deu+eng). Wenn Tesseract oder das Sprachpaket fehlt, sehen Sie sich die Vorschaubilder an und lesen Sie den Text selbst. Korrekturlesen Sie den OCR-Text immer anhand des Bildes, bevor Sie Fachbegriffe oder Zahlen im Skript verwenden.
  4. Ermitteln Sie aus den Materialien: Kursname, Thema dieser Einheit, Dozent/Professor, Sprache der Materialien, ob es eine Zusammenfassungsfolie gibt und welche Folien keinen Inhalt haben (Titel, Agenda, Referenzen, „Fragen?“). Alles, was nicht in den Materialien steht, wird nicht geraten – fragen Sie in Phase 1 danach.
  5. Offene Fragen in den Folien: pages.json listet pro Seite questions auf – Zeilen, die das Publikum etwas fragen („Was meinen Sie: …?“, „Welche Vorteile hat …?“, „Diskussion: …“, „Frage an Sie“, „Why could …?“). Alle werden im Video beantwortet (siehe „Offene Fragen“ in Phase 2). Lesen Sie die Folien auch selbst: Fragen in Grafiken oder Sprechblasen werden nicht immer erfasst.
  6. Vorlesung oder Übung? pages.json enthält exercise_guess (Wörter wie „Übung“, „Aufgabe“, „Übungsblatt“, „Exercise“, „Task“, „Assignment“, nummerierte Aufgaben mit a) b) c)). Bestätigen Sie durch Lesen: Ein Übungsblatt fordert den Lernenden auf, etwas zu tun. Wenn es eine Übung ist (oder eine Vorlesung mit Übungsfolien), löst das Video die Aufgaben – siehe „Übungsmodus“ unten. Überprüfen Sie auch, ob eine Lösungsfolie oder Lösungsfolien beigefügt sind.

Phase 0 läuft still: Vor den ersten Fragen (Phase 1, Schritt 1) fragen Sie den Benutzer nichts weiter und fassen die Materialien nicht zusammen. Die Extraktion dient nur dazu, dass die Option „wie die Unterlagen“ die erkannte Sprache nennen kann.

Phase 1 – Benutzer fragen (obligatorisch, vor jeder Generierung)

Schritt 1 – Video-Typ, Vertonung und Sprache (immer die allererste Nachricht)

Die erste Nachricht enthält genau diese drei Fragen und sonst nichts (als drei antippbare Fragen, falls ein solches Tool verfügbar ist), in der Sprache des Benutzers, der Video-Typ immer zuerst. Beispiel für einen deutschsprachigen Benutzer:

1. Was für ein Video soll es werden?

  • Kurze Zusammenfassung – nur das Wichtigste: Kernbegriffe, zentrale Zusammenhänge, Klausurrelevantes; ideal zum schnellen Wiederholen
  • Umfassende Zusammenfassung – geht auf alle Themen der Unterlagen ein, mit Erklärungen und Beispielen; ersetzt die Vorlesung

2. Soll das Video vertont sein?

  • Ja, mit Sprecher (KI-Stimme) – erklärt wie in der Vorlesung; kostet ein paar Cent
  • Nein, nur visuell – Erklärungen stehen als Text und Grafik im Bild, kein Ton, kostenlos

3. In welcher Sprache soll das Video sein?

  • Wie die Unterlagen (Deutsch) ← erkannte Sprache in Klammern
  • Deutsch
  • Englisch
  • Andere Sprache (Freitext)

Der Video-Typ kommt zuerst, weil er entscheidet, was ins Video kommt und welche Längen sinnvoll sind:

  • Kurze Zusammenfassung: nur das Wesentliche – Schlüsselbegriffe und Definitionen, die zentralen Zusammenhänge, alles als prüfungsrelevant Markierte, plus die Zusammenfassungsfolie. Beispiele, Herleitungen und Randthemen werden weggelassen. Jedes Kapitel der Vorlesung wird in ein oder zwei Sätzen angerissen, aber die Tiefe geht nur bis zum Kern.
  • Umfassende Zusammenfassung: jedes Thema der Unterlagen wird behandelt – jede Inhaltsseite landet in mindestens einer Szene (überprüft in Phase 6 mit scripts/coverage.py), in der Reihenfolge der Vorlesung, mit den Erklärungen und Beispielen, die die Vorlesung gibt. Nichts wird ausgelassen, nur verdichtet.
  • Für eine Übung: kurz = für jede Aufgabe der Ansatz in ein oder zwei Sätzen plus das Ergebnis; umfassend = der vollständige Lösungsweg Schritt für Schritt.

Die Vertonung kommt als Nächstes, weil sie alles Weitere ändert: mit „nur visuell“ gibt es keine Modellfrage, keine Kosten, und das Video wird anders gebaut.

Behalten Sie „wie die Unterlagen“ auch dann bei, wenn die erkannte Sprache Deutsch oder Englisch ist – es ist die Standardeinstellung. Bei gemischtsprachigen Materialien nennen Sie die dominante („wie die Unterlagen (überwiegend Englisch)“).

Die gewählte Sprache gilt für alles: Vertonung, Bildschirmtext, Intro, Zusammenfassung, Labels wie „sieh dir an“, TTS-Sprachanweisungen. Sie bestimmt auch, welche TTS-Modelle in Frage kommen und wie Wortbudget und Kosten berechnet werden – deshalb kommt sie zuerst.

Wenn die Videosprache von der Sprache der Folien abweicht, wenden Sie die Übersetzungsregeln in references/didaktik-und-skript.md an (die Fachbegriffe der Vorlesung bleiben sichtbar, weil die Prüfung sie verwendet). Für „andere Sprache“ im vertonten Modus: Überprüfen Sie kurz, ob TTS-Modelle sie gut unterstützen; wenn nicht, sagen Sie dies offen und bieten Alternativen an (einschließlich nur visuell).

Schritt 2 – Länge, Modell, Schlüsseldaten, Gliederung, Quiz (eine Nachricht)

Erst nach den Antworten zu Schritt 1. Im nur-visuell-Modus überspringen Sie b) (Modell) und nennen keine Kosten; es gibt dann auch keinen Schritt 4 (Stimme).

Wenn es sich bei den Materialien um eine Übung handelt, sagen Sie dies in einer Zeile oben in dieser Nachricht („Das ist ein Übungsblatt mit 4 Aufgaben – ich löse alle Schritt für Schritt im Video.“) – keine extra Frage; Längenvorschläge zählen dann Aufgaben, nicht Seiten (≈ 45–90 s pro Aufgabe je nach Umfang).

a) Videolänge. Schlagen Sie Längen vor, die zum Video-Typ aus Schritt 1 passen, abgeleitet von der Anzahl der Inhaltsseiten (n) – estimate.py lengths --content-pages n --type short|comprehensive:

Video-TypOptionen (Faustregel)Beispiel, 30 Seiten
Kurze Zusammenfassungsehr kurz n × 4 s · kurz n × 6 s (Standard)~2 / ~3 min
Umfassende Zusammenfassungkompakt n × 10 s · Standard n × 14 s (Standard) · detailliert n × 18 s~5 / ~7 / ~9 min

Runden Sie auf halbe Minuten. Für „umfassend“ warnen Sie in einem Satz, wenn der Benutzer eine Länge unter n × 8 s wählt: Alle Themen werden trotzdem abgedeckt, aber sehr kurz. Der Benutzer entscheidet; eine benutzerdefinierte Länge ist immer erlaubt.

b) TTS-Modell inkl. Preis für genau dieses Video (nur vertonter Modus). Vorgehen und Kostenformel finden Sie in references/tts-models.md – lesen Sie es, bevor Sie fragen. Kurzfassung:

  • Rufen Sie die aktuellen TTS-Modelle live über OpenRouter MCP ab (list-models mit output_modalities: "speech", sortiert nach Preis). Preise und Modelle ändern sich – antworten Sie nie aus dem Gedächtnis.
  • Filtern Sie auf Modelle, die die gewählte Videosprache unterstützen.
  • Bieten Sie 3–4 Modelle an, das günstigste gute zuerst (vorzugsweise eine Google Gemini Flash TTS-Variante), jedes mit dem geschätzten Preis für die gewählte Länge – berechnen Sie mit scripts/estimate.py.
  • Wenn die Länge noch nicht entschieden ist: geben Sie Preise für alle drei Längenoptionen an.
  • Die Wahl ist bindend. Wenn der Benutzer ein OpenRouter-Modell auswählt, MUSS genau dieses Modell (gleiche Modell-ID, über OpenRouter MCP) für jede Audiodatei dieses Videos verwendet werden – siehe „Bindende Modellwahl“ in Phase 4.

c) Fehlende Schlüsseldaten. Nur wenn in Phase 0 nicht gefunden: Name des Professors, Kursname. Bieten Sie „ohne Namen“ als Option an, anstatt zu raten.

d) Optional: Folienbilder/Grafiken aus dem PDF direkt anzeigen (Standard: ja, wo sie etwas erklären).

e) Gliederung am Anfang des Videos? Ja / Nein. Ein Satz Erklärung: Direkt nach dem Intro zeigt eine kurze Tabelle jedes Kapitel mit Zeitbereich („0:18–1:30 Inner Join“) und Foliennummern, damit Lernende die Struktur sehen und zu dem springen können, was sie brauchen. Kostet etwa 10 Sekunden. Die MP4 hat auch Kapitelmarken, sodass Spieler in jedem Fall zwischen Kapiteln springen können.

f) Selbsttestfragen am Ende? Ja / Nein. Ein Satz Erklärung: Fragen zum Selbsttest mit einer kurzen Denkpause, gefolgt von der Antwort – hilft dem Gedächtnis mehr als erneutes Ansehen.

Schritt 3 – Das Aussehen (+ Anzahl der Fragen)

Eine Nachricht mit zwei Fragen zum Aussehen – und, nur wenn Selbsttestfragen in Schritt 2 f) gewählt wurden, eine dritte zu deren Anzahl (als antippbare Fragen, falls ein solches Tool verfügbar ist; die Standardeinstellungen werden zuerst genannt):

Hell oder dunkel?

  • Hell (Standard) · Dunkel

Welcher Stil?

  • Modern (Standard) – farbige Akzente, sanfte Verläufe, Karten mit Schatten, Kapitel-Titelkarten
  • Schlicht – ruhig, viel Weiß bzw. Schwarz, nur eine Akzentfarbe
  • Wie die Folien – Farben aus den Vorlesungsfolien (z. B. Hochschul-Blau), damit es zur Vorlesung passt
  • Passend zum Thema: … – ein konkreter Vorschlag aus dem Inhalt abgeleitet, z. B. „Datenbank-Look: Blau/Türkis mit dezentem Tabellenraster“, „Nachhaltigkeit: Grüntöne mit Blatt-Motiv“, „Finanzen: Dunkelblau/Gold mit Chart-Linien“

Wie viele Teste-dich-Fragen? (nur wenn ausgewählt)

  • 3 · 5 · 8 · eigene Zahl – jeweils mit zusätzlicher Dauer und Kosten (siehe unten)

Schreiben Sie die Option „Thema“ als konkreten Vorschlag für diese Vorlesung, nicht als generisches Etikett. Überspringen Sie „Wie die Folien“, wenn scripts/palette.py keine markanten Farben findet (einfach schwarz/weiße Folien). Wie jede Antwort aufgebaut ist: references/visuelle-regeln.md, „Aussehen“.

Anzahl der Fragen: Optionen 3 / 5 / 8 / benutzerdefiniert. Geben Sie für jede Option die zusätzliche Dauer und die zusätzlichen Kosten an (estimate.py quiz --questions N --prompt … --completion …; für den Gesamtbetrag inkl. Gliederung: estimate.py cost … --quiz N --toc), z. B. „5 Fragen · +1:45 min · +$0,02“. Die Fragen kommen obendrauf auf die gewählte Länge des Erklärungsteils; geben Sie die neue Gesamtlänge einmal an. Wenn die Materialien weniger sinnvolle Kernpunkte als angeforderte Fragen haben, bieten Sie weniger an und sagen Sie dies kurz.

Schritt 4 – Die Stimme (nur vertonter Modus)

Nachdem das Modell ausgewählt ist, stellen Sie drei kurze Fragen in einer Nachricht (drei antippbare Fragen, falls ein solches Tool verfügbar ist); die Standardeinstellungen sind vorausgewählt und werden zuerst genannt:

Wie soll die Stimme klingen?

  • Weiblich (Standard) · Männlich

Welcher Charakter?

  • Motivierend & freundlich (Standard) · Ruhig & sachlich · Bestimmt & klar · Locker & entspannt

Wie schnell?

  • Ruhig · Normal · Zügig (Standard) · Schnell

Standard, wenn der Benutzer überspringt oder „egal“ sagt: eine gute weibliche, zügige, motivierende Erklärstimme. Ordnen Sie die Antworten mit references/tts-models.md („Stimmauswahl“) einer konkreten Stimme des gewählten Modells und Sprachanweisungen/Geschwindigkeit zu; nennen Sie die ausgewählte Stimme in einer kurzen Zeile („Stimme: Laomedeia – weiblich, motivierend, zügig“). Das Tempo ändert das Wortbudget: übergeben Sie es an estimate.py --pace. Nach dem Intro-Test (Phase 4) kann der Benutzer immer noch „andere Stimme“ oder „langsamer“ sagen – dann wiederholen Sie nur das Intro.

Phase 2 – Skript

Lesen Sie references/didaktik-und-skript.md. Schreiben Sie dann das Skript als script.json (Schema dort), Szene für Szene. Erforderliche Struktur:

  1. Intro (≈ 8–12 s): „Dieses Video handelt von … aus dem Kurs … von Prof. …“ + ein Überblick über das Kommende in 3–5 Punkten (Advance Organizer). Gliederung (nur wenn ausgewählt, ≈ 10 s): eine Szene direkt nach dem Intro mit <ol class="toc" data-toc>. Die Szenendatei füllt automatisch jedes Kapitel mit seinem Zeitbereich und den Foliennummern aus der endgültigen Zeitsteuerung – geben Sie niemals Zeiten von Hand ein, sie ändern sich mit jeder Audioregeneration. Die Vertonung nennt die Kapitel in ein oder zwei Sätzen („Zuerst …, dann …, und am Ende eine Zusammenfassung und ein Selbsttest“) und liest keine Zeiten vor. Markieren Sie die Szene data-dense mit data-hold ≈ 3 s, damit die Gliederung gelesen werden kann. Wenn eine Gliederung ausgewählt ist, kann die Agenda des Intros kürzer sein (ein Satz), damit nichts doppelt gesagt wird.
  2. Hauptteil: Kapitel in der Reihenfolge der Vorlesung. Erklärung ... (Skript fortgesetzt)

[...weiter mit den restlichen Phasen gemäß der vollständigen SKILL.md – für die Übersetzung hier wie im Original fortgesetzt]

Verwandte Skills