Communitygithub.com

Bildschirmaufnahme mit Sprachkommentar

Verwandelt eine stumme Bildschirmaufnahme (Produktdemo, Tutorial, Walkthrough, Bug-Reproduktion) mit einem einzigen Befehl in ein kommentiertes Video.

Was ist Bildschirmaufnahme mit Sprachkommentar?

Diese Fähigkeit automatisiert die zeitaufwändigste Aufgabe beim Erstellen von Video-Tutorials oder Demos: die Synchronisation von Sprachkommentaren mit den Aktionen auf dem Bildschirm. Sie analysiert eine stumme Bildschirmaufnahme, identifiziert die einzelnen Schritte und generiert einen Drehbuch-Entwurf, in den der Benutzer (oder die KI) klare, prägnante Sätze pro Schritt einfügt. Der Kern der Fähigkeit ist die intelligente Zeitsynchronisation: Sie stellt sicher, dass jeder Satz genau zu seinem Schritt beginnt, und bei längeren Sätzen wird entweder die Wiedergabegeschwindigkeit leicht erhöht (max. 1,15x) oder das letzte Bild des Schritts eingefroren („Freeze-Sync“), sodass der Kommentar nie überläuft oder überlappt. Die Ausgabe ist ein MP4-Video mit gesprochenem Kommentar (über den Miragea-Dienst, mit gespeicherter oder geklonter Stimme), optional mit eingebrannten Untertiteln, Hintergrundmusik (automatisch leiser gestellt) und normalisierter Lautstärke. Die Fähigkeit gibt außerdem SRT-/VTT-Untertiteldateien und eine separate WAV-Spur für die Nachbearbeitung aus. Sie ist ideal für Entwickler, Produktmanager und Content-Ersteller, die schnell und professionell aussehende erklärende Videos erstellen möchten, ohne selbst sprechen oder aufwändig schneiden zu müssen. Plattform: CLI mit Python-Skripten; Voraussetzung ist ein Miragea-API-Key.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yyert123/miragea-skills/tree/HEAD/screen-recording-voiceover

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht Bildschirmaufnahme mit Sprachkommentar?

Der zeitaufwändige Teil beim Vertonen einer Bildschirmaufnahme ist nicht die Stimme, sondern die Synchronisation: das Ausrichten jedes Satzes an dem Klick, den er beschreibt, und das Beheben der Stellen, an denen der Satz länger ist als die Aktion. Diese Fähigkeit erledigt beides automatisch und verhindert, dass der Kommentar driftet oder sich überschneidet.

Wann verwenden

  • "Füge einen Sprachkommentar zu dieser Demo / diesem Tutorial / dieser Bildschirmaufnahme hinzu."
  • "Ich habe meinen Bildschirm stumm aufgenommen, vertone es" oder "Ich möchte meine eigene Stimme / meinen Akzent nicht verwenden."
  • "Sorge dafür, dass der Kommentar mit dem übereinstimmt, was auf dem Bildschirm passiert."

Schritte

  1. Überprüfe, ob MIRAGEA_API_KEY gesetzt ist (niemals ausgeben). Stimme: Frage einmal nach der Miragea-Stimmen-ID des Benutzers oder einer öffentlichen URL eines Sprachclips plus dessen genauen Wortlauts. Schlage export MIRAGEA_VOICE_ID=... vor, damit es nie wieder abgefragt wird. Klone nur eine Stimme, die dem Benutzer gehört oder für die er die Nutzungserlaubnis hat.

  2. Finde die Schritte und erstelle eine Drehbuchvorlage:

    python3 scripts/scenes.py demo.mp4      # -> demo.frames/*.jpg, demo.frames/steps.json, demo.script.txt
    
  3. Sieh dir die Einzelbilder in demo.frames/ an (du kannst Bilder lesen) und schreibe einen klaren Satz pro Schritt in demo.script.txt nach jedem Zeitstempel, wobei du den # step-Kommentar ersetzt. Bleibe innerhalb des ~N Wörter-Hinweises, damit der Satz vor dem nächsten Schritt passt. Führe nach Belieben Schritte zusammen, verschiebe oder lösche sie. Wenn der Benutzer ein eigenes Skript bereitgestellt hat, setze dessen Sätze stattdessen an die passenden Zeitstempel.

  4. Überprüfe das Timing ohne Kosten:

    python3 scripts/voiceover.py demo.mp4 demo.script.txt --dry-run
    

    Kürze jede mit will freeze markierte Zeile, wenn der Benutzer keine eingefrorenen Bilder wünscht.

  5. Rendern:

    python3 scripts/voiceover.py demo.mp4 demo.script.txt --voice VOICE_ID            # Untertitel als Dateien
    python3 scripts/voiceover.py demo.mp4 demo.script.txt --burn --music bed.mp3      # eingebrannte Untertitel + leise gestellte Musik
    
  6. Gib dem Benutzer die Pfade aus dem gedruckten JSON: video (kommentiertes MP4), voice_track (WAV für seinen Editor), srt/vtt. Erwähne frozen_seconds, falls es größer als Null ist.

  7. Um eine Zeile zu ändern, bearbeite das Skript und führe Schritt 5 erneut aus: unveränderte Zeilen kommen kostenlos aus dem Cache.

