CommunityCodierung & Entwicklunggithub.com

mvanhorn/clawdbot-skill-remotion-server

Erstelle professionelle Videos aus Code mit Remotion v5 – Social-Media-Formate, vorgefertigte Vorlagen, Thumbnail-Generierung und Batch-Rendering. Headless auf jedem Linux-Server. OpenClaw-Skill.

Was ist clawdbot-skill-remotion-server?

Dieser Skill ermöglicht das headless Rendering von Videos auf jedem Linux-Server mithilfe von Remotion v5 (aktuell v4.0.435). Er kommt ohne Mac oder GUI aus – die Chrome Headless Shell übernimmt das gesamte Rendering. Ideal für VPS, Raspberry Pi, CI-Umgebungen oder Docker-Container. Der Skill stellt Skripte zur Einrichtung der Systembibliotheken bereit (setup.sh) und ermöglicht die Erstellung neuer Projekte mit create.sh. Neben dem lokalen CLI-Rendering werden auch verteilte Rendering-Backends wie AWS Lambda, Vercel Sandboxes, Google Cloud Run und GPU-beschleunigtes Rendering auf EC2 unterstützt. Der Skill enthält vorgefertigte Vorlagen für Social-Media-Formate (TikTok, YouTube Shorts, Instagram Reels, YouTube, Twitter/X) sowie drei Templates: Chat-Demo (animierte Chat-Bläschen), Titel-Karte (animierter Intro-Text) und eine leere Vorlage. Zusätzlich können Thumbnails generiert werden, und es gibt neue Remotion-Pakete wie @remotion/sfx (Soundeffekte), @remotion/starburst (Sternen-Animationen), @remotion/shapes (geometrische Formen inkl. Pfeil), @remotion/captions (untertitelte Animationen) und @remotion/player (eingebettete Wiedergabe in React-Apps). Der Skill unterstützt zudem die KI-Agenten-Integration für Prompt-to-Video-Workflows mit Claude Code.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add mvanhorn/clawdbot-skill-remotion-server

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

Remotion Server

Rendere Videos headless auf jedem Linux-Server mit Remotion v5 (aktuell v4.0.435). Kein Mac oder GUI erforderlich. Die Chrome Headless Shell übernimmt das gesamte Rendering – funktioniert auf VPS, Raspberry Pi, CI-Runnern, Docker-Containern, überall wo Node.js läuft. FFmpeg ist in jedes Remotion-Projekt integriert – keine separate FFmpeg-Installation nötig.

Einrichtung (einmalig)

Installiere die Browser-Abhängigkeiten für Chrome Headless Shell:

bash {baseDir}/scripts/setup.sh

Dies installiert Systembibliotheken (libnss3, libatk, libgbm, libcups2 usw.), die Chrome auf headless Linux benötigt. Unterstützt Ubuntu 22.04/24.04, Debian und Amazon Linux.

Einrichtung überprüfen

Überprüfe nach der Einrichtung, ob Chrome Headless Shell funktioniert:

npx @remotion/chrome-headless-shell --help

Falls dies fehlschlägt, fehlen die Systemabhängigkeiten. Führe setup.sh erneut aus oder installiere manuell:

# Ubuntu/Debian
sudo apt install -y libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libgbm1 \
  libpango-1.0-0 libcairo2 libxcomposite1 libxdamage1 libxfixes3 libxrandr2

# Amazon Linux
sudo yum install -y mesa-libgbm libX11 libXrandr libdrm libXdamage libXfixes \
  libxkbcommon dbus-libs libXcomposite alsa-lib nss pango cups-libs at-spi2-core atk

Schnellstart

Ein Projekt erstellen

bash {baseDir}/scripts/create.sh mein-video
cd mein-video

Ein Video rendern

npx remotion render MeineKomposition out/video.mp4

Vorschau im Browser (Entwicklungsmodus)

npx remotion preview

