Back to Blog

AVI Plays Choppy on Windows 11? Convert to MP4 to Fix It

Old DivX and XviD AVI files stutter on modern PCs because they never get hardware decoding. Here's how to confirm the cause with VLC and fix it for good by converting AVI to MP4 (H.264) — online or with ffmpeg.

Old AVI film reel file stuttering on a laptop screen next to a smooth MP4 file
Legacy AVI codecs are decoded by the CPU; MP4/H.264 goes straight to the GPU.

You open a 2003 holiday video, a 700 MB .avi file that used to play fine on an old laptop, and now it jerks, tears and drops frames — on a machine that streams 4K without breaking a sweat. Meanwhile every MP4 on the same drive plays perfectly. If your AVI plays choppy while everything else is smooth, your PC isn't the problem. The container and codec inside it are.

Below is the short diagnosis, a two-minute test with VLC to confirm it, and two ways to fix it permanently: a browser-based conversion and an ffmpeg command you can paste straight into a terminal.

Why old AVI files stutter on a modern PC

AVI is a container from 1992. What's inside it is usually MPEG-4 Part 2 video — the codec family you know as DivX and XviD — plus MP3 or AC3 audio. Three things go wrong with that combination on Windows 11.

Diagram comparing software CPU decoding of DivX AVI with GPU hardware decoding of H.264 MP4
One path hammers a single CPU thread; the other uses a dedicated decode block.

The GPU refuses to help

Modern Intel, AMD and NVIDIA GPUs have fixed-function decoders for H.264, HEVC, VP9 and AV1. They have essentially nothing for DivX/XviD. So an old AVI is decoded entirely in software, on the CPU, by a single thread in many players. Add a background Windows Update or an antivirus scan and that one thread misses its deadline — which you see as a dropped frame. The same scene encoded as H.264 MP4 goes to the GPU's decoder block and costs the CPU almost nothing.

Interleaving and a broken index

AVI stores audio and video in alternating chunks, and the layout matters. Files ripped or captured years ago (or truncated by an incomplete download) often have badly interleaved streams or a damaged index at the end of the file. The player then has to seek back and forth on disk for every second of playback. Symptoms: stutter that gets worse when you drag the seek bar, audio that drifts out of sync, and a progress bar that reports the wrong duration.

Packed bitstream and B-frame quirks

Many XviD encodes from the file-sharing era used packed bitstream, a hack that stuffed two frames into one chunk to keep AVI happy with B-frames. Some decoders handle it; some output frames in the wrong order or duplicate them. That shows up as a rhythmic micro-judder every few seconds — the classic "video lags only on old format" complaint.

Confirm it in two minutes with VLC

Before you convert anything, prove the file is the culprit. VLC ships its own decoders, so it bypasses whatever codec pack Windows is using.

  1. Open the AVI in VLC. If it plays noticeably better than in Films & TV or Windows Media Player, your system decoder is the weak link — but the file is still unaccelerated.
  2. Press Ctrl + J (Tools → Codec Information). Look at the video codec line. DIV3, DX50, XVID, MP4V or FMP4 all mean MPEG-4 Part 2: no hardware decode.
  3. Open Tools → Media Information → Statistics while it plays. Watch frames lost. Anything above zero that keeps climbing is a real decode problem, not your imagination.
  4. Open Task Manager → Performance during playback. High CPU with GPU video decode flat near 0% confirms software decoding.

If VLC also stutters and CPU is pinned, you've got your answer: the file needs to be re-encoded, not patched with another codec pack.

Fix 1: Convert AVI to MP4 in the browser

The fastest route for a handful of files — no installs, no codec packs, works the same on a work laptop where you can't install software. Use the AVI to MP4 converter on File Convert Online: drop in holiday_2003.avi, let it re-encode to H.264/AAC, and download the MP4.

What to expect in practice: a 700 MB, 640×480 XviD file typically comes out around 250–400 MB as H.264 at comparable visual quality, because H.264 is simply a more efficient codec. Playback goes to the GPU, CPU usage drops to a few percent, seeking becomes instant, and the file now plays on phones, smart TVs, the Xbox app and anything that's ever heard of MP4. If you also have MKV, WMV or MOV oddities in the same folder, the video converter hub covers those formats too.

Fix 2: The ffmpeg route for whole folders

If you're converting a shoebox of 80 camcorder clips, do it locally. Install ffmpeg (winget install Gyan.FFmpeg on Windows 11), then start by inspecting the file:

ffprobe -hide_banner holiday_2003.avi

