【脱・手作業】Reactエンジニアよ、動画編集もコードで「自動課金」せよ!Remotion入門


【脱・手作業】Reactエンジニアよ、動画編集もコードで「自動課金」せよ!Remotion入門

remotion-dev/remotion

2026-01-26

まさにRemotionは、私たちが普段ウェブサイトを作るのと同じ感覚で、Reactのコンポーネントを組み合わせて「MP4動画」を錬成できるライブラリです。

ゲーム課金に例えるなら、「ガチャの演出をポチポチ手で作るんじゃなくて、スクリプトを組んで全パターンの排出アニメーションを自動生成する」みたいなチート級の効率化が可能になります。

なぜAdobe Premiere Proを使わずにコードを書くのか? それは「エンジニアにしかできない課金(効率化)」があるからです。

データの流し込みが容易
「ガチャ結果の画像」や「ユーザー名」をAPIから取ってきて、一人一人にパーソナライズされた動画を爆速で作れます。

バージョン管理ができる
動画制作なのに git commit が使えます。あの「動画_最終_本当に最終2.mp4」みたいな地獄のファイル管理から解放されます。

再利用性が高い
一度作ったアニメーション関数は、別のプロジェクトでも使い回せます。これぞコンポーネント指向。

CI/CDに乗る
GitHub Actionsで「PRがマージされたら紹介動画を自動生成する」なんてことも可能です。

まずは、スターターキットを召喚しましょう。ターミナルで以下のコマンドを叩くだけです。

npx create-video@latest

いくつか質問(プロジェクト名やテンプレートなど)に答えると、魔法の杖(プロジェクト一式)が手に入ります。

例えば、「レアキャラが引けた時のキラキラ動画」をReactで作るとこんな感じになります。

動画のサイズやFPS、再生時間を決めます。

import { Composition } from 'remotion';
import { MyVideo } from './MyVideo';

export const RemotionVideo: React.FC = () => {
  return (
    <>
      <Composition
        id="GachaWin"
        component={MyVideo}
        durationInFrames={150} // 30fpsなら5秒
        fps={30}
        width={1080}
        height={1920}
        defaultProps={{
          characterName: '伝説の剣士',
        }}
      />
    </>
  );
};

useCurrentFrame(今のフレーム数)や interpolate(値を変換する関数)を使うのがコツです。

import { interpolate, useCurrentFrame, useVideoConfig } from 'remotion';

export const MyVideo: React.FC<{ characterName: string }> = ({ characterName }) => {
  const frame = useCurrentFrame();
  const { fps } = useVideoConfig();

  // フレーム数に合わせて透明度を0から1へ(SSR確定演出!)
  const opacity = interpolate(frame, [0, 30], [0, 1], {
    extrapolateRight: 'clamp',
  });

  return (
    <div style={{ 
      flex: 1, 
      backgroundColor: 'black', 
      color: 'gold', 
      fontSize: 80, 
      display: 'flex', 
      justifyContent: 'center', 
      alignItems: 'center',
      opacity 
    }}>
      <h1> {characterName} GET! </h1>
    </div>
  );
};

Remotionを使えば、「100人分の個別お祝い動画を作って」と言われても、エンジニアなら for 文を回してレンダリングするだけです。

手作業で動画を作るのが「単発ガチャ」だとしたら、Remotionは「無限に回せる自動マクロ」です。使いこなせば、あなたのプロダクトの価値はSSR級に跳ね上がるはずですよ!


remotion-dev/remotion




ドラッグ&ドロップで設計!ノードベースUI構築ライブラリ「React Flow / Svelte Flow」入門と活用事例

お悩みはさておき、ご質問のxyflow/xyflowについて、ソフトウェアエンジニアの視点から、分かりやすく丁寧にご説明しますね!これは、「React Flow」や「Svelte Flow」として知られる、ノードベースのUI(ユーザーインターフェース)を構築するための、めちゃくちゃ強力なオープンソースライブラリのことなんです。


「DBの構造、見つけたり!」drawdbで実現する設計の見える化とコミュニケーション革命