Öffnet einen lokalen Entwicklungsserver, auf dem du durch die Video-Zeitleiste scrollen, Props anpassen und iterieren kannst, bevor du renderst.

Rendering-Optionen (5 Möglichkeiten)

Remotion v5 bietet fünf Rendering-Backends. Wähle basierend auf deiner Infrastruktur und Skalierung.

1. Lokales CLI (Standard)

Rendere auf dem Rechner, auf dem Node.js läuft. Am besten für Entwicklung, CI und Single-Server-Bereitstellungen geeignet.

npx remotion render MeineKomposition out/video.mp4

2. Remotion Lambda

Verteile das Rendering auf AWS Lambda-Funktionen. Rendert bis zu ~80 Minuten Full-HD-Video. Unterstützt Webhooks für asynchrone Benachrichtigungen und integrierte Kostenschätzung.

npm install @remotion/lambda

# Lambda-Funktion bereitstellen
npx remotion lambda functions deploy

# Auf Lambda rendern
npx remotion lambda render MeineKomposition

# Kosten vor dem Rendern schätzen
npx remotion lambda still --estimate-price MeineKomposition

Hauptmerkmale:

  • Verteiltes Rendering über mehrere Lambda-Aufrufe
  • Webhook-Rückrufe bei Render-Abschluss
  • Kostenschätzung vor dem Rendern
  • S3-Ausgabespeicher

Siehe https://www.remotion.dev/docs/lambda

3. @remotion/vercel (NEU – Feb 2026)

Rendere in Vercel Sandboxes. Einfachste Einrichtung – kein AWS-Konto erforderlich.

npm install @remotion/vercel

Bereitstellung deines Remotion-Projekts auf Vercel und Auslösen von Renderings über die API. Am besten für Teams, die bereits Vercel nutzen und eine Konfiguration ohne Aufwand wünschen.

Siehe https://www.remotion.dev/docs/vercel

4. Cloud Run (alpha)

Rendere auf Google Cloud Run. Niedrigere Rechenkosten als Lambda für längere Videos.

npm install @remotion/cloudrun
npx remotion cloudrun render MeineKomposition

Siehe https://www.remotion.dev/docs/cloudrun

5. GPU-Rendering auf EC2 (v4.0.248+)

Hardware-beschleunigtes Rendering auf EC2-GPU-Instanzen. Schnellste Option für komplexe Kompositionen mit starken Animationen oder 3D-Inhalten.

Erfordert eine EC2-Instanz mit einer GPU (z. B. g4dn.xlarge) und entsprechende Treiber.

Siehe https://www.remotion.dev/docs/gpu

Voreinstellungen für Social-Media-Formate

Verwende diese Auflösungs- und Seitenverhältnis-Voreinstellungen beim Erstellen von Kompositionen. Übergib --width und --height an npx remotion render, um die Standardeinstellungen der Komposition zu überschreiben.

TikTok / YouTube Shorts / Instagram Reels (9:16 vertikal)

npx remotion render ChatDemo out/tiktok.mp4 --width=1080 --height=1920
  • Auflösung: 1080x1920
  • Seitenverhältnis: 9:16
  • Empfohlene FPS: 30
  • Maximale Dauer: 60s (TikTok), 60s (Shorts), 90s (Reels)

YouTube Standard (16:9 Landschaft)

npx remotion render MeineKomposition out/youtube.mp4 --width=1920 --height=1080
  • Auflösung: 1920x1080
  • Seitenverhältnis: 16:9
  • Empfohlene FPS: 30 oder 60

Instagram Beitrag (1:1 quadratisch)

npx remotion render MeineKomposition out/instagram-beitrag.mp4 --width=1080 --height=1080
  • Auflösung: 1080x1080
  • Seitenverhältnis: 1:1
  • Maximale Dauer: 60s

Twitter/X Video (16:9 Landschaft)

