I'm trying to record both desktop and gameplay footage in high FPS using OBS (like 240, 360, 480, or even 500+ FPS) — on a simple 60Hz monitor, and I’m not getting real frames.
Here's what I want:
I want to be able to record real FPS footage (no duplicated or fake frames), so when I import it into Vegas Pro, After Effects, or DaVinci Resolve, I can slow it down and get native motion blur — like many YouTubers do.They just drop the clip, slow it down, and during fast movement (like mouse flicks), if you pause, you can see 5+ clean motion clones — no FX, no plugins, just pure smoothness.
But here's what I actually get:
Even when I record at 480 FPS (confirmed by OBS and video metadata), I only ever see 3 clones when pausing during fast motion — meaning I'm getting fake FPS or duplicate frames, not real per-frame motion.What I've already tested and confirmed:
- I'm using NVENC H.264, 1920x1080, 480 FPS, High preset.
- OBS shows and saves the video at 480 FPS (confirmed in metadata and MediaInfo).
- I verified the actual framesusing:
- A custom batch file with ffmpeg and hash checking → Found no duplication but virutal2dub manuall checking frame changes after 4th click mean image changes when 4th frame is reached!
@Echo Off
:: Check for input
IF "%~1"=="" (
echo Drag and drop a video file onto this .bat script to analyze it.
pause
exit /b
)
:: Set variables
set "INPUT=%~1"
set "FOLDER=%~dp0frames_temp"
set FFMPEG=C:\ffmpeg\bin\ffmpeg.exe
:: Create temp frame folder
if exist "%FOLDER%" rmdir /s /q "%FOLDER%"
mkdir "%FOLDER%"
echo Extracting frames from "%INPUT%"...
%FFMPEG% -i "%INPUT%" -vsync 0 "%FOLDER%\frame_%%05d.png"
echo Comparing frames (basic pixel count method)...
setlocal enabledelayedexpansion
set "prev_hash="
set /a total=0
set /a dupes=0
for %%F in ("%FOLDER%\*.png") do (
set /a total+=1
certutil -hashfile "%%F" MD5 > hash.txt
for /f "skip=1 tokens=1" %%H in (hash.txt) do (
set "curr_hash=%%H"
goto compare
)
:compare
if defined prev_hash (
if "!curr_hash!"=="!prev_hash!" (
set /a dupes+=1
)
)
set "prev_hash=!curr_hash!"
)
set /a real=!total! - !dupes!
echo.
echo Total frames: !total!
echo Real (unique) frames: !real!
echo Duplicate frames: !dupes!
:: Cleanup
del hash.txt
rmdir /s /q "%FOLDER%"
pause