⚠️ Make sure you have the board model ESP32-2432S028 with the ILI9341 Display controller — not the ST7789 (parallel) controller, which isn't supported by the graphic library GFX Library for Arduino
Each of the following commands generates a .mjpeg
file — a Motion JPEG video format — from an input .mp4
or .mov
video, optimized for use in frame-by-frame playback with an SD card reader.
Make sure you have FFmpeg installed and accessible from your terminal or command prompt.
ffmpeg -y -i input.mp4 -pix_fmt yuvj420p -q:v 7 -vf "transpose=1,fps=24,scale=-1:320:flags=lanczos" output.mjpeg
ffmpeg -y -i input.mp4 -pix_fmt yuvj420p -q:v 7 -vf "fps=24,scale=-1:320:flags=lanczos" output.mjpeg
ffmpeg -y -i cropped_4x3.mp4 -pix_fmt yuvj420p -q:v 7 -vf "transpose=1,fps=24,scale=240:320:flags=lanczos" final_240x320.mjpeg
ffmpeg -y -i cropped.mp4 -pix_fmt yuvj420p -q:v 7 -vf "fps=24,scale=240:320:flags=lanczos" scaled.mjpeg
- -pix_fmt yuvj420p: Ensures JPEG-compatible pixel format
- -q:v 7: Controls image quality (lower is better; 1 = best, 31 = worst)
- -vf: Specifies the video filters:
- fps=24: Extracts 24 frames per second
- scale: Resizes the video
- transpose=1: Rotates the video 90° clockwise
- .mjpeg: Output format used when streaming or storing a series of JPEG frames as a video