npx remotion render MeineKomposition out/twitter.mp4 --width=1280 --height=720
  • Auflösung: 1280x720
  • Seitenverhältnis: 16:9
  • Maximale Dateigröße: 512MB
  • Maximale Dauer: 140s

Format-Voreinstellungen Zusammenfassung

PlattformBreiteHöheVerhältnisFPS
TikTok108019209:1630
YouTube Shorts108019209:1630
Instagram Reel108019209:1630
Instagram Beitrag108010801:130
YouTube1920108016:930
Twitter/X128072016:930

Beim Erstellen einer Komposition im Code setze width, height und fps direkt:

<Composition
  id="TikTokPromo"
  component={PromoVideo}
  durationInFrames={30 * 15}
  fps={30}
  width={1080}
  height={1920}
/>

Neue Pakete (v4.0.429+)

@remotion/sfx (v4.0.429)

Integrierte Soundeffekte für schnelle Audio-Hinweise:

import { Sfx } from "@remotion/sfx";

// Verfügbare Sounds: ding, bruh, vineBoom
<Sfx name="ding" />
<Sfx name="bruh" />
<Sfx name="vineBoom" />

@remotion/starburst (v4.0.435)

Sternen- und Animationskomponente:

import { Starburst } from "@remotion/starburst";

<Starburst
  points={12}
  innerRadius={50}
  outerRadius={100}
  fill="yellow"
/>

@remotion/shapes (aktualisiert v4.0.432)

Geometrische Grundformen. Enthält jetzt die Pfeil-Form:

import { Triangle, Star, Pie, Arrow } from "@remotion/shapes";

<Triangle length={100} direction="up" fill="red" />
<Star points={5} innerRadius={30} outerRadius={60} fill="gold" />
<Pie radius={50} progress={0.75} fill="blue" />
<Arrow length={150} direction="right" fill="black" />

@remotion/captions

Animierte Untertitel für Videoinhalte. Unterstützt wortgenaues Timing und mehrere Animationsstile:

import { Caption } from "@remotion/captions";

<Caption
  text="Hallo Welt"
  startFrame={0}
  endFrame={60}
  style="bounce"
/>

@remotion/player

Bette Remotion-Videos in React-Apps ein, ohne sie als Datei zu rendern. Interaktive Wiedergabe mit Steuerelementen:

import { Player } from "@remotion/player";

<Player
  component={MeineKomposition}
  durationInFrames={300}
  fps={30}
  compositionWidth={1920}
  compositionHeight={1080}
  controls
/>

Mediabunny (Formatkonvertierung)

Mediabunny ist der Nachfolger von @remotion/media-parser und @remotion/webcodecs. GPU-beschleunigte Formatkonvertierung, integriert in Remotion.

Unterstützte Eingaben: MP4, WebM, MOV, MKV, M3U8, TS, AVI, MP3, FLAC, WAV, M4A, AAC Unterstützte Ausgaben: MP4, WebM, WAV

import { convertMedia } from "@remotion/media-converter";

await convertMedia({
  src: "input.mov",
  container: "mp4",
});

Remotion Skills (Jan 2026)

KI-Agenten-Integration für Prompt-to-Video-Workflows. Claude Code kann Remotion-Kompositionen aus natürlichsprachlichen Beschreibungen generieren.

"Erstelle ein 15-Sekunden-TikTok-Video mit animiertem Text, der 'Neue Funktion' sagt, mit einer Feder-Animation einblendet und dann drei Aufzählungspunkte zeigt"

Der Agent generiert die TSX-Komposition, registriert sie und rendert sie – alles aus einem einzigen Prompt.

Vorlagen

Alle Vorlagen werden über das Skript create.sh erstellt. Jede generiert ein vollständiges Remotion-Projekt mit TypeScript, TailwindCSS 4.2.0 und den Vorlagenkomponenten.

Chat-Demo (Telegram-ähnliches Handy-Mockup)

