Communitygithub.com

remotion-broll

Skill zur Ausführung von Materialaufgaben: Selbstaufnahme/Download/Screenshots/Auswahl/Einbettung/Farbkorrektur. Auslöser: Material, B-Roll, Bildschirmaufnahme, yt-dlp, Screenshot, Farbkorrektur. Wird aufgerufen, wenn ein echter Materialabschnitt erkannt wird.

Was ist remotion-broll?

Dieses Skill (remotion-broll) ist eine ausführbare Pipeline für die Materialbeschaffung und -integration in Remotion-basierten Videoprojekten. Es wird aktiviert, wenn eine Sequenz als „echter Materialabschnitt“ identifiziert wird – z. B. Produktdemonstrationen, Screencasts, UI-Präsentationen oder Benutzerinteraktionen. Der gesamte Ablauf ist in acht strikte Phasen unterteilt: Klassifizierung (vier Prioritätsstufen), Erfassung (z. B. mit yt-dlp für offizielle Videos oder Headless-Chrome-Screenshots), Authentifizierung (Dateityp- und Codec-Prüfung mit file/ffprobe), Segmentauswahl (Frame-Extraktion und manuelle Prüfung auf Lippen-synchrones Timing), Einbettung (via <Sequence> und <OffthreadVideo> mit wichtigen Premount-Regeln), Farbkorrektur (einheitliche CSS-Filter), Schnitt-Nachbearbeitung (Punch-in, Time-Remapping, Masken-Overlay) und abschließende Render-Validierung mit Einzelbildanalyse. Besondere Regeln gelten für KI-generierte Collage-B-Rollen: Sie müssen als Karten im rechten Bereich platziert werden (nicht im Vollbild, es sei denn, es gibt keine Informationen, die parallel gezeigt werden müssen), jeder Satz erhält ein Standbild (keine Aufbau-Animationen), und die Auflösung ist auf 720p für Karten oder über die xAI API auf 1080p beschränkt. Für Personenfotos ist AI nur bei öffentlichen Personen mit klar lizenzierten Quellen (Wikimedia Commons, offizielle Pressematerialien) erlaubt; bei nicht-öffentlichen Personen muss der Nutzer das Bild liefern. Das Skill setzt auf strikte Validierung, Codec-Konformität (H.264, kein HEVC) und verhindert typische Fehler wie durchsichtige Premount-Fenster oder falsche Bildschirmfotos.

Funktioniert mit~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/jincheng2026/jc-remotion-skills/tree/main/skills/remotion-broll

In Ihrer bevorzugten KI fragen

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

Dokumentation

Materialtechnik (ausführbare Pipeline)

Zweck: Dies ist ein ausführendes Skill, kein Regeldokument – eine durchgängige Ausführung von Entscheidung, Befehl und Abnahme. Die vollständigen Regeln finden Sie in remotion-assembly/references/broll.md (detaillierte Prioritätsstufen, Pflichten zur Materialliste pro Fall, Referenzspezifikation). Bei Konflikten hat diese Quelle Vorrang.

Wann aufrufen

  • Schritt 2 der Segment-Werkstatt hat einen „echten Materialabschnitt“ erkannt (produktbezogene Szenen: Tippen/Generieren/Oberfläche/Demo/Bedienung)
  • Materialsammlung vor der endgültigen Montagetabelle (1 Screenshot oder 5s Bildschirmaufnahme pro Fall, AI beschafft selbst, wartet nicht auf Zulieferung)
  • Benutzer liefert Bildschirmaufnahmen / Rohmaterial zur Einbettung

Ausführungspipeline (jeder Schritt mit Abnahme, schrittweise vorgehen)

① Einstufung: Nach vier Prioritätsstufen Route wählen – Benutzer-Screencast > Offizielles Video > Web-Screenshot > UI-Simulationskarte. Bei Fällen mit öffentlicher Website / offiziellem Kanal ist der direkte Sprung auf Stufe 4 verboten.

