Runner / Guides
One page with the commands that turn a file Premiere refuses into one it accepts. Check first, then pick the command for the job you are doing.
Short answer
For general editing, convert to H.264 with AAC audio. For anything you are going to colour grade, convert to DNxHR or ProRes instead.
Both commands are below, along with how to check what you have before you convert it.
Do not convert blindly. One command tells you both streams:
ffprobe -v error -show_entries stream=codec_type,codec_name,width,height \
-of csv=p=0 "yourfile.mp4"
What the answers mean for Premiere:
| Codec | Premiere | Do |
|---|---|---|
| h264 / avc1 | Fine | Nothing |
| hevc / h265 | Usually fine | Convert if playback stutters |
| av1 / av01 | Fails | Convert the video |
| vp9 / vp09 | Fails | Convert the video |
| aac | Fine | Nothing |
| opus | Silent | Convert the audio |
ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset slow \
-pix_fmt yuv420p -c:a aac -b:a 192k output.mp4
-crf 18 is visually near lossless. Lower means better and bigger.
18 to 20 is the sensible band for editing.-preset slow trades time for a smaller file. Use
veryfast if you are in a hurry.-pix_fmt yuv420p is not optional. Without it you can produce a
file Premiere still rejects.ffmpeg -i input.mp4 -c:v dnxhd -profile:v dnxhr_hq \
-pix_fmt yuv422p -c:a pcm_s16le output.mov
Holds up far better through a grade. Files are several times larger, so check your disk before batching a folder.
If the picture is fine and only the sound is missing, do not re-encode the video. Copy it through and convert only the audio. Seconds instead of minutes.
ffmpeg -i input.mp4 -c:v copy -c:a aac -b:a 192k output.mp4
If you have a recent NVIDIA card, hardware encoding turns a 4K conversion from slow into near real time. Quality is slightly below libx264 at the same file size, which rarely matters for an intermediate file.
ffmpeg -i input.mp4 -c:v h264_nvenc -preset p5 -rc vbr -cq 21 \
-pix_fmt yuv420p -c:a aac -b:a 192k output.mp4
Intel Quick Sync is h264_qsv, AMD is h264_amf. If the
command errors, your ffmpeg build or driver does not support that encoder, and
libx264 always works.
for %f in (*.webm) do ffmpeg -i "%f" -c:v libx264 -crf 18 ^
-pix_fmt yuv420p -c:a aac "converted_%~nf.mp4"
On Windows the usual source is the gyan.dev builds. Download the essentials
build, unzip it, and add the bin folder to your PATH so
ffmpeg works from any directory. Confirm with
ffmpeg -version.
When not to bother: if you hit this once a month, convert by hand and move on. It is two minutes. This only becomes worth automating when it is part of your daily routine.
Runner is a Premiere Pro panel that checks the codec of everything it downloads and converts anything Premiere cannot read, before it reaches your timeline. Free while it is in beta, Windows only.
Download for Windows