Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Remotion promotion
Search
White-Green
November 16, 2025
Programming
150
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Remotion promotion
AkarengaLT vol.39
で話したスライドです
Remotion
の紹介をしています
White-Green
November 16, 2025
More Decks by White-Green
See All by White-Green
Chasing Real-Time Observability for CRuby
whitegreen
0
1.1k
Ruby as a Frontend for Programming Language Implementations (RubyKaigi 2025 LT)
whitegreen
0
130
U-22 プログラミング・コンテスト 2021登壇資料
whitegreen
0
340
技育展2021登壇資料
whitegreen
0
80
Compile Time Mathematics in Rust
whitegreen
0
140
Other Decks in Programming
See All in Programming
リアルな遅延を測る仕様
kota_yata
1
130
Loosening the Reins: Go Generics Get More Flexible
kuro_kurorrr
0
350
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
110
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
290
Cloudflare is Agents
chimame
0
180
Oxlintはいいぞ(続)
yug1224
1
480
業務時間外もAIに働いてもらう話
colorful12
2
8.7k
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
240
Flow は今どうなっているか
mizdra
PRO
0
760
Go 1.27 における memory allocation の高速化
andpad
0
350
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
1
370
Deep dive into the select statement (GopherCon UK)
jespino
0
150
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
490
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
360
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
560
Building Adaptive Systems
keathley
44
3.2k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
430
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
500
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Fireside Chat
paigeccino
42
4k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
510
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
240
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Transcript
Remotion https://www.npmjs.com/package/remotion 1
Remotion is 何 • 昔は 「Write Videos in React」 みたいなコピーだった
• Write+Video? • Video+Reactjs? 2 https://remotion.dev
Remotion is 何 • Reactjsで動画を作れます 3
Remotion is 何 • 普通のReact Component • useCurrentFrame hook •
「今レンダリングしようとしているフレー ムが何フレーム目なのか」がとれるフック • フレーム番号を増やしながらレンダリ ング • ChromeのAPIでスクリーンショット • 連番画像からffmpegでmp4に • これをサポートするAPIがいっぱい (e.g. イージング) 4 https://www.remotion.dev/docs/the-fundamentals から抜粋および編集
Remotion pros • Web資産が使い放題 • スクリプト制御が楽 5
Remotion cons • デザインが大変 • レンダリングが重い • テキストは本質的に1次元 6
Pros: Web資産が使い放題 • css filter • blur、drop-shadowなど • 数式、Syntax Highlighting
• react-katex、highlightjs • svgをframeでアニメーション • svg pathの先頭n%のみを取得するAPIがある • .psdを組み替えてpngにするwasmプログラム(Rust製) • 逆に、Web需要が無い機能は無い • 文字の縁取り • トーンカーブ(filterだと線形変換しかできない) • Remotionの処理方法と合わず利用不可の機能(cssアニメーション) 7
Pros:スクリプト制御が楽 • y=abs(sin(frame)) ← 自明 • [x,y]=[random(),random()] ← 自明(randomが専用品) •
音声合成ソフトウェアで音声と同時に音素情報を作っておき、 パースして「あ」「い」「う」「え」「お」に対応する画像を出し分ける 8
Cons: デザインが大変 • 「マージンを1px単位で調整」みたいなことがWebページより高 頻度で発生 • 編集→Ctrl+S→確認→編集… • visualControl APIでだいぶマシに
9 https://www.remotion.dev/docs/studio/visual-control より抜粋
Cons: レンダリングが重い • 1フレームをレンダリングするのに200msぐらいかかってそう • 60fpsだと16.7ms/フレームなので12倍 • 私の使いかたが悪いか? • 10分ちょっとの動画レンダリングに2時間
• AWS Lambdaで動かす力技(試してない) • https://www.remotion.dev/docs/lambda/api • プレビュー画面も重い(ちゃんとしたソフトならレンダリング結果 のキャッシュとかがあるが…) 10
Cons: テキストは本質的に1次元 • 現代の動画編集ソフトのUIはこんな感じ • 横軸が時間、縦軸がオブジェクト同士の重なり • これはClipchamp • (収斂進化とかでもなんでもなく、フィルムを切
り貼りする操作のGUIへの射影から一切進化 してないだけという別の文句) • 字幕1、2、3と画像をタイミングをずらして 表示 11
Cons: テキストは本質的に1次元 • fromとdurationInFramesを手計 算するんですか? 12
Cons: テキストは本質的に1次元 • コンポーネントが細切れになってつらい • コンポーネントだからまだマシだが、設定をべ た書きしてたりすると… • 「ゲーム文脈ではあまりアグレッシブな共通化はす るべきではない」みたいな話ありましたよね
13
Cons: テキストは本質的に1次元 • タイムラインを縦か横に輪切りにして1次元に直して記述する必要 がある • 実現したい表現によって向き不向きがあるのでうまく選べば多少 マシになる 14
まとめ • Remotionというパッケージを紹介 • Reactjsで動画を書ける • Pros: Web資産が使い放題 • Pros:
スクリプト制御が楽 • Cons: デザインが大変 • Cons: レンダリングが重い • Cons: テキストは本質的に1次元 • ブラウザ、Reactエコシステムの変な活用方法としておもしろい 15