You'll see something like Video: mpeg4 (XVID / 0x44495658), yuv420p, 640x480, 25 fps and Audio: mp3, 48000 Hz, stereo, 128 kb/s. That mpeg4 line is the stutter.

The standard re-encode, good defaults for SD archive footage:

ffmpeg -i holiday_2003.avi -c:v libx264 -crf 20 -preset slow \
  -pix_fmt yuv420p -movflags +faststart \
  -c:a aac -b:a 192k holiday_2003.mp4

What each flag buys you:

  • -crf 20 — quality target. 18 is near-transparent and bigger; 23 is the default; 20 is a good archive compromise. Lower = better quality, larger file.
  • -preset slow — spends more CPU time for a smaller file. Use medium if you're in a hurry, veryslow overnight.
  • -pix_fmt yuv420p — guarantees compatibility with hardware decoders and TVs.
  • -movflags +faststart — moves the index to the front so the file starts instantly, including over a network share.
  • -c:a aac -b:a 192k — converts MP3/AC3 audio to AAC, which every device accepts.

Interlaced camcorder capture (combing lines on motion)? Add a deinterlace filter: -vf yadif=1. Audio drifting out of sync in the source? Force a constant frame rate and resample audio with -r 25 -af aresample=async=1.

To convert a whole folder in PowerShell:

Get-ChildItem *.avi | ForEach-Object {
  ffmpeg -i $_.Name -c:v libx264 -crf 20 -preset slow `
    -c:a aac -b:a 192k -movflags +faststart `
    "$($_.BaseName).mp4"
}

In a hurry with hundreds of files? Use your GPU encoder: swap -c:v libx264 -crf 20 for -c:v h264_nvenc -cq 21 -preset p5 (NVIDIA) or -c:v h264_qsv -global_quality 21 (Intel). It's 5–10× faster at a modest size penalty — fine for home video, less ideal for anything you'll re-edit.

One thing not to do: ffmpeg -i old.avi -c copy old.mp4. That just rewraps the same MPEG-4 Part 2 stream into an MP4 box. It fixes a broken index and bad interleaving, so it can help a little — but the GPU still won't decode it. Re-encoding is the real fix.

Verify the fix before you delete the originals

Play the new MP4 and check Task Manager → Performance → GPU. You should see the Video Decode graph light up and CPU usage fall to single digits. In VLC, Codec Information should now read H264 - MPEG-4 AVC (part 10). Scrub the timeline hard: seeking should be instant with no audio lag.

Then spot-check quality at full screen on two or three clips — fast motion and dark scenes are where low CRF values pay off. Keep the AVIs on an external drive for a month before deleting; conversion is lossy, and you only get one chance with irreplaceable family footage.

A 20-minute routine for an old AVI archive

  1. Pick the worst-stuttering file and open it in VLC. Confirm XVID/DIV3/MP4V and rising lost frames.
  2. Convert that one file first — online for a quick result, ffmpeg with -crf 20 -preset slow for the batch.
  3. Compare side by side: GPU decode active, CPU quiet, seeking instant.
  4. Run the folder batch overnight, keeping the same base filenames so your folder structure survives.
  5. Archive the originals off-site for a few weeks, then reclaim the space.

Once your library is H.264 MP4, it will keep playing smoothly on hardware that hasn't been built yet — which is more than DivX from 2003 can say.

FAQ

Will converting AVI to MP4 lose quality? Re-encoding is lossy, but at CRF 18–20 the difference is invisible on typical SD source footage — the original XviD compression artifacts are far more noticeable than anything H.264 adds.

Can't I just install a codec pack? It may get the file playing, but it won't give you hardware decoding, and bundled codec packs are a common source of system instability. Converting once solves it permanently.

Why does the same AVI play fine on my old laptop? It probably doesn't — it's just running a lighter player, a lower display resolution, or no background load. Software decoding has always been the method; modern players and 4K displays make the gap visible.

My AVI has no sound after converting. The source likely used AC3 or an exotic audio track. Run ffprobe to see the audio codec and make sure -c:a aac -b:a 192k is in the command rather than -c:a copy.

Is MP4 better than MKV here? For playback compatibility, yes — MP4 plays everywhere. MKV is better if you need multiple audio tracks or subtitles; the codec inside (H.264) is what fixes the stutter either way.

How long does conversion take? With -preset slow on a modern CPU, roughly real-time to 3× faster for SD footage — a 45-minute camcorder tape in about 15–30 minutes. GPU encoding cuts that to a few minutes.

Ready to Convert Your Files?

Try our free online file converter. No registration required.

Start Converting