3D Video

A video is a string of photos, and a computer can guess how far away each part of a photo is.
This picture is a cloud of paint. You can , , , , , , and .
Paint with your finger. It stays on these splats, wherever they go next.
Your paint is on this cloud. to see the sharp picture.
- Shelf
- Studio
- Kind
- Built from a recipe
- Your own
- Your GIF or video
- Sound
- Yes
- Licenses
- MIT, CC0, CC BY 3.0, Public domain, CC BY 2.5, CC BY 3.0 US, CC BY 4.0, Apache-2.0
How to play
Tap to pause or play, and turn the picture to see its depth. Open your own GIF or video in the Splash tab.
Its controls
| Control | Kind | Range | Start |
|---|---|---|---|
| Play or pause the clip | Tap | ||
| Play | Switch | On | |
| Depth | Setting | ||
| Clip | List | 11 choices | Sintel: 30 seconds |
| Depth over time | List | 2 choices | Full relief, steady in each shot |
| Show the original | List | 2 choices | Off |
| Splat colors | List | 2 choices | Fine |
About it
A video is a string of photos, and a computer can guess how far away each part of a photo is. This splash does that for every frame: a depth model (Depth Anything V2 Small) gives every spot a distance, and the video itself plays on a relief that comes toward you by as much as each part is near, sharp enough to read small text (Splats rebuilds it from splats). It opens on Sintel: her face comes forward, the room stays back.
Pick another sample clip in the Splash tab (the bunny, Muybridge's horse, a dragon, a bridge and robot, or a machine; Blender Foundation, CC BY, and the horse is public domain), or open your own GIF or video of any length. It is read on your device, the model (about 27 MB) loads the first time, and nothing is uploaded. A long video plays while its depth is worked out. Depth sets the relief, and Speed plays the clip slower or faster, sound included. Show the original puts the flat clip in a corner, frame for frame.
Details
- Your own files
- image/gif, .gif, video/*, .mp4, .webm, .mov, .m4v
Limits
- File size
- Up to 200 MB. A larger video is refused.
- GIFs
- Only a GIF's first 8 seconds play. A video has no such limit.
- Very short clips
- A clip of a fifth of a second or less is refused as too short.
- First use
- The first video downloads a depth model of about 50 MB, or 27 MB without WebGPU.
Sources and credits
| Work | By | License |
|---|---|---|
| Moving photo to 3D, round 4 | Ryan Kamp | MIT |
| Blocks, gate, wheel, orbit, and fast motion | Ryan Kamp | CC0 1.0 |
| Big Buck Bunny (a six-second scene, the sample clip) | Blender Foundation | CC BY 3.0 |
| Race horse galloping (Muybridge, 1887, a GIF) | Eadweard Muybridge | Public domain |
| Sintel (trailer, six seconds from 0:29.5) | Blender Foundation | CC BY 3.0 |
| Tears of Steel (six seconds from 8:30.5) | Blender Foundation | CC BY 3.0 |
| Elephants Dream (six seconds from 5:29.7) | Blender Foundation / Netherlands Media Art Institute (2006), www.elephantsdream.org | CC BY 2.5 |
| Big Buck Bunny (1:44.5 to 2:14.5) | Blender Foundation | CC BY 3.0 US |
| Sintel (2:15 to 2:45) | Blender Foundation | CC BY 3.0 |
| Elephants Dream (5:29.7 to 5:59.7) | Blender Foundation / Netherlands Media Art Institute (2006), www.elephantsdream.org | CC BY 2.5 |
| Tears of Steel (a 27-second city montage) | Blender Foundation | CC BY 3.0 |
| Sprite Fright (0:05 to 0:35) | Blender Studio, 2021 | CC BY 4.0 |
Libraries
- Apache-2.0
- Depth Anything V2 Small, quantized ONNX (lane LSTUDIO, copied from Splashery)
- MIT
- omggif 1.0.10
- MIT
- ONNX Runtime Web 1.30.0 (its modules)
In The Splash Manual
Share it
This link opens it in the Playground. To put it on your own page, add the element and one script tag. Every option.
https://splashery.app/play/?toy=moving-photo-3d
<script type="module" src="https://splashery.app/play/src/element.js"></script> <splashery-toy toy="moving-photo-3d"></splashery-toy>
Nearby
3D PhotoA depth model guesses relative depth from one photo, not distances in meters.
3D WorldA video is a string of photos from a moving camera.
Splat MirrorTap “Start camera” and each splat takes the color of its place in the picture, so the mirror shows you, live.
Video QRA QR reader only looks at the middle of each square.