動画編集をプログラミングでやってみたら、想像以上に面白かった
- 公開日
最近、動画編集をプログラミングでやってみています。
きっかけは、Kosshi を Product Hunt に出すために紹介動画を作る必要があったことでした。動画を作るのは何度もやっているのですが、Premiere や Final Cut を開くのは毎回ちょっと気が重い作業で、また慣れないタイムラインと格闘することになるな、と思っていました。
そこで、Remotion というのを試してみました。React で動画を書けるフレームワークで、JSX で書いたコンポーネントが動画になって出てきます。Premiere や Final Cut のタイムラインではなく、純粋にコードを書いて、それがそのまま MP4 になる、という変わったツールです。
想像以上に面白かったので、その話を書きたいと思います。
これが、そのときに作った動画です。
実際に書いてみると、これが意外とちゃんと動きました。自分にとっては Premiere を開くより、ずっと取っ付きやすい感じでした。型がついて、コンポーネント化できて、git で履歴が残るので、後から触っても何をやっているかが分かる、というのも大きかったです。
これは、もっとガッツリしたやつも作れるのでは、と思って、前から構想だけはあった「アウトライナー完全解説」という解説動画も作り始めました。アウトライナーって何なのか、なぜ面白いのか、どういう歴史があるのかを、過去の論文や先行研究までさかのぼって解説する、という趣旨の動画です。
制作中の一場面は、こんな感じです。

