Convert Slippi replay files (.slp
) to video files (.mp4
) with ease.
- Multiple conversion modes:
- Single file(s)
- Directory (recursive)
- Replay Manager zip(s)
- Parallel processing for faster conversions
- GUI for easy configuration and operation
- Customizable output resolution and bitrate
- Cross-platform support for Windows, Linux
- Dolphin on Mac does not support framedumping
- Python 3.11 or higher
- FFmpeg installed and accessible
- Slippi Dolphin installed
- Super Smash Bros. Melee ISO file
Select the latest release from the releases page.
pip install "slp2mp4[gui] @ git+https://github.com/davisdude/slp2mp4.git"
or
git clone https://github.com/davisdude/slp2mp4.git
pip install .[gui]
Both methods require having git
and pip
installed
usage: slp2mp4 [-h] [-o OUTPUT_DIRECTORY] [-n] [-v] {single,directory,replay_manager} ...
options:
-h, --help show this help message and exit
-o, --output-directory OUTPUT_DIRECTORY
set path to output videos
-n, --dry-run show inputs and outputs and exit
-v, --version show program's version number and exit
mode:
{single,directory,replay_manager}
single convert single replay files to videos
directory recursively convert all replay files in a directory to videos
replay_manager recursively convert all replay files in a zip to videos
The GUI has all the features that the CLI has. Change your settings in the menu, select your conversion type, set your directories, then click start.
To launch the GUI, run slp2mp4_gui
.
slp2mp4
uses hierarchical settings that come from TOML files.
Settings not found in the user configuration (~/.slp2mp4.toml
) fall back to
the default settings.
The default settings can be found here.
ffmpeg
: Path to FFmpeg executableslippi_playback
: Path to playback Slippi Dolphin executablessbm_iso
: Path to your Melee ISO file
backend
: Video backend (D3D12
,DX11
,DX9
,OGL
,Software Renderer
,Vulkan
)resolution
: Output resolution (480p
,720p
,1080p
,1440p
,2160p
)bitrate
: Video bitrate in kbps
audio_args
: FFmpeg audio processing settingsvolume
: Volume of dolphin (0-100)
parallel
: Number of parallel processes (0 = auto-detect CPU cores)prepend_directory
: Prepend the parent directory infoyoutubify_names
: Replace some characters in file names for YouTube uploads
[paths]
ffmpeg = "ffmpeg"
slippi_playback = "~/AppData/Roaming/Slippi Launcher/playback/Slippi Dolphin.exe"
ssbm_iso = "~/Games/Melee.iso"
[dolphin]
backend = "OGL"
resolution = "1080p"
bitrate = 16000
[ffmpeg]
volume = 25
[runtime]
parallel = 0
or on Windows:
[paths]
ffmpeg = "~/Downloads/ffmpeg-2025-01-27-git-959b799c8d-essentials_build/bin/ffmpeg.exe"
slippi_playback = "~/AppData/Roaming/Slippi Launcher/playback/Slippi Dolphin.exe"
ssbm_iso = "~/Documents/iso/ssbm.iso"
[dolphin]
backend = "D3D12"
resolution = "1080p"
bitrate = 16000
[ffmpeg]
volume = 25
[runtime]
parallel = 0
-
If you get weird looking video (where half the width is cropped), try changing the video backend (see
backend
in dolphin settings for possible options). -
Does not play nicely with WSL, since dolphin expects all paths to be relative to Windows.
This project is licensed under the MIT License - see the LICENSE file for details.