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
Lights, Camera, Action : Présentation de Remotion
Search
jojmaht
November 25, 2021
Programming
100
0
Share
Lights, Camera, Action : Présentation de Remotion
Présentation de Remotion en passant par un peu de théorie des images
jojmaht
November 25, 2021
Other Decks in Programming
See All in Programming
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
9
670
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
820
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
180
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
290
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
270
Sans tests, vos agents ne sont pas fiables
nabondance
0
150
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
160
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
1
430
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
6
6.1k
cloudnative conference 2026 flyle
azihsoyn
1
200
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
330
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
1
180
Featured
See All Featured
A Soul's Torment
seathinner
6
2.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Exploring anti-patterns in Rails
aemeredith
3
360
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
260
The Cost Of JavaScript in 2023
addyosmani
55
9.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
200
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Paper Plane
katiecoart
PRO
1
50k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
150
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Transcript
Lights Camera Action
None
None
None
None
VIDEO example 1
VIDEO example 2
VIDEO example 3
Développeur front-end freelance Putain de Code (h tt p://putaindecode.io)
The problem Knowledge to make videos Knowledge I have
What Is A picture?
None
None
2 dimensions
2 dimensions 1. Width 2. Height
function picture(width, height) { return Array.from({length: height}).map(y => Array.from({length: width}).map(x
=> getColorAtPosition(x, y)) ) }
1 2 3 4 5 6 7 8 1 2
3 4 5 6 7 8
1 2 3 4 5 6 7 8 1 2
3 4 5 6 7 8 picture[y][x]
1 2 3 4 5 6 7 8 1 2
3 4 5 6 7 8 picture[4][x]
1 2 3 4 5 6 7 8 1 2
3 4 5 6 7 8 picture[4][x]
1 2 3 4 5 6 7 8 1 2
3 4 5 6 7 8 picture[4][6]
1 2 3 4 5 6 7 8 1 2
3 4 5 6 7 8 picture[4][6]
What Is A video?
None
None
None
None
None
None
VIDEO IS 3D
time Is a dimension
None
function video(frames, width, height) { return Array.from({length: frames}).map(frame => picture(width,
height) ) }
Videos are state machines.
Enter Remotion
In a nutshell
remotion
remotion $ npm init video $ yarn create video
remotion
function Video() { let frame = useCurrentFrame() return <Picture frame={frame}
/> }
Idempotency
Use current frame const frame = useCurrentFrame()
interpolate const height = interpolate( frame, [frame1, frame100], [value1, value2]
)
random const randomValue = random(seed)
None
A primer about noise "White" noise perlin noise
Real world applications
using randomness
using Perlin noise
using Perlin noise (twice)
Let's try Live coding A video
Aide À COMPRENDRE COMMENT FONCTIONNE L'ANIMATION takeaways 1.
PERMET D'ITÉRER RAPIDEMENT SUR DES IDÉES takeaways 2.
Permet d'automatiser la production vidéo takeaways 3.
partageable directement sur un support web takeaways 4.
takeaways
C’est fun takeaways 5.
Merci ! questions ? Twi tt er: @jojmaht GitHub: @jojmaht