② Erfassung

  • Offizielles Video: yt-dlp --print "%(channel)s | %(title)s | %(duration)ss | %(id)s" "ytsearch8:<Produktname> official" offiziellen Kanal identifizieren → yt-dlp -f "bv*[height<=1080][vcodec^=avc1]+ba[ext=m4a]/b[vcodec^=avc1]/b" -o "public/broll/<Name>.mp4" <url> ([vcodec^=avc1] filtert das Standard-AV1, das ebenso wie HEVC nicht in die Bibliothek aufgenommen wird, siehe broll.md 2c); Bei 403 nacheinander UA / --cookies-from-browser / Proxy ausprobieren.
  • Web-Screenshot: node_modules/.remotion/chrome-headless-shell/*/chrome-headless-shell*/chrome-headless-shell --headless --screenshot=<out.png> --window-size=1920,1080 --virtual-time-budget=10000 <url>.

③ Authentifizierung (nicht überspringbar): file <Datei> um sicherzustellen, dass „PNG in Wirklichkeit HTML“ verhindert wird; Video mit ffprobe Codec prüfen, HEVC vorher nach H.264 konvertieren (schwarzen Bildschirm vermeiden); Screenshot visuell lesen, um Login-Wall / Cookie-Popup auszuschließen.

④ Segmentauswahl: ffmpeg -vf fps=0.5 Frames extrahieren, Kontaktbogen erstellen, Einzelbilder visuell lesen, 3-8s lange Kameraeinstellung auswählen, die zeitlich mit dem Kommentar synchron ist (Eingabe → Aktion → Warten → Ergebnis), Start- und Endsekunden notieren.

⑤ Einbettung: Im Takeover <Sequence from={beat(x)}> + <OffthreadVideo muted src={staticFile('broll/….mp4')} startFrom={F(Startsekunde)}> (muted ist Pflicht); Takeover ohne PiP (Benutzerentscheid); Screenshots als ShotCard/WindowCard einbauen. Media-Sequenz mit premountFor≈fps versehen, um schwarzen Erstframe zu vermeiden, aber diese Sequence darf NICHT layout="none" setzen (nach Entfernen der Hülle wird premount unwirksam); äußere Schicht, wenn return null die Sichtbarkeit des Containers steuert, muss null mindestens ≥premountFor Frames vorher gesetzt werden (seg06-Test: Container frame<enterAt-30 return null mit innerem premountFor={30}), sonst löscht das parent-null das Vorladefenster und premount ist sinnlos.