Animierte Chat-Bläschen, die nacheinander in einem Handy-Mockup erscheinen. Gut für Produktdemos, Bot-Präsentationen und Kunden-Support-Highlights.

bash {baseDir}/scripts/create.sh mein-chat --template chat
cd mein-chat

Passe die Konversation in src/messages.json an:

[
  {"text": "Wie setze ich mein Passwort zurück?", "isUser": true},
  {"text": "Gehe zu Einstellungen > Konto > Passwort zurücksetzen. Du erhältst in ca. 30 Sekunden eine E-Mail.", "isUser": false},
  {"text": "Verstanden, danke!", "isUser": true}
]

Rendere in TikTok-Auflösung:

npx remotion render ChatDemo out/chat-tiktok.mp4 --width=1080 --height=1920

Standardkomposition: 1080x1920 (vertikal), 30fps, Dauer automatisch aus Nachrichtenanzahl berechnet.

Titel-Karte (animierter Intro-Text)

Einblendender Titel mit Feder-Animation. Verwende für Video-Intros, Abschnittsüberschriften oder eigenständige Ankündigungskarten.

bash {baseDir}/scripts/create.sh mein-intro --template title
cd mein-intro

Passe die Vorlage durch Bearbeiten der defaultProps in src/TitleCard.tsx an:

defaultProps={{ title: "Produkteinführung", subtitle: "Kommt im März 2026" }}

Rendere in YouTube-Auflösung:

npx remotion render TitelKarte out/titel-youtube.mp4 --width=1920 --height=1080

Standardkomposition: 1920x1080 (Landschaft), 30fps, 3 Sekunden.

Leer (Startvorlage)

Leere Leinwand für eigene Kompositionen.

bash {baseDir}/scripts/create.sh mein-projekt
cd mein-projekt

Zeigt einen Frame-Zähler. Ersetze src/Composition.tsx durch deine eigene Komponente.

Eigene Vorlagen erstellen

Um eine neue Vorlage hinzuzufügen (z. B. Werbevideo, Code-Durchlauf, Statistiken-Dashboard, Countdown, Testimonial), erstelle eine React-Komponente, die Remotion-Primitive verwendet:

import { AbsoluteFill, useCurrentFrame, spring, useVideoConfig, interpolate, Sequence, Img, Audio } from "remotion";

Wichtige Remotion-APIs für Vorlagen:

  • useCurrentFrame() – aktuelle Frame-Nummer für Animationen
  • spring({ frame, fps, config }) – Feder-Physik-Animation
  • interpolate(frame, inputRange, outputRange) – lineare Interpolation
  • <Sequence from={30}> – verzögert Kind-Elemente um N Frames
  • <Img src={staticFile("logo.png")} /> – lädt statische Assets
  • <Audio src={staticFile("music.mp3")} /> – fügt Hintergrund-Audio hinzu
  • <AbsoluteFill> – Vollbild-Container

Registriere Kompositionen in src/Root.tsx:

import { Composition } from "remotion";
import { PromoVideo } from "./PromoVideo";

export const RemotionRoot: React.FC = () => {
  return (
    <>
      <Composition
        id="PromoVideo"
        component={PromoVideo}
        durationInFrames={300}
        fps={30}
        width={1080}
        height={1920}
      />
    </>
  );
};

Thumbnail-Generierung

Extrahiere einen einzelnen Frame als Standbild mit dem Befehl still von Remotion:

npx remotion still MeineKomposition out/thumbnail.png

Optionen

# Bestimmter Frame (Standard ist Frame 0)
npx remotion still MeineKomposition out/thumb.png --frame=45

# JPEG-Ausgabe
npx remotion still MeineKomposition out/thumb.jpeg --image-format=jpeg

# JPEG-Qualität (0-100)
npx remotion still MeineKomposition out/thumb.jpeg --image-format=jpeg --jpeg-quality=90

# Benutzerdefinierte Auflösung
npx rem

Verwandte Skills