やってみると、本当にプログラマー向きの作業でした。
ひとつ前提として断っておくと、これは AI エージェントにコードを書かせる前提の話です。自分で全部手書きしていたら、たぶん割に合わない量のコードを書くことになります。
たとえば、書いているコードを数えてみたら、いつの間にか 12,572 行になっていました。これが動画になります。動画なのに git log には「リファクタしました」みたいなコミットが並んでいる。動画にリファクタコミットがあるというのは、ちょっと笑える光景だなと思います。
何が面白いかというと、動画を編集するという作業が、完全にソフトウェア開発と同じ手触りになる、というところです。画面を React で作る、型がつく、テストで品質を担保できる、コンポーネントを共通化できる、git で差分管理できる。慣れ親しんだソフトウェアエンジニアリングが、そのまま動画制作に流用できるわけです。これは、プログラマーにとってはかなり良い体験です。
ポン出しの AI 生成とは違う
「いや、AI で動画作るって、内容は大丈夫なの?」と思う方もいるかもしれません。
ただ、Remotion 的なアプローチと、ポン出しの AI 的なアプローチは、けっこう違うものなんですよね。
Remotion でやっているのは、人間が GUI でやっていた操作 (クリップを並べる、テキストを置く、フェードをかける) を、関数として書き下しただけのものです。ボトムアップで積み上げているだけなので、出力はあくまでツールができる範囲に収まる。予測可能で、デバッグできて、再現性があります。
加えて、ソフトウェア工学が積み上げてきた品質管理の道具が、そのまま乗ります。動画にテストがあるわけです。
一方、Sora みたいな動画をいきなり生成するようなスタイルのものは、出力が予測不能で、編集が難しい。「ここの色だけ変えたい」が効きにくく、再生成すると全体が変わってしまう。型もテストもありません。
ぜんぶがコードで作れる時代
動画に限らず、コードベースで何かを作るツール自体は、昔からあるにはありました。ただ、これまでは、あくまでアプリケーションを作る人やシステムを組む人が使うもので、コンテンツや作品を作る一般のユーザーが使うようなものではなかった。
でも、最近、なんだか逆になっている気がするんですよね。
Premiere のメニューと設定を片っ端から覚えるよりは、Remotion で「ここにテキストを 30 フレームかけてフェードイン」と AI エージェントに依頼する方が早い。複雑な GUI ツールの習熟コストが、コードを介したアプローチのコストを上回り始めている、ということなんだと思います。
いま作っているこの解説動画自体も、まさにそういう感じで作っています。たとえば最初に取り組んだのは、動画の元になる「動画用の論文」を作ることでした。
生成 AI の作った文章や内容は、古かったり嘘が散りばめられたりしているので、基本的には話半分で聞いたほうが良い、というのは、かなり改善してきたとはいえ状況は変わっていないです。なので、必ずインターネット上で集められる確かな情報で根拠を集めさせて、AI にやらせるのはある種の変換のみ、という形にしています。
で、それを網羅的にまとめた情報を読みたいわけですが、これってまさに論文の形式がぴったり当てはまるんですよね。そもそも確かな情報って何か?というのを突き詰めると、ちゃんと査読されている論文が理想的なわけです。そういう論文をまとめた解説論文を作っていく、というイメージです。
BibTeX というスタイルで出典をデータとして管理しておけば、本文と引用がきっちり紐付いた形でまとめられるので、AI にも引用を正確に扱わせやすくなる。
すると、知りたい内容が日本語で網羅的にまとまった論文らしきものが、できあがる。さらに、その出典も追跡可能な状態になっているので、あとは自分でそれを読むだけ、というわけです。
で、その論文作成のフローすらも、ほとんどプログラミングをやっているのと変わらないんですよね。
実は、そんなに簡単ではない
ここまで Remotion 推しっぽい流れで書いてきたのですが、ひとつ正直なところを書いておくと、これは、シンプルに簡単に動画が作れるかと言われたら、全然そんなことはないです。
過去に動画を作ったことは何度もあるのですが、動画を編集するのはかなり大変です。Remotion で書いていても、その大変さが消えるわけではないんです。むしろ、たぶん時間だけで見たら、普通の動画編集ソフトで作ったほうがはるかに早いと思います。慣れている人からすると、なんでこんな遠回りをしなきゃいけないんだ、と思われるかもしれません。
じゃあ、なぜわざわざ Remotion で書いているか、というと、自分にとっては理由が二つあります。
ひとつは、心理的なハードルが圧倒的に低いこと。プログラミングというのは、自分にとってはほぼ一日中やっている作業なので、すごく身近に感じます。Premiere を開くのとターミナルを開くのを比べると、自分の場合はターミナルを開くほうが、心理的に何も負担がない。動画の話なのに、いつもの作業の延長線でやれる感覚です。
もうひとつは、一度システムとして作ってしまえば、次回が圧倒的に楽になる、という信念です。これは、ソフトウェア開発の感覚そのもので、最初に骨格を作るのは大変でも、それを使い回せるようになってからの加速がすごい。AI エージェントがあるからこそこのコストを払えるわけですが、動画でも同じことが起きるはずだ、という確信が、Remotion を選んでいる根っこにあります。
関連記事
App Store のスクリーンショットを、9言語ぶん Remotion で書き出した
Kosshi の海外ダウンロードが少なくて、調べたら各国のストアでほとんど見つからない状態でした。9 言語ぶんのストア画像を、使い方が伝わるように Remotion でコードから作り直した話です。
Kosshi のフィードバックがめちゃくちゃ増えてきた
ここ最近、Kosshi のお問い合わせフォーム経由で、フィードバックがめちゃくちゃ届くようになってきました。 以前書いた通り、Kosshi は日本以外でほとんど使われていなかったので、Product Hunt に出せば数が少し増えるかな、くらいの軽い気持ちでいました。 それが今週は、海外の長年のアウトライナーユーザー macosxguru さんが Bicycle For Your Mind というブログで Kosshi のことを書いてくださって、その記事が outlinersoftware.com というアウトライナー専門のフォーラムにも投稿されました(自分も書き込もうと思ったのですが、承認待ちのようです)。 そこからまた一気に海外ユーザーが入ってきて、問い合わせの量が先週とは別物になりました。
ミニさんこめをデザフェス63で展示しました
デザフェス63に出展したなおよしさんのブースに、開発中のOhacoでプリントした「ミニさんこめ」を置かせてもらいました。Ohaco で作ったものが初めて人前に出てきた話です。
記事の更新があった場合のみ、週に1度まとめてメールでお知らせします。
いつでも配信解除できます。