How stream pre-recorded video files to your Steam game storefront using FFMPEG instead of OBS
But why? This way you’re not doing any encoding through OBS, just reading the file with the correct format already, so this will run at near 0% CPU usage. Also it runs fine just in the background, no window capture that you can mess up etc!
There are other guides mentioning using ffmpeg doing this, like this , but none that I’ve seen that does it without reencoding and using CPU.
I arrived at this through some experimentation and chat AI.
Follow other guides to obtain your stream token etc.
- Install FFMPEG: https://www.ffmpeg.org Or rather dump it into C:/ffmpeg, and add it to your windows paths.
- Export your videos in the format Steam wants. This is how the settings look in DaVinci:
3. Put the files somewhere in a folder.
4. Copy and rum this cmd in cmd. (with the path to your file and your stream token)
ffmpeg -readrate 1.0 -readrate_initial_burst 5 -readrate_catchup 20 -stream_loop -1 -i "C:\path\to\loop.mp4" -map 0:0 -map 0:1 -f flv -vcodec copy -acodec copy -flvflags no_duration_filesize "rtmp://ingest-rtmp.broadcast.steamcontent.com/app/YOUR_STEAM_KEY"
It works by capping the readrate of the file at 1, so it will play in realtime, and “readrate_catchup 20” is important to allow it to read faster if any lag happens.

it’s running!

Playlist variant: You can have a playlist and add several files to loop over. Add a playlist.txt file, and populate it like so:
file 'C:/path/to/loop.mp4'
file 'C:/path/to/anotherclip.mp4'
Then run this FFMPEG cmd instead:
ffmpeg -readrate 1.0 -readrate_initial_burst 5 -readrate_catchup 20 -stream_loop -1 -f concat -safe 0 -i "C:\path\to\playlist.txt" -map 0:0 -map 0:1 -f flv -vcodec copy -acodec copy -flvflags no_duration_filesize "rtmp://ingest-rtmp.broadcast.steamcontent.com/app/YOUR_STEAM_KEY"
4. Just close the cmd window when you want to close the stream!


