How It Works

Understanding the technology behind SqueezeVideos

Client-Side Processing

SqueezeVideos uses FFmpeg.wasm, a WebAssembly port of the popular FFmpeg video processing tool. This means all video compression happens entirely in your browser - no uploads, no server processing.

Why This Matters:

  • Your videos never leave your device
  • No waiting for uploads or downloads from servers
  • Works offline after initial load
  • No file size limits (except browser memory)
  • Complete privacy and security

The Compression Process

1

File Selection

You select a video file (or multiple files in batch mode) from your device. We extract metadata like duration, resolution, and file size.

2

FFmpeg Loading

If not already loaded, we download FFmpeg.wasm (~30MB) from a CDN. This is cached by your browser for future use.

3

Compression

FFmpeg processes your video using the selected preset. This includes re-encoding with optimized codecs, adjusting bitrates, and potentially reducing resolution.

4

Download

The compressed video is generated in your browser's memory and automatically downloaded to your device.

Compression Presets Explained

Discord Presets

These are optimized for Discord's specific upload limits. They use aggressive bitrate control and resolution scaling to ensure files stay under the target size.

  • 8MB: 500kbps video, 96kbps audio, max 720p
  • 10MB: 750kbps video, 128kbps audio, max 1080p
  • 50MB: 2000kbps video, 192kbps audio, max 1080p

Quality Presets

These use CRF (Constant Rate Factor) for quality-based compression. Lower CRF = higher quality.

  • High: CRF 18, minimal quality loss
  • Medium: CRF 23, balanced (recommended)
  • Low: CRF 28, maximum compression

Batch Compression

Need to compress multiple videos? Switch to Batch Mode to process several files at once!

Batch Mode Features:

  • Upload and queue multiple video files at once
  • Apply the same preset to all files or configure each individually
  • Sequential processing to avoid memory issues
  • Per-file progress tracking and status indicators
  • Continue processing even if one file fails
  • Download all compressed videos as a single ZIP file
  • Pause/resume batch processing at any time

Browser Compatibility

SqueezeVideos requires a modern browser with WebAssembly and SharedArrayBuffer support.

Chrome

v67+

Firefox

v79+

Edge

v79+

⚠️

Safari

Limited