Turns a Manim video scene sequence into a keyboard-navigable presentation via a single index.html player.
Manim renders each Scene subclass to its own .mp4 file in the output folder (e.g. media/videos/<file>/<quality>/). Drop index.html into that same folder and open it in a browser — it plays the clips back to back like a slideshow, no editing or concatenation required.
- Copy
index.htmlinto the folder containing your renderedScene*.mp4files. - Open
index.htmlin a browser. - Edit the
SCENE_NUMBERSarray near the top of the<script>block to list the scenes you want to play, in order.
Name your Manim scene classes Scene1, Scene2, Scene3, ... so they render to Scene1.mp4, Scene2.mp4, etc., and list them in SCENE_NUMBERS in playback order:
const SCENE_NUMBERS = [1, 2, 3, 4, 5];SCENE_NUMBERS is just an ordered list, not a strict integer sequence, so you can insert a new scene between two existing ones using a decimal suffix instead of renumbering (and re-rendering) every scene that follows it.
For example, to insert a new scene between Scene2 and Scene3:
- Create a new scene class named
Scene2.1— it renders toScene2.1.mp4. - Add
2.1toSCENE_NUMBERSin the right spot:
const SCENE_NUMBERS = [1, 2, 2.1, 3, 4, 5];You can keep subdividing the same way (Scene2.1, Scene2.2, ...) as you add more scenes in between. The number only needs to sort into the correct position and match its .mp4 filename — it doesn't need to be contiguous. Every other scene, and its rendered file, stays untouched.
| Key / action | Action |
|---|---|
→ / ↓ / Page Down / Space |
Next scene (or start) |
← / ↑ / Page Up |
Previous scene |
Home |
Jump to first scene |
End |
Jump to last scene |
F |
Toggle fullscreen |
| Click video | Start / play / pause |
MIT — see LICENSE.