Skip to content

FFmpeg Command Generator

Drop a video file to auto-fill the filename and detect dimensions. Choose your output settings — the command updates live. Nothing is uploaded; everything runs locally in your terminal.

📂

Drop a video here or — reads filename & dimensions locally, nothing uploaded

Video

23

H.264: 18–28 typical · H.265: 20–28 · VP9: 15–35

Audio

Encoding options

 

Don't have ffmpeg installed?

  • Windows: winget install Gyan.FFmpeg — or download from gyan.dev/ffmpeg/builds and add the bin folder to your PATH.
  • macOS: brew install ffmpeg (requires Homebrew).
  • Linux: sudo apt install ffmpeg or sudo dnf install ffmpeg.

Verify it works: run ffmpeg -version in your terminal.

Codec & container notes

  • MXF OP1a — pairs with MPEG-2 video + PCM audio for broadcast delivery. H.264 in MXF is valid but less common; check with your delivery partner.
  • DNxHD / DNxHR — the bitrate value selects the profile (e.g. 185M = DNxHD 185, 36M = DNxHD 36). Use -vf "scale=1920:1080" with the matching Avid spec for your frame rate.
  • ProRes — quality is set by -profile:v, not bitrate. The bitrate field is ignored. Use profile 3 (422 HQ) for most post-production work, profile 4 or 5 for compositing with alpha.
  • 10-bit 4:2:2 H.264 — requires yuv422p10le pixel format and -profile:v high422. The generator adds this automatically.
  • WebM — supports VP9 and AV1 only. Using other codecs with a .webm output will error in ffmpeg.
  • MPEG-TS — the -f mpegts flag makes the muxer explicit; ffmpeg also infers it from the .ts extension.

Related

Compress in browser beta

Uses ffmpeg.wasm — the real FFmpeg encoder compiled to WebAssembly, running entirely in your browser tab. Nothing is uploaded. First use downloads ~28 MB (cached after that). Best for files under ~500 MB. Mode: single-threaded.

Enable multi-threaded mode in production (.htaccess for cPanel)

Add these two lines to the .htaccess file in your public_html root (or create one if it doesn't exist). They enable SharedArrayBuffer, which ffmpeg.wasm uses for parallel encoding threads.

Header always set Cross-Origin-Opener-Policy "same-origin"
Header always set Cross-Origin-Embedder-Policy "require-corp"

Note: these headers tell the browser all cross-origin resources on the page must opt in. All resources used here (jsDelivr CDN) already do. If you add resources from other domains later, check they serve Cross-Origin-Resource-Policy headers too.

FFmpeg is licensed under LGPL 2.1+. Open source notices.