あなたのおっしゃる drawdb-io/drawdb というツールは、データベース設計を行うソフトウェアエンジニアにとって、すごく便利で強力な味方になってくれます。この記事では、それを 「DB図作成のスペシャリスト」 と呼んで解説していきますね!


UIのエッジケースを見逃すな!Storybookで実現するコンポーネントの状態管理と網羅的検証

Storybookは、一言で言えば「UIコンポーネントを隔離して構築・文書化・テストするための業界標準の作業場(ワークショップ)」です。アプリケーション全体を動かすことなく、個々のボタン、ヘッダー、フォームなどのコンポーネントを独立した環境で開発・確認できます。これは、まるで小さな探偵事務所のように、一つ一つの手がかり(コンポーネントの状態)をじっくり検証できる環境を提供してくれます。


サヨナラ属人化!Markdown対応知識ベースで爆速開発チームへ変貌

「うおおおお!またこのバグ!?」「え、この仕様どこに書いてあるの…?」「前に誰か解決してた気がするんだけどな…」皆さん、よくある光景ですよね?炎上プロジェクトでは、情報が散乱し、ナレッジが共有されず、同じような問題に何度もぶつかることが日常茶飯事です。そんなカオスを打開し、チームを救う切り札となるのが、今回ご紹介する「爆速知識ベース」です!


「情報を探す時間」を消滅させるAIパートナー:MineContextの技術スタック(PythonによるRAGとElectron/ReactによるUX)

「落ち着け、相棒!見ろ、このキーワードだ. ..volcengine/MineContext、electron、react、python. ..そして『コンテキストアウェアなAIパートナー』だと!?これはただの事件じゃない、ソフトウェア開発における『生産性の殺人事件』だ!」


開発効率を数十倍に!Bundler/Test Runner/Package Managerを統合した「Bun」徹底解説

今回は、密室殺人事件ドラマのコントのように、すべての謎を一つで解決してしまうような、オールインワンのJavaScriptツールキット、それが「Bun(ブン)」です。Bunは、ウェブ開発の現場で日々直面する様々な課題を、一つのツールで高速かつ効率的に解決するために設計された、新しいJavaScriptランタイムです。


ReactでiOS/Androidアプリを同時開発!Expoの基本とサンプルコードを彼女との会話で解説

彼女がそう言って、キラキラした目で試着室から出てきました。 「うーん、似合うと思うよ。でもさ、それってさっき見てたのとちょっと違うデザインじゃない?」僕がスマホをいじりながら返事をすると、彼女は少し頬を膨らませました。 「もう!ちゃんと見てる?今日、デートだって言ったでしょ?」


[React/TS対応] 視覚的構築から即時API化へ:FlowiseAI導入ガイドとサンプルコード

今日は、あなたのAIエージェント開発を劇的に変える「FlowiseAI」について、ソフトウェアエンジニアであるあなたが、どう活用し、どう世界を変えるのかを熱く語りましょう!「FlowiseAI」は、AIエージェントやカスタムLLM(大規模言語モデル)アプリケーションを視覚的に構築できるオープンソースのツールです。これは、開発のパラダイムシフトですよ!


twentyhq/twentyって何?コスプレイヤーあるあるで学ぶ新CRMツール!

コスプレイヤーさんにとって、イベントでの交流、衣装の管理、撮影の計画って、めちゃくちゃ大事だよね?それを「ソフトウェアエンジニアのあるある」に置き換えると、twentyhq/twentyはまさにそんな感じ!「イベントでの交流」= 顧客との関係構築 (CRM)


freeCodeCamp:あなたのキャリアを変える無料プログラミング学習の決定版!

突然ですが、あなたはこんな風に思っていませんか?「プログラミングを学びたいけど、何から始めたらいいか分からない…」 「スキルアップしたいけど、お金がかかるのはちょっと…」 「実戦で使えるコードを書きたいけど、どこで経験を積めばいいの?」もし、一つでも当てはまるなら、今日の放送はあなたのためにあります!