How to create editing proxies with FFmpeg
Copy paste FFmpeg commands for H.264, ProRes and DNxHR proxies, the few flags that actually change the output, and how to batch a folder of rushes.
FFmpeg is the fastest free way to make editing proxies by hand. This guide gives you working commands for the three codec families every NLE uses, explains the few flags that change the output, and shows how to convert a whole folder at once.
What a proxy is, and why FFmpeg
A proxy is a small, low resolution copy of a source clip. Your editor plays the proxy during the cut and keeps a link to the original for export, so the timeline stays smooth on a laptop while the master still renders in full quality. FFmpeg is a free, open source command line tool that reads almost any camera format and writes a proxy in the exact codec your editor prefers.
H.264 proxies for Premiere Pro (smallest files)
H.264 gives the smallest proxy files and decodes instantly on any modern GPU, so it is the safe default for Adobe Premiere Pro. This command scales the clip to 720p and keeps the audio.
ffmpeg -i input.mov -vf scale=-2:720 -c:v libx264 -crf 23 -preset fast -c:a aac -b:a 128k proxy.mp4scale=-2:720 sets the height to 720 pixels and computes the width automatically to keep the aspect ratio, always an even number. A lower crf means higher quality and a larger file, a higher crf the opposite. 23 is a good balance for a proxy.
ProRes Proxy for Final Cut Pro and DaVinci Resolve
ProRes Proxy is the right choice when you edit in Final Cut Pro or DaVinci Resolve, because the codec stays native to those apps. Profile 0 is the lightest ProRes tier.
ffmpeg -i input.mov -vf scale=-2:720 -c:v prores_ks -profile:v 0 -c:a pcm_s16le proxy.movprofile:v 0 selects ProRes Proxy. Use 1 for ProRes LT if you want a slightly higher quality offline. Audio is written as uncompressed PCM, which Resolve and Final Cut prefer.
DNxHR LB proxies for Avid Media Composer
Avid Media Composer reads DNxHR cleanly. LB, for Low Bandwidth, is the proxy tier. Wrap it in an MXF file for Avid.
ffmpeg -i input.mov -vf scale=-2:720 -c:v dnxhd -profile:v dnxhr_lb -pix_fmt yuv422p -c:a pcm_s16le proxy.mxfThe dnxhd encoder handles DNxHR through the profile flag. yuv422p is the pixel format Avid expects. Keep the frame rate identical to the source, see the flags below.
The flags that actually change the result
| Flag | What it controls |
|---|---|
| -vf scale=-2:720 | Output resolution. The -2 keeps the aspect ratio with an even width. |
| -c:v | Video codec: libx264, prores_ks, or dnxhd. |
| -profile:v | Codec tier: 0 for ProRes Proxy, dnxhr_lb for DNxHR LB. |
| -crf | Quality for H.264: lower is better and larger, 20 to 25 for proxies. |
| -c:a | Audio codec: aac for H.264, pcm_s16le for ProRes and DNxHR. |
| -r | Frame rate. Set it only if the source is variable frame rate. |
Convert a whole folder at once
Editing a shoot means hundreds of clips, not one. This loop turns every .mov in a folder into an H.264 proxy inside a proxies subfolder. Run it from macOS or Linux.
mkdir -p proxies
for f in *.mov; do
ffmpeg -i "$f" -vf scale=-2:720 -c:v libx264 -crf 23 -preset fast -c:a aac "proxies/${f%.*}.mp4"
doneOn Windows the same idea works in PowerShell with a foreach loop over Get-ChildItem. Keep the proxies in their own folder so your editor can point at them without touching the originals.
Common errors and how to fix them
- Unknown encoder prores_ks or dnxhd: your FFmpeg build lacks that codec. Install a full build, the official static builds include both.
- Audio drifts out of sync: the source is likely variable frame rate. Add -vsync cfr, or set -r to the true frame rate.
- Proxy files are far too big: the crf is too low or the scale flag is missing. Confirm -vf scale and a crf around 23.
- Your editor will not relink to the original: keep the proxy base name identical to the source, and keep the originals in a stable location.
Where hand made proxies stop scaling
FFmpeg is ideal for a handful of clips. On a five day 4K shoot with hundreds of files it starts to cost you. The encode runs on your own CPU for hours, the proxies double your disk use next to the originals, and you manage naming and relinking by hand for every clip.
Automating the same proxies with Sanbila
Sanbila is desktop software that runs this exact proxy step for you without locking your machine. Proxies are generated on Sanbila's cloud, not your CPU, with seven presets across the same three codec families: H.264 in 540p, 720p and 1080p, ProRes Proxy in 720p and 1080p, and DNxHR LB in 720p and 1080p. The Sanbila plugin for Premiere Pro attaches each proxy to its 4K original automatically, so there is no manual relink, and for each file you can choose to stream the original instead of using a proxy.
Generate H.264, ProRes and DNxHR proxies on the cloud, keep your CPU free, and skip the manual relink.
Try Sanbila freeFAQ
Is FFmpeg free for making proxies?
Yes. FFmpeg is free and open source, with no license fee for personal or commercial use. You pay only in setup time and in the CPU hours it spends encoding on your own machine.
Which FFmpeg codec should I use for editing proxies?
Use H.264 (libx264) for Premiere Pro and the smallest files, ProRes Proxy (prores_ks profile 0) for Final Cut Pro and DaVinci Resolve, and DNxHR LB (dnxhd profile dnxhr_lb) when Avid Media Composer is in the chain.
Why is my FFmpeg proxy out of sync in the timeline?
The most common cause is a variable frame rate source. Force a constant frame rate with -vsync cfr, or set -r to the true frame rate of the clip so the proxy and the original share the same timing.
Can FFmpeg batch convert a whole folder to proxies?
Yes. A short shell loop over every file in a folder writes one proxy per clip. It runs on your CPU, so a large shoot can take hours, which is why cloud tools generate the same proxies off your machine.
Related posts
Proxy editing in Premiere Pro: the 2026 complete guide
A practical look at proxies in Adobe Premiere Pro, the codec trade offs, and what to do when the native flow gets in your way.
How to edit 8K RED (R3D) footage on a laptop
Why R3D chokes a laptop, the two ways to fix it, and how to keep full 8K for the final export.
Proxy or cloud streaming in DaVinci Resolve
The colorist wants the originals. The editor wants proxies. Here is how to stop choosing one over the other.