⑥ Farbkorrektur-Vereinheitlichung: Auf Materialebene filter: brightness(0.9-0.92) saturate(0.95) hinzufügen (je nach Helligkeit des Hauptvideos leicht anpassen), unveränderte Originalfarben wirken wie ein aufgeklebtes Bild (Fehler #18); Takeover-Abschnitte einheitlich mit brightness(.92) saturate(.95) (seg06-Test, pro Abschnitt nicht nach Augenmaß anpassen).

⑦ Schnitt-Nachbearbeitung: Bei Betonung Punch-in (Crop+Scale auf Schlüsselbereich, Schlüsselsatzzeichenhöhe ≥40px), Frame-Auswahl, Zeitraffer; Zitate im Zweiteiler „Zuerst gesamte Karte 2-3s → Punch-in Schlüsselsatz“; Takeover-Fenster an die natürliche Länge des Materials anpassen, natürliche Geschwindigkeit bevorzugen – Material kürzer als Fenster: Fenster früher schließen + Überblendung vorziehen, nicht verlangsamen, um Fenster zu füllen; playbackRate<1 nur bei UI-Scrollen und wenn Fenster nicht verkürzbar ist, als letzte Wahl (≥0.7). Material mit eingebrannten Hervorhebungen/Übersetzungen hat keine sauberen Frames → Maskierungs-Overlay (weiße Maske scaleX 1→0 enthüllt, und in SOURCES.md muss „mit Maskierungs-Overlay“ vermerkt sein, siehe broll.md 8.5).

⑧ Segment-Render-Abnahme: Nur das Segment rendern --frames=a-b, Frames extrahieren und visuell prüfen auf: Klebegefühl (Farbkorrektur), Lesbarkeit (≥16px), Überlappung (Whiteboard-Sicherheitsrahmen), Synchronisation mit Kommentar.

Ablagekonvention

Video public/broll/; Screenshots public/assets/; Lücken in der Montagetabelle festhalten und Benutzer um Zulieferung bitten. Urheberrechtsvermerk: Offizielles Werbematerial für kommentierende Videos.

Personennamen immer mit Porträt (Benutzerentscheid 2022-07-22, eisernes Gesetz)

Wenn im Kommentar ein konkreter Name genannt wird, soll im Avatar-Kreis der Person möglichst ein echtes Foto dieser Person erscheinen, kein Initialen-Monogramm (Benutzer wörtlich: „Erwähne einen Namen, füge möglichst ein Bild hinzu, suche selbst das repräsentativste Bild dieser Person im Netz und setze es in den Avatar-Kreis“). Monogram/Icon nur als Notlösung, wenn kein Bild verfügbar.

Beschaffungsansatz (zwei Kategorien, nicht vermischen):

  • Öffentliche Personen (Steve Jobs, Elon Musk usw.): AI beschafft selbst, aber nur aus Quellen mit eindeutig kommerziell nutzbarer Lizenz – bevorzugt Wikimedia Commons mit CC BY / CC BY-SA / Public Domain, danach offizielle Pressematerialien. Kein wildes Googlen nach Bildern (meist urheberrechtlich unklare kommerzielle Fotografie, das Video des Benutzers soll veröffentlicht werden). Nach der Beschaffung muss in public/broll/<Filmname>/SOURCES.md vermerkt werden: Dateiname / Quell-URL / Lizenztyp / Fotograf. CC BY-SA erfordert Nennung im Abspann oder in der Beschreibung – den Benutzer bei Übergabe informieren.
  • Nicht-öffentliche Personen (z. B. im Kommentar erwähnte Lehrer, Freunde, Kollegen): AI darf nicht selbst im Netz nach Bildern suchen – weder kann die Identität bestätigt werden, noch gibt es eine Lizenz. Nach dem Prozess „Namentlich angeforderte Materialien“ den Benutzer um Bereitstellung bitten; stellt der Benutzer kein Bild, bleibt es bei handgezeichneter Namenskarte/Monogram, mit Begründung bei Übergabe.

Diese Anweisung ersetzt die alte Regelung: Die frühere Einschränkung „Steve Jobs kein Porträt, nur Text/Icon-Chip“ war eine konservative Maßnahme aus Urheberrechtsgründen; jetzt gilt nach Benutzerentscheid „echtes Foto mit klarer Lizenz“. Das Urheberrechtsproblem wird durch Auswahl lizenzierter Quellen gelöst, nicht durch Verzicht auf ein Bild.

KI-generierte Collage-B-Rollen (emotionale/metaphorische Szenen ohne echtes Material, 0722-01 etabliert)

Wenn es in den vier Materialstufen nichts gibt, aber eine emotionale oder abstrakte metaphorische Szene benötigt wird (Wiederholungen, Operation, Handynutzung, Aufmerksamkeitszerfall – diese Art von Szenen kann weder aufgezeichnet noch offiziell gefilmt werden), wird dieser Prozess ausgeführt: Codex image_gen erzeugt Standbilder → Grok image_to_video belebt sie → Einbindung ins Hauptvideo. Die Ausführung erfolgt über das gbro-collage-broll Skill mit drei Gates (Gate1 Metapher / Gate2 Standbild / Gate3 Video), aber Rhythmus, Träger und Komposition richten sich nach diesem Abschnitt (überschreibt gbro-Standardwerte).

① Träger: Standardmäßig Karte im rechten Bereich, nicht Vollbild. B-Roll kommt in die Beweiskarte des rechten Bereichs der Drei-Spalten-Version (16:9 proportional objectFit:contain vollflächig angezeigt, nicht beschnitten – Benutzerentscheid „proportional verkleinern“), die Person bleibt anwesend, der linke Bereich behält Seitenmarkierung + Timeline-HUD. Vollbild-Takeover nur, wenn „keine Informationen parallel zum Material angezeigt werden müssen“ (A-Roll-Eisernes Gesetz: Vollbild ist die einzige Stelle, an der die Person abgeschnitten werden kann, siehe Layout §2). Träger-Komponente siehe src/koubo/scenes-0722-01/CollageBroll.tsx (Karte + OffthreadVideo, Strichfarbe folgt Kapitelfarbe). Nicht standardmäßig Vollbild machen – 0722-01 wurde fälschlich als Vollbild erstellt und vom Benutzer abgelehnt, Neuanfertigung.

② Rhythmus: Ein Satz ein Bild, Schnitte geben Rhythmus, keine Enthüllung im Frame. Bei dichtem Kommentar lebt jedes Bild nur 1-3s, keine assemble-from-empty-Aufbau-Animation (beginnt mit leerem Raum, erst letzter Frame vollständig = Information immer einen halben Takt hinterher, kämpft gegen die Sprachkurve, 8 Videos deshalb verworfen). Stattdessen „beleben“ – Standbild-Komposition ist ab Frame 0 vollständig, Grok fügt nur kontinuierliche Mikrobewegung hinzu (Papierflattern/Zahnräder drehen/Lichtbänder gleiten/Nebel wallen), die Komposition darf sich kein einziges Frame ändern.

③ Standbild-Kompositionsregeln (Codex image_gen):

  • Proportions-Typologie (pauschales Vorgehen führt zum Scheitern): Objektgetriebene Metapher (Krankenbett/Tablette/Kalender/Fragmente/Bücherstapel – Person ist nur Element) Personenhöhe 45-60%; Personengetriebene Metapher (arbeitet/sitzt aufrecht/drückt Knopf/starrt – Person ist Hauptsubjekt) muss Nahaufnahme 65-80%, Totale funktioniert nicht.
  • Harte rote Linie: Keine falschen Zeichen/lesbaren Buchstaben/Zahlen/Logo/Wasserzeichen/UI; auch die vier Ränder prüfen (Codex übersieht oft falsche Zeichen an den Rändern, das Hauptgespräch muss mit ffmpeg die vier Ränder beschneiden, vergrößern und unabhängig nachprüfen).
  • Identitätsreferenzbild vom Benutzer festgelegt (0722-01 verwendet my-face-studio-default.JPG); Gesichtsausdruck nach Erzählung, in Tiefpunkten häufig Silhouetten/gesenkter Kopf/liegend verwenden, um Unstimmigkeiten zu vermeiden, nicht lächeln, nicht traurig.
  • Nach jeder Batch-Generierung md5 Duplikate entfernen, um Dateiüberschreibungen zu vermeiden.

④ Grok-Belebung – drei Fallstricke (Fehler #39 detailliert):

  • Auflösung: grok CLI image_to_video hat bei resolution_name nur 480p/720p, kein 1080p (am 2026-07-24 getestet und bestätigt, Anfrage 1080p fällt auf 720p zurück); xAI API-seitig unterstützt grok-imagine-video-1.5 1080p i2v (offizielle Doku). Vollbild benötigt 1080p = CLI schafft das nicht: xAI API 1.5, echtes Material oder anderen Generator (Sora 2 / Veo / Kling / Seedance; ChatCut MCP hat Seedance/Kling eingebaut). Der Befehl muss explizit die Auflösung festschreiben, um die volle Stufe zu erhalten – ohne Vorgabe fällt standardmäßig auf 736×400 (noch unschärfer). Reicht 720p je nach Trägermodus?: Karte/Bild-in-Bild (Anzeigebereich oft <720px) 720p reicht aus, scharf; Vollbild über 1920×1080 bei 720p um 1.5× vergrößert wird weich. Das Endvideo ist 1080p, B-Roll braucht kein 4K (nicht sichtbar, es sei denn, starkes Heranzoomen).
  • Morph-Wucherung: Bei leicht zerfallenden Elementen (Zahnrad/Ring/Kalenderfeld) im Prompt am Ende eine Sperre einfügen (einzelne Originalgröße/Anzahl und Farbe gleich/Ring durchgehend nicht reißen).
  • Harte Vervollständigung: „Sparsame Elemente + große leere Hintergründe + hohle Menschenfiguren + Fragment mit Gesicht“ löst Modell aus, den leeren Raum zu füllen/hohle Räume auszufüllen/Gesichter wachsen zu lassen – ändert die Komposition, statt Verbote hinzuzufügen.
  • Aufruf: Headless benötigt --always-approve --permission-mode bypassPermissions --max-turns 10; Multi-Agent gemeinsames cwd deaktiviert grok --continue (würde Sitzungen vermischen und A-Film ins B-Verzeichnis schreiben); vor Übergabe alle mit md5 deduplizieren.

⑤ Umgebungsvoraussetzung: Codex-Projekt muss in dessen beschreibbarem Arbeitsverzeichnis erstellt werden (lokal = ~/Documents/remotion剪辑/), erstellt in ~/hyperframes-projects/ führt zu erfolgreichem image_gen, aber Speichern wird verweigert; Multi-Item-Aufgaben pro Item einen Agenten parallel starten, nicht einen Agenten seriell alles machen lassen (würde nach der Hälfte fertig melden und aufhören).

Individual skills in this repo

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

Verwandte Skills