Convert eos-movrec AVI Files to MP4 with FFmpeg

EOS Camera Movie Record saves every clip as an MJPEG AVI: enormous files, no audio track, and a format that most players, phones, and editors handle poorly. FFmpeg — free, open-source, a single download — converts those AVIs into small, universally playable H.264 MP4 files. Below is the exact one-line command, a Windows batch script that converts a whole folder unattended, and a plain-English explanation of every setting.

Quick answer

If you just want the command, here it is. Open a Command Prompt in the folder containing your AVI and run:

ffmpeg -i input.avi -c:v libx264 -crf 20 -pix_fmt yuv420p output.mp4

That turns input.avi into output.mp4 at high quality and roughly one-tenth of the file size. The rest of this guide covers installation, what each option does, and how to batch-convert dozens of clips at once.

Why convert? What the MP4 actually fixes

eos-movrec captures a stream of JPEG-compressed Live View frames straight off your old Canon (450D: 848×560, 1000D: 768×512, at roughly 22 frames per second) and writes them into an AVI container with no audio track. Converting to H.264 MP4 fixes three practical problems:

  • File size. H.264 compresses across frames instead of storing every frame as a separate JPEG, so files shrink dramatically — typically to around a tenth of the original. (Curious why the originals are so big? Here is the bitrate math.)
  • Compatibility. MP4 with H.264 plays on phones, TVs, browsers, and uploads directly to YouTube without complaints. MJPEG AVI often does not.
  • Editing. Most editors — including DaVinci Resolve — handle H.264 MP4 far more smoothly than MJPEG AVI.

One honest note: converting cannot add detail that was never recorded. An 848×560 source stays an 848×560 source; the MP4 just stores it far more efficiently.

Step 1 — Install FFmpeg on Windows

  1. Download a Windows build from gyan.dev (ffmpeg-release-essentials.zip), or install via the command winget install ffmpeg.
  2. Unzip it somewhere permanent, for example C:\ffmpeg.
  3. Add C:\ffmpeg\bin to your PATH: Settings → System → About → Advanced system settings → Environment Variables. (Alternative: skip PATH and type the full path C:\ffmpeg\bin\ffmpeg.exe instead of ffmpeg in every command below.)
  4. Open a new Command Prompt and run ffmpeg -version. If it prints version info, you are set.

Step 2 — The one-line command, explained

ffmpeg -i input.avi -c:v libx264 -crf 20 -pix_fmt yuv420p output.mp4
Option What it does
-i input.avi The source file eos-movrec recorded.
-c:v libx264 Encode video with the H.264 encoder — the universal standard for MP4.
-crf 20 Quality setting (Constant Rate Factor). Lower = better quality and bigger files. 18 is near-transparent, 20–23 is the sweet spot for eos-movrec footage, 28+ starts to look soft.
-pix_fmt yuv420p Pixel format every player and browser expects. Without it, some players show a black screen or refuse the file.
output.mp4 The new file. The original AVI is left untouched.

Want it faster or smaller? Add -preset veryfast (quicker encode, slightly larger file) or raise CRF to 23. Want maximum quality for archiving? Use -crf 18 -preset slow and go make coffee — slow presets take a while on old PCs.

Step 3 — Batch-convert a whole folder (Windows script)

Converting clips one by one gets old fast. Save the following as convert-all.bat in the folder with your AVI files, then double-click it. It converts every AVI in the folder to MP4 unattended:

@echo off
for %%f in (*.avi) do (
  ffmpeg -i "%%f" -c:v libx264 -crf 20 -pix_fmt yuv420p "%%~nf.mp4"
)
echo Done.
pause

How it works: the for loop picks up each .avi file; %%~nf is the filename without its extension, so clip01.avi becomes clip01.mp4. Two gotchas: inside a .bat file the loop variable needs double percent signs (%%f) — if you type the loop directly into Command Prompt, use single percent signs (%f). To include subfolders too, use for /r %%f in (*.avi) instead.

Step 4 — Check the result

Compare the file sizes — expect roughly a 10× reduction at CRF 20. Play the MP4 in VLC or your browser to confirm it looks right, and check the properties: it should report H.264 video at your camera’s native resolution (848×560 on a 450D, 768×512 on a 1000D). Do not upscale here — keep the native resolution and upscale later only if you need to (see our free upscaling guide).

The converted MP4 still has no audio — that is normal

eos-movrec records video only; there was never an audio track to convert. If you need sound, record it separately on your phone or a USB mic and sync it in the editor — our no-audio fix guide and the DaVinci Resolve audio-sync walkthrough cover exactly that.

Prefer buttons over a command line?

Everything above can also be done graphically: our HandBrake compression guide walks through the same MJPEG-to-H.264 conversion with a point-and-click interface and a file queue.

Frequently asked questions

‘ffmpeg’ is not recognized as an internal or external command — what now?

This means Windows cannot find ffmpeg.exe. Either you skipped the PATH step, or you added it but the Command Prompt window was already open — PATH changes only apply to new windows, so close it and open a fresh one. Quick workaround without touching PATH: cd into C:\ffmpeg\bin and run your commands from there, or call the full path C:\ffmpeg\bin\ffmpeg.exe -i ....

Will converting to MP4 reduce the video quality?

At CRF 18–20 the difference is visually negligible — you would struggle to tell the original and the MP4 apart in a blind test. H.264 is vastly more efficient than MJPEG, so most of the size savings come from smarter compression, not from throwing away visible detail. Avoid going above CRF 26 unless file size matters more than quality.

Why is -pix_fmt yuv420p needed?

FFmpeg’s H.264 encoder defaults to a pixel format (yuv444p) that many players, browsers, and phones cannot decode — the file plays as a black screen or refuses to open. Forcing yuv420p makes the MP4 compatible with virtually everything, at no visible quality cost for this kind of footage.

Can I delete the original AVI files after converting?

You can, but consider keeping them until you have checked the MP4s. The AVI is your highest-quality master (every frame a full JPEG), while the MP4 is a delivery copy. Storage is cheap compared to re-recording; archive the AVIs on an external drive if you might ever want to re-encode at higher quality later.

How do I convert AVIs in subfolders too?

Change the loop to for /r %%f in (*.avi) do .... The /r flag makes it walk the folder tree, and %%~nf.mp4 still writes each MP4 next to its source AVI. Test on a copy of one subfolder first — batch scripts do exactly what you tell them, including overwriting.

The MP4 plays fine but has no sound. Did the conversion break the audio?

No — eos-movrec never records audio in the first place, so there was no audio track to carry over. This is by design, not a conversion error. Record sound separately and sync it during editing; our no-audio guide walks through the whole workaround.