Source No source

OLED Preview No frame

Method Candidates (photo-to-pixel style) Analyze a frame to rank filters

Click Analyze Current Frame to compare methods and pick the best filter before converting full video.

Frame Timeline 0 frames

Idle
Converted frames will appear here. Click any frame to inspect, export, or edit in the main pixel editor.

About this tool

Video to Animation: turn a short clip into OLED frames

This converter takes a video file, or your webcam, and turns a stretch of it into a sequence of black-and-white frames sized for a small OLED display. Each frame goes through the same clean-up and conversion as the Image to Pixels tool, and the result can be played back, trimmed, and exported as a GIF or as Arduino code.

The video is decoded by your own browser and never uploaded. The sections below walk through a conversion and explain the choices that decide how good - and how big - the result is.

Converting a clip, step by stepSource, size, time range, method, convert
  1. Choose a source. Open a video file your browser can play (MP4 and WebM are the usual ones), or click Use Webcam.
  2. Set the output size and fit. Use your display's size, such as 128 × 64. Contain shows the whole frame with bars, Cover fills the screen and crops, Stretch fills it and distorts.
  3. Pick the time range. Set Start and End in seconds. Keep it short: a few seconds is plenty for a small screen.
  4. Choose the sample rate. Sample FPS is how many frames are taken from each second of video, and Max Frames is a safety cap.
  5. Tune on one frame. Pause on a typical frame, pick a preset, adjust the controls, and click Analyze Current Frame to rank the conversion methods for it. Use Best Method applies the winner.
  6. Convert. Click Convert Video to Frames. You can stop part-way, or grab single frames with Capture Current Frame.
  7. Review and export. Play the timeline, delete bad frames, adjust durations, then export - or open the frames in the Animation Studio.
Choosing a conversion method for videoWhy the best method for a photo is not always best for a clip

The converter offers eight methods:

MethodTypeGood for
Floyd-SteinbergError-diffusion ditheringDetailed, photo-like frames
AtkinsonError-diffusion ditheringPunchier contrast with cleaner highlights
Bayer 4×4, Bayer 8×8Ordered ditheringSmooth playback with little flicker
OtsuAutomatic global thresholdSilhouettes and high-contrast scenes
Adaptive Mean, Adaptive GaussianLocal thresholdUneven lighting
SauvolaLocal threshold with contrast checkText and drawings on a plain background

Watch out for flicker. Error diffusion decides each pixel from the errors of its neighbours, so a tiny change between two frames - a little camera noise - can rearrange the dots across a whole area. Played back, that shimmers. Ordered dithering and thresholds decide each pixel on its own, so still parts of the scene stay still. If a converted clip crawls, try Bayer 4×4 or Otsu.

The Image to Pixels guide explains each method in more depth, and Use Image Best copies the settings that won there.

How many frames, and how much memoryThe sum to do before you convert

Frames = seconds × sample rate, and each 128 × 64 frame is 1024 bytes. For example:

  • A 3-second clip sampled at 8 frames per second gives 24 frames, which is 24,576 bytes.
  • An Arduino Uno has 32,256 bytes of flash for the whole program. Those 24 frames would leave only 7,680 bytes for your code and the display library together, which is very likely too little. On an Uno, shorten the clip, lower the sample rate, or animate a smaller area.
  • An ESP32 has megabytes of flash, so the same clip fits easily.

Sample rates of 8 to 12 frames per second usually look smooth on a small screen. Higher rates mostly add frames that look almost the same, and memory, without looking better.

Getting a clean resultWhat kind of footage converts well
  • Strong shapes win. A silhouette, a logo, a bold cartoon or a person against a plain wall converts far better than a busy street.
  • Hold the camera still. Camera shake moves every pixel every frame, which reads as noise at 128 × 64.
  • Light it evenly. Shadows across the subject become black blobs once the grey is gone.
  • Crop with Cover. If the subject is small in the frame, Cover mode fills the screen with it instead of wasting pixels on bars.
  • Edit the timeline. Delete the frames that convert badly, and hold key frames longer instead of keeping near-duplicates.
Frequently asked questions

Why will my video not open?

The converter can only use formats your browser can play. If a file will not open, convert it to MP4 (H.264) or WebM first.

Is the webcam recorded or sent anywhere?

No. Frames are captured into the page itself; stop the webcam with Stop Webcam when you are done.

Can I keep working later?

Save Timeline Draft keeps the frames in this browser, and Export Animation JSON saves a file you can import again.