Script to convert Project Slippi replays into video using OBS
- Python 3.6+ (
s2v.py
might work with a lesser version, butobs_s2v.py
won't) - Windows or Mac. Untested on other platforms. Might work perfectly though, who knows.
- Project Slippi desktop app. Comes with a custom version of Dolphin, select this one when setting up your
config.py
or OBS script. Configure Dolphin as you like. If the changes are not getting saved, check that the folder is not read only or that you have permissions. - Install python dependencies. For Windows:
pip install py-slippi pyautogui
For Mac, pyautogui
has a couple of extra requirements, which you can install with: pip install -r requirements-mac.txt
. py-slippi is under development, so you might need the git version (this script was writen using this commit)
pip install git+https://github.com/hohav/py-slippi --upgrade
- OBS (64 bits) installed. It also needs the
Stop recording
hotkey to be set toCTRL+ALT+END
(default, can be changed on config.py, here is the list with the key names). Also you need to configure obs the way you want to record the game, so create a scene and add Dolphin as source, etc... - Fill config.py with the paths to the replays folder, Dolphin.exe (Slippi), Super Smash Bros. Melee NTSC 1.02 version .iso and OBS64.
python s2v.py
- Pray for it to work.
Only tested for Windows. "Python scripting has never been officially supported on mac since we couldn't get it to work (also issues with the buildserver I believe). Doesn't appear that anybody has figured out why it didn't work or fixed it." (per Rodney on OBS Forums)
Instead of using s2v.py, it's possible to use OBS' built-in Python API (preferable atm). Set up take a little bit longer.
- Open OBS and go to
Tools
>Scripts
>Python Settings
and there select the directory with yourpython.exe
. IMPORTANT NOTE: Must match Python/OBS bits version (32 or 64 bits) and must be Python 3.6.something, as 3.7 doesn't work (OBS fault I think, as I just doesn't even execute the sample script that comes with the program) or maybe it's just me lol. As a result, if you opt for a 'portable' version of Python, you'll probably need to follow this guide in order to be able to download the necessary packages py-slippi. - Go to the
Scripts
tab, click the+
button, and selectobs_s2v.py
. - Configure the options and click Start
- Pray once again
Things to investigate/improve:
Better sync
Trimming video / cut black frames
Dolphin 200% + audio dump, then ffmpeg slowdown
Dolphin codecs
Renaming video with game info (player names, chars, stage...)
Youtube auto upload
Use queue system