Video is where not uploading matters most
Video files are large, which makes the upload-first model painful in a way that images never are. Sending a 500 MB clip to a converter means waiting out your connection’s upload speed — typically far slower than its download speed — before any work begins, and then waiting again for the result to come back. Free services respond by capping file size, adding queues, watermarking output, or all three.
Encoding locally removes the whole round trip. The browser’s WebCodecs API drives the same hardware encoder your video player uses, so compression runs at a speed determined by your GPU rather than your broadband. Processing begins the instant the file is selected, and the output never has to be downloaded because it was produced on the device.
How compression actually reduces size
Three settings do nearly all the work. Resolution is the blunt instrument — halving the dimensions removes about three quarters of the pixels, and a 4K phone recording sent as a message attachment does not need to stay 4K. Bitrate sets how many bits per second the encoder may spend, and is the dial that most directly controls file size. Frame rate matters for screen recordings and slideshows, where 60 fps buys nothing over 30.
For a hard size target, work backwards: the rough file size in megabytes is the bitrate in megabits per second times the duration in seconds, divided by eight. A two-minute clip at 2 Mbps lands near 30 MB.
GIFs, and when to use something else
A GIF is limited to 256 colours per frame and has no interframe audio or modern compression, so it is a poor container for anything long — a ten-second clip can easily outweigh the MP4 it came from. It survives because it plays inline and loops automatically everywhere, including in places that block video: chat clients, issue trackers, documentation and email.
The practical approach is to keep GIFs short, crop to the part that matters, and drop the frame rate to 10–15 fps, which is plenty for a UI demo. Where the destination supports it, a muted looping MP4 or WebM will look better at a fraction of the size.