This script synchronizes gameplay feeds from two seperate StepManiaX sessions by automatically adding source delays in OBS. Use clean gameplay sources at 1080p for the best result. The script can use a seperate scene from your stream feeds.
- Install Python 3
- Install OBS Dynamic Delay plugin
- Open Tools -> Websocket Server and enable it. Copy the password for later
- Create a new scene
- Add both players as sources in the new scene, place them vertically so the top half of both are visible
- Add a dynamic delay filter to both sources, keep the default name
- Open File -> Settings -> Hotkeys:
- Add F6 as Skip Begin, F7 as Skip End for the player 1 source
- Add F8 as Skip Begin, F9 as Skip End for the player 2 source
- Configure the OBS Virtual Camera to always output this scene
Install dependencies:
python -m venv .venv
.venv\Scripts\activate.bat
pip install -r requirements.txt
- Copy config.example.py to config.py
- Edit config.py with your configuration
.venv\Scripts\activate.bat
python smx-obs-sync.py