home / skills / openclaw / skills / remotion-video

remotion-video skill

/skills/kjaylee/remotion-video

This skill helps you programmatically create Remotion videos on MiniPC by orchestrating assets, captions, transitions, and rendering workflows.

npx playbooks add skill openclaw/skills --skill remotion-video

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
3.2 KB
---
name: remotion-video
description: Create programmatic videos using Remotion on MiniPC. Use when making video content, animations, motion graphics, social media clips, or any React-based video production. Covers animations, assets, audio, captions, transitions, and rendering.
metadata:
  author: misskim
  version: "1.0"
  origin: Concept from remotion-dev/skills, adapted for our MiniPC Remotion setup
---

# Remotion Video Production (MiniPC)

MiniPC의 Remotion으로 프로그래밍 방식의 영상 제작.

## 환경

- **프로젝트:** `$HOME/remotion-videos` (MiniPC)
- **실행:** `npx remotion render <CompositionId> out/video.mp4`
- **ffmpeg:** 설치됨
- **전송:** MiniPC HTTP 서버(9877) + curl로 맥 스튜디오 전송

## 핵심 개념

### Composition = 영상의 단위
```tsx
<Composition
  id="MyVideo"
  component={MyComponent}
  durationInFrames={150}  // 30fps × 5초 = 150프레임
  fps={30}
  width={1920}
  height={1080}
/>
```

### 시간 제어
```tsx
const frame = useCurrentFrame();         // 현재 프레임
const { fps, durationInFrames } = useVideoConfig();

// 보간 (interpolate)
const opacity = interpolate(frame, [0, 30], [0, 1], {
  extrapolateRight: 'clamp'
});

// 스프링 애니메이션
const scale = spring({ frame, fps, config: { damping: 200 } });
```

### 시퀀싱
```tsx
<Sequence from={0} durationInFrames={60}>
  <IntroScene />
</Sequence>
<Sequence from={60} durationInFrames={90}>
  <MainContent />
</Sequence>
```

## 주요 패턴

### 에셋 사용
- **이미지:** `<Img src={staticFile('logo.png')} />`
- **비디오:** `<OffthreadVideo src={staticFile('clip.mp4')} />`
- **오디오:** `<Audio src={staticFile('bgm.mp3')} volume={0.5} />`
- **폰트:** Google Fonts — `loadFont("Noto Sans KR")`
- **로컬 폰트:** public/ 폴더에 배치

### 자막/캡션
- `@remotion/captions` 패키지 사용
- JSON/SRT 자막 파일 로드 → 타임스탬프 동기화

### 트랜지션
- `@remotion/transitions` — slide, fade, wipe 등
- `<TransitionSeries>` 컴포넌트로 장면 전환

### Tailwind CSS
- `@remotion/tailwind` 설정 후 className 사용 가능

### 3D 콘텐츠
- `@react-three/fiber` + `@remotion/three`
- Three.js 씬을 Remotion 타임라인에 동기화

## 렌더링

```bash
# 기본 렌더링
cd $HOME/remotion-videos
npx remotion render MyVideo out/video.mp4

# 고품질
npx remotion render MyVideo out/video.mp4 --codec h264 --crf 18

# 투명 배경 (WebM)
npx remotion render MyVideo out/video.webm --codec vp8

# GIF
npx remotion render MyVideo out/animation.gif --every-nth-frame 2
```

## 제작 워크플로우

1. **기획:** 장면 구성, 길이, 해상도 결정
2. **에셋 준비:** 이미지, 음악, 폰트 → public/ 폴더
3. **컴포넌트 코딩:** React로 각 장면 제작
4. **프리뷰:** `npx remotion studio` (MiniPC 브라우저)
5. **렌더링:** headless 렌더링 → MP4/WebM
6. **전송:** HTTP 서버로 맥 스튜디오에 전달

## ⚠️ 주의사항

- **서브에이전트 위임** — 영상 렌더링은 시간 소모적
- **30fps 기본** — 필요 시 60fps로 변경
- **메모리 주의** — 고해상도 + 긴 영상은 MiniPC RAM 한계 주의
- **GitHub push 불가** (MiniPC) — 맥 스튜디오에서 push

Overview

This skill enables programmatic video production using Remotion on a MiniPC. It guides setup, composition patterns, asset handling, previews, headless rendering, and transfer workflows so you can produce React-driven animations, motion graphics, and social clips efficiently.

How this skill works

It inspects and automates a Remotion project layout on the MiniPC, providing recipes for compositions, sequencing, assets (images, video, audio, fonts), captions, transitions, and optional 3D scenes. It includes commands for previewing with remotion studio, headless rendering (MP4/WebM/GIF), and transferring outputs via a lightweight HTTP endpoint to another machine.

When to use it

  • Creating social media clips, promos, or short animations from code.
  • Producing templated videos that require dynamic data or batch rendering.
  • Adding animated captions, transitions, or synchronized audio to programmatic content.
  • Rendering React/Three.js-based 2D or 3D motion graphics on a compact MiniPC.
  • When you need an automated pipeline that exports media and transfers files to another workstation.

Best practices

  • Plan compositions: decide durationInFrames, fps, and resolution before coding scenes.
  • Keep assets in the public/ folder and reference with staticFile() for deterministic builds.
  • Use Sequences to split a timeline into scenes and TransitionSeries for smooth scene changes.
  • Render headless for final outputs; use remotion studio for interactive previews and debugging.
  • Monitor RAM and lower resolution or use every-nth-frame for GIFs to avoid memory limits on MiniPC.
  • Offload heavy renders or Git pushes to a more capable machine; use the MiniPC for development and local rendering only.

Example use cases

  • Produce 5–30 second social clips with animated intros, captions, and background music using Composition and Sequence patterns.
  • Batch-generate personalized videos (name overlays, data-driven slides) by varying component props and rendering programmatically.
  • Create tutorial clips with synchronized audio and subtitles using @remotion/captions and SRT/JSON files.
  • Render Three.js scenes into a Remotion timeline for short 3D motion-graphics segments.
  • Export transparent WebM assets for compositing, or optimized H.264 MP4s for social uploads using CRF settings.

FAQ

What command renders a composition to MP4?

Use npx remotion render <CompositionId> out/video.mp4; add --codec and --crf for quality control.

How do I include fonts and images reliably?

Place fonts and assets in public/ and reference them with staticFile() or loadFont() for Google/local fonts.

Can the MiniPC handle long high-res renders?

Beware memory limits. Reduce resolution, split the video into sequences, or render on a more powerful machine for long/high-res projects.