Recording and streaming video from RetroArch¶
RetroArch has the capability to record gaming footage in real-time using libavcodec (FFmpeg).
Both lossless and lossy coding is supported. It is possible to configure most encoding options
for libavcodec using a separate config file.
RetroArch requires a very recent version of FFmpeg to work correctly.
If you are on Linux or OSX, your distros FFmpeg build is likely out of date, and you should build FFmpeg from Git. A recommended command line is:
1 2 3
This assumes you will install a custom FFmpeg build into
For Windows users, the redist includes recent enough libav* binaries.
Now you can configure RetroArch with:
and the configure script should pick up the FFmpeg libraries in
/opt/ffmpeg/lib. Check config.mk
to make sure. After successfully compiling, make sure that the RetroArch binary picks up the correct FFmpeg libs by adding
/opt/ffmpeg/lib to LD_LIBRARY_PATH (or the equivalent on OSX).
By default (not providing an encoding config), lossless coding is used. This means libx264/RGB, with -qp 0 (lossless). The audio codec used is FLAC. libx264/RGB ensures very nice bitrates even when lossless and very fast encoding.
Lossy and flexible coding config¶
By adding the
--recordconfig <config> parameter, you have more control over encoding.
The recognized config options are:
1 2 3 4 5 6 7 8 9 10 11 12 13
RetroArch can live stream to RTMP services like twitch.
To live stream there, create a config that is tailored for twitch. Example:
1 2 3 4 5 6 7 8 9 10 11
You can stream to twitch with a command such as: