Open a video and this tool encodes several smaller versions of it entirely in your browser, using
FFmpeg compiled to WebAssembly. Nothing is uploaded anywhere.
Every version is an H.264 + AAC .mp4 with settings chosen to play in as many mobile browsers and
operating systems as possible. Compare them side by side and download the smallest one that still looks good.
How the output files are made compatible:
- H.264 video (libx264) in the Main profile by default, 8-bit 4:2:0 colour (
yuv420p), even width and height, capped at 1080p and 60 fps. The H.264 level is picked automatically from the resolution and frame rate.
- AAC-LC audio at 44.1 or 48 kHz, downmixed to stereo when the source has more channels.
- MP4 container with the index moved to the front (
+faststart) so playback can begin before the file has fully downloaded.
- Only the first video and first audio track are kept. Rotation metadata from phones is baked into the pixels so every player shows the video the right way up.
Encoding runs on a single CPU core inside WebAssembly, so it is much slower than a native ffmpeg. Long or high resolution videos can take a while: use the "first N seconds" option to compare settings quickly, then encode the full version of the one you like. The ffmpeg engine (about 32 MB) is downloaded once and cached by your browser.