Command Lab
No install, no PATH setup. Pick a sample or drop your own file, type any FFmpeg command, and run it right in the browser — view logs, download results, and learn flags, codecs, and filter syntax.
No input files yet. Add a sample above or upload your own. Filter/synthesis templates (lavfi) need no input.
Command references inputs that aren't loaded: input.mp4 — add a sample with the same name or upload a file named the same.
FFmpeg Command Generator & Online Playground
Local · No uploadsA free online FFmpeg playground — no installation, no setup. Pick from ready-to-run command templates and a searchable flag reference, load a sample file or upload your own, and execute real FFmpeg commands right in your browser: watch the live log, preview the output, download the result. Everything runs locally — nothing is uploaded — making it ideal for learning FFmpeg, tuning parameters, and testing ideas.
How to Use the Command Lab
- 1
Pick a template close to your goal (video, audio, image, GIF, or filter synthesis), or just type a command in the editor
- 2
Add the inputs the command needs: built-in MP4/JPG/GIF samples in one click, or your own files (they never leave the browser)
- 3
Hover or tap a flag pill in the command for a plain-English explanation; open the flag reference to search and insert common flags
- 4
Click Run and watch the live FFmpeg log; preview and download the output below
What the Lab Is Good For
- Learning: start from runnable templates and use the flag explanations to understand what each part does
- Tuning: change CRF, bitrate, or filter parameters on a template and re-run to compare instantly
- Validating: paste an FFmpeg command you found online and test it against sample files in seconds
- The filter-synthesis templates (lavfi) need no files at all — generate test video out of thin air
Limits and Things to Know
- The browser sandbox only handles files in memory: no http/rtsp network inputs or local paths — upload first or use the built-in samples
- A 120-second cap per run and a 600-second cap on duration parameters keep the browser responsive; for long videos use desktop FFmpeg
- Single-threaded FFmpeg.wasm is noticeably slower than native command-line FFmpeg on large files or complex filters
- The concat demuxer (-f concat) and -protocol_whitelist are unavailable for security reasons — use multiple -i inputs or filter_complex instead
Command Lab FAQ
Does the lab really execute FFmpeg?
Yes. The page loads the complete FFmpeg compiled to WebAssembly, and commands actually run in your browser. The logs and output files match what you'd get on the command line — it's not a simulation.
Are my files uploaded to a server?
No. Files exist only in your browser's in-memory file system and vanish when you refresh. No media data is ever transmitted.
Can I use it without knowing FFmpeg commands?
Yes. The template library ships 20 common commands — one click fills in the command and the sample files it needs, and you just run it. Editing from there, with the flag explanations at hand, is the fastest way to learn.
Why do some protocols or flags not work?
The browser sandbox only permits in-memory files. Network protocols (http, rtsp), local paths, and the concat demuxer are blocked for security, with suggested alternatives shown — that's expected behavior.
What if a run hangs or times out?
Runs exceeding 120 seconds are terminated and the engine resets automatically. Shorten the processing duration (-t), lower the resolution, or use a faster preset; for desktop-scale jobs, use native FFmpeg.
What is lavfi, and why do some templates need no files?
lavfi is FFmpeg's virtual input device — it generates test patterns, sine tones, fractal animations, and more. The filter-synthesis templates use it as their input, so they run without any sample files.