You're staring at NS_E_INVALIDINPUTFPS (0XC00D1B81) and wondering why Windows won't play your video. I've seen this one a hundred times. The message says it all: "This source does not have a frame rate of 30 fps." Microsoft's Media Foundation is strict about frame rates – it expects 30fps and nothing else.
The culprit here is almost always a mismatch between your source file's frame rate and what the application expects. You're probably trying to import a 25fps or 60fps clip into something that hardcodes 30fps – like Windows Movie Maker, old Windows Media Encoder, or some custom tool using the Media Foundation API.
Don't bother messing with codec packs or reinstalling drivers – that won't fix a frame rate mismatch. Let's get down to what actually works.
Cause 1: Source File Frame Rate Isn't 30fps (Most Common)
Your video file is 25fps (PAL), 29.97fps (NTSC), 60fps (action cam), or 24fps (film). Media Foundation doesn't care about your artistic vision – it wants 30. This happens most often when you're working with ripped DVDs (23.976fps) or European phone footage (25fps).
Fix: Re-encode the video to exactly 30fps
I use HandBrake for this because it's free and handles frame rate conversion without quality loss. Here's the workflow:
- Download and install HandBrake from handbrake.fr
- Open your video file
- Under the Video tab, find Frame Rate (FPS)
- Choose 30 from the dropdown – not "Same as source"
- Set the encoder to H.264 (or H.265 if you want smaller files)
- Click Start Encode
The output file will be a constant 30fps. I've fixed this error dozens of times with this exact method. It takes a few minutes, but it's rock solid.
If you're a command-line type, use ffmpeg:
ffmpeg -i input.mp4 -r 30 -c:v libx264 -crf 18 -c:a copy output.mp4
That forces the output to 30fps. Adjust the CRF if you care about file size – 18 is near-lossless.
Cause 2: The Application's Project Settings Are Set Wrong
Sometimes the file is fine – the app you're using was configured for a different frame rate. This happens in video editing software like Adobe Premiere Pro or DaVinci Resolve when you create a project at 25fps and then try to import a 30fps clip. But wait – those apps usually accept mixed frame rates. The error appears more in live streaming apps or capture software that locks to 30fps for output.
Fix: Change the project or capture settings to 30fps
If you're using a capture tool like OBS Studio and seeing this error, it's likely your canvas is set to 60fps. Media Foundation's source filter wants 30.
- Open OBS Studio (or your capture tool)
- Go to Settings → Video
- Set Common FPS Values to 30
- Apply and restart the stream/preview
In editing software, check the project settings:
- Premiere Pro: File → Project Settings → General – set Timebase to 30fps
- DaVinci Resolve: File → Project Settings → Timeline Format – set 30fps
This won't fix a file that's actually 25fps, but it eliminates the app-side mismatch. If the source is 29.97fps (common with NTSC camcorders), you might still hit this error – Media Foundation uses integer 30, not 29.97. Re-encode as shown above.
Cause 3: Broken Media Foundation Pipeline or Corrupted Source
Less common, but I've seen it. The error pops up when the file's header reports a frame rate that doesn't match the actual frames. Corrupted MP4 files from a failed download or a bad SD card can trigger this. Also, certain codecs – like the old MJPEG or DV – can confuse Media Foundation's frame rate detection.
Fix: Reinstall/repair Windows Media Foundation and remux the file
First, try remuxing the file – that re-wraps it without re-encoding, which can clean up the header:
ffmpeg -i broken.mp4 -c copy fixed.mp4
If the frame rate still reads wrong, check the actual frame rate with MediaInfo. If it's variable frame rate (VFR), that's another problem – Media Foundation often trips on VFR. Convert to constant:
ffmpeg -i input.mp4 -vsync cfr -r 30 output.mp4
If remuxing doesn't help and the error persists across all files, repair the Media Foundation stack:
- Open Command Prompt as administrator
- Run
sfc /scannow– let it finish - Then run
DISM /Online /Cleanup-Image /RestoreHealth - Reboot
That repairs corrupted system files that might be breaking Media Foundation's handling. I've seen this fix stubborn cases where no file was actually at fault.
Quick Reference Summary
| Cause | Fix | Time |
|---|---|---|
| Source file isn't 30fps | Re-encode to constant 30fps (HandBrake or ffmpeg) | 5-10 min |
| App/project set to non-30fps | Change settings to 30fps in your software | 1-2 min |
| Corrupted source or Media Foundation | Remux, force CFR, run SFC/DISM | Varies |
Start with the first fix – it solves 90% of these errors. Don't waste time on codec packs or driver updates; that's not where this problem lives. If you're still stuck after trying all three, check whether the application you're using has a known issue with this error – some older software just never got updated to handle non-30fps sources.