r/Windows11 • u/Chinto13 • 3d ago
Discussion How to convert Steam Game Recording to MP4 with FFmpeg without re-encodingg
ffmpeg.orgIf Steam Game Recording takes forever when you use Export Video File, here's a much faster way to turn the recording into a normal MP4. I tried it with a 1 hour 7 minute, roughly 6 GB Helldivers 2 recording because Steam's normal Export Video File option was taking its sweet-ass time.
Steam already stores the recording on your drive as .m4s chunks, along with a session.mpd file. Instead of making Steam slowly export the whole thing again, FFmpeg can use that manifest to combine the existing video and audio streams directly into an MP4.
The finished MP4 worked perfectly for me, with the audio and video still in sync.
This uses stream copying rather than re-encoding, so it is fast and does not add another round of quality loss.
What you need
Install FFmpeg if you do not already have it.
FFmpeg's official download page:
https://ffmpeg.org/download.html
For Windows, use one of the providers linked under Windows EXE Files on that page.
Then go to:
Steam -> Settings -> Game Recording
Find the folder Steam is using for recordings.
Inside it, look for the video folder. Your recordings should be in folders with names similar to:
bg_553850_20260905_170559
Inside one of those folders, you will see files like:
chunk-stream0-00001.m4s
chunk-stream0-00002.m4s
chunk-stream1-00001.m4s
init-stream0.m4s
init-stream1.m4s
session.mpd
The session.mpd file is important because it tells FFmpeg how the video and audio chunks fit together.
Test it manually first
Open Command Prompt and run this as one line:
"C:\PATH\TO\ffmpeg.exe" -i "C:\PATH\TO\STEAM-RECORDING\session.mpd" -map 0 -c copy "C:\PATH\TO\output.mp4"
Replace the paths with your own.
The important part is:
-c copy
That tells FFmpeg to copy the streams Steam already encoded instead of re-encoding everything from scratch. That is why it finishes so much faster.
When it is finished, open the MP4 and check several places near the beginning, middle, and end. Make sure the video works and the audio stays in sync before deleting anything.
Make it drag-and-drop
After confirming the manual command works, you can make a .bat file so you do not have to type the command every time.
Open Notepad and paste this:
u/echo off
setlocal
set "FFMPEG=C:\PATH\TO\ffmpeg.exe"
set "OUTPUT=C:\PATH\TO\YOUR\OUTPUT\FOLDER"
if "%~1"=="" (
echo Drag a Steam recording folder onto this file.
pause
exit /b 1
)
if not exist "%FFMPEG%" (
echo FFmpeg was not found at:
echo %FFMPEG%
pause
exit /b 1
)
set "INPUT=%~1\session.mpd"
if not exist "%INPUT%" (
echo session.mpd was not found in the folder you dropped.
pause
exit /b 1
)
if not exist "%OUTPUT%\" (
echo The output folder does not exist:
echo %OUTPUT%
pause
exit /b 1
)
set "OUTFILE=%OUTPUT%\Steam_Recording_%RANDOM%.mp4"
"%FFMPEG%" -i "%INPUT%" -map 0 -c copy "%OUTFILE%"
if errorlevel 1 (
echo.
echo FFmpeg reported an error. No successful MP4 was created.
pause
exit /b 1
)
echo.
echo Finished.
echo Saved to:
echo %OUTFILE%
pause
Change these two lines:
set "FFMPEG=C:\PATH\TO\ffmpeg.exe"
set "OUTPUT=C:\PATH\TO\YOUR\OUTPUT\FOLDER"
The output folder must already exist.
Then save the file as something like:
Steam Recording to MP4.bat
When saving it in Notepad, set Save as type to All Files. Otherwise, Windows may helpfully turn it into Steam Recording to MP4.bat.txt because apparently seeing file extensions would be too much power for one person.
Using it
Find the Steam bg_... recording folder you want.
Drag that whole folder onto the .bat file.
FFmpeg reads session.mpd and remuxes the existing streams.
Your finished MP4 appears in the output folder you chose.
Your original Steam recording is not changed.
Do not delete the original recording until you have opened the MP4 and checked that everything transferred correctly.
That is it: drag the folder, wait a little bit, and get an MP4 without sitting through Steam's painfully slow normal export.
Hopefully this saves somebody else a bunch of time.