Skriptformat

[00:00] Willkommen bei Acme. Hier ist das Dashboard, das Sie nach der Anmeldung sehen.
[00:04] Klicken Sie auf Neues Projekt, geben Sie einen Namen ein und wählen Sie das Team, das es besitzen soll.
[01:02.5] Das war's. Ihr Projekt ist fertig.

Akzeptierte Zeitstempel: [mm:ss], [h:mm:ss], mm:ss.s, 12.5s. Zeilen, die mit # beginnen, sind Kommentare.

Wie die Synchronisation funktioniert

  • Jede Zeile beginnt exakt zu ihrem Zeitstempel; 0,25 s Luft werden vor dem nächsten Schritt freigehalten.
  • Eine Zeile, die länger ist als ihr Slot, wird beschleunigt, maximal um --max-speed (Standard 1,15x, immer noch natürlich).
  • Wenn sie immer noch nicht passt, hält das Video das letzte Bild dieses Schritts, bis der Satz endet, und fährt dann fort. Spätere Zeilen verschieben sich um denselben Betrag, sodass die Synchronisation nie verloren geht.
  • Untertitel werden an die tatsächliche Sprechdauer jeder Zeile angepasst (max. 2 Zeilen à 42 Zeichen).
  • Die Lautstärke wird auf etwa -16 LUFS normalisiert (YouTube/Web-Standard). Musik, falls angegeben, wird unter der Sprache leiser gestellt.

Optionen

FlagStandardBeschreibung
--voice ID / --ref-url URL --ref-text TEXTenvGespeicherte Miragea-Stimme oder Klonen von einem öffentlichen Clip (exakter Text = günstigerer 1x-Tarif)
--modelexpressiveoder standard
--max-speed1.15Maximale Beschleunigung vor dem Einfrieren von Bildern
--burnausUntertitel in das Video einbrennen
--music DATEIkeineHintergrundmusik, wiederholt und automatisch leiser gestellt
--keep-audioausDie Originaltonspur der Aufnahme leise unter der Stimme behalten
--dry-runZeigt den Slot-Plan mit einer geschätzten Sprechrate; keine API-Aufrufe
-o DATEIVIDEO.voiceover.mp4Ausgabepfad; das Original wird nie verändert

Kosten und Grenzen

Sprache wird zeichenweise von Miragea abgerechnet (1x mit einer gespeicherten Stimme oder exaktem Referenztext; aktuelle Tarife unter GET https://miragea.ai/v1/capabilities). Eine 3-minütige Demo hat normalerweise 2.000–3.000 Zeichen. Jede Zeile muss unter 2.000 Zeichen liegen. Referenzclips müssen öffentliche URLs sein, bis der Upload-Endpunkt von Miragea bereitgestellt wird.

Fehlerbehebung

  • no timestamp / not after the previous line -> Korrigiere die in der Fehlermeldung genannte Skriptzeile.
  • no voice chosen -> Übergib --voice oder setze MIRAGEA_VOICE_ID.
  • 401 falscher Schlüssel, 402 Guthaben aufladen unter miragea.ai, 429 warten und erneut ausführen (zwischengespeicherte Zeilen werden nicht erneut abgerechnet).
  • Zu viele oder zu wenige Schritte von scenes.py -> --threshold 0.02 (mehr) / 0.08 (weniger), --min-gap.

Siehe examples/ für ein echtes Skript, den Plan-JSON und die daraus erzeugten Untertitel.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

yyert123/remotion-narration

Turn a video script into per-scene voiceover for Remotion in one command - one MP3 per scene in a saved or cloned voice, measured durations converted to durationInFrames, word-level captions in Remotion's Caption format, and an SRT. Use when building a narrated video with Remotion (or any React/code video tool), when the user asks to "add voiceover", "narrate these scenes", "sync scenes to the narration" or "add captions that follow the voice". Voice and timing by Miragea, no GPU or ElevenLabs a

yyert123/shorts-voiceover

Make a finished vertical short video (YouTube Shorts, TikTok, Instagram Reels; 1080x1920 MP4) from a plain-text script in one command, with AI voiceover in a saved or cloned voice, word-timed pop captions taken from the real speech, Ken Burns motion on images, cropped and looped B-roll clips or animated gradient backgrounds, auto-ducked background music and -14 LUFS loudness. Use when the user asks to turn a script, tips list, story or blog post into a Short/Reel/TikTok, make a faceless short wi

yyert123/video-captions

Caption any video or audio file in one command. Produces clean, readable SRT and WebVTT subtitles (whole words, 42-char lines, proper timing) and can burn them into an MP4, including big centred 1-3 word "pop" captions for TikTok, Reels and YouTube Shorts. Use when the user asks to add subtitles or captions to a video, make an SRT/VTT file, transcribe a talk or podcast into captions, or burn captions into a short-form video. English-first; speech recognition by Miragea.

Verwandte Skills