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
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 thebinfolder to your PATH. - macOS:
brew install ffmpeg(requires Homebrew). - Linux:
sudo apt install ffmpegorsudo 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
yuv422p10lepixel 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 mpegtsflag makes the muxer explicit; ffmpeg also infers it from the.tsextension.
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.