| 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 = ์์์ ๋จ์
<Composition
id="MyVideo"
component={MyComponent}
durationInFrames={150}
fps={30}
width={1920}
height={1080}
/>
์๊ฐ ์ ์ด
const frame = useCurrentFrame();
const { fps, durationInFrames } = useVideoConfig();
const opacity = interpolate(frame, [0, 30], [0, 1], {
extrapolateRight: 'clamp'
});
const scale = spring({ frame, fps, config: { damping: 200 } });
์ํ์ฑ
<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 ํ์๋ผ์ธ์ ๋๊ธฐํ
๋ ๋๋ง
cd $HOME/remotion-videos
npx remotion render MyVideo out/video.mp4
npx remotion render MyVideo out/video.mp4 --codec h264 --crf 18
npx remotion render MyVideo out/video.webm --codec vp8
npx remotion render MyVideo out/animation.gif --every-nth-frame 2
์ ์ ์ํฌํ๋ก์ฐ
- ๊ธฐํ: ์ฅ๋ฉด ๊ตฌ์ฑ, ๊ธธ์ด, ํด์๋ ๊ฒฐ์
- ์์
์ค๋น: ์ด๋ฏธ์ง, ์์
, ํฐํธ โ public/ ํด๋
- ์ปดํฌ๋ํธ ์ฝ๋ฉ: React๋ก ๊ฐ ์ฅ๋ฉด ์ ์
- ํ๋ฆฌ๋ทฐ:
npx remotion studio (MiniPC ๋ธ๋ผ์ฐ์ )
- ๋ ๋๋ง: headless ๋ ๋๋ง โ MP4/WebM
- ์ ์ก: HTTP ์๋ฒ๋ก ๋งฅ ์คํ๋์ค์ ์ ๋ฌ
โ ๏ธ ์ฃผ์์ฌํญ
- ์๋ธ์์ด์ ํธ ์์ โ ์์ ๋ ๋๋ง์ ์๊ฐ ์๋ชจ์
- 30fps ๊ธฐ๋ณธ โ ํ์ ์ 60fps๋ก ๋ณ๊ฒฝ
- ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ โ ๊ณ ํด์๋ + ๊ธด ์์์ MiniPC RAM ํ๊ณ ์ฃผ์
- GitHub push ๋ถ๊ฐ (MiniPC) โ ๋งฅ ์คํ๋์ค์์ push