kevinsung / slp-to-video

Convert Slippi replay files to video using Dolphin
GNU General Public License v2.0
14 stars 4 forks source link

slp-to-video

Convert Slippi replay files to video.

Takes sequences of Slippi replay files with optional start and end frames and overlay images, and stitches these sequences together. Useful for creating combo videos or converting sets to video. See here for an example of the input file format.

Requirements

Setup (GNU/Linux)

  1. Install Dolphin build dependencies. See here or here for instructions.

  2. Clone this repository and build Dolphin.

git clone https://github.com/kevinsung/slp-to-video.git
cd slp-to-video
./build-dolphin.sh
  1. Install node dependencies.
npm i

Usage

node slp_to_video.js INPUT_FILE

Convert .slp files to video.

Positionals:
  INPUT_FILE  Describes the input .slp files and output filenames. See
              example_input.json for an example.                        [string]

Options:
  --help            Show help                                          [boolean]
  --version         Show version number                                [boolean]
  --num-processes   The number of processes to use.        [number] [default: 1]
  --dolphin-path    Path to the Dolphin executable.
                      [string] [default: "Ishiiruka/build/Binaries/dolphin-emu"]
  --ssbm-iso-path   Path to the SSBM ISO image.   [string] [default: "SSBM.iso"]
  --game-music-on   Turn game music on.                                [boolean]
  --hide-hud        Hide percentage and stock icons.                   [boolean]
  --hide-tags       Hide tags.                                         [boolean]
  --hide-names      Hide player names.                                 [boolean]
  --disable-chants  Disable character crowd chants.                    [boolean]
  --fixed-camera    Fixed camera mode.                                 [boolean]
  --widescreen-off  Turn off widescreen.                               [boolean]
  --bitrate-kbps    Bitrate in kbps.                   [number] [default: 15000]
  --resolution      Internal resolution multiplier.     [string] [default: "2x"]
  --tmpdir          Temporary directory to use (temporary files may be large).
                         [string] [default: "/tmp/tmp-2c0591ca28e696ed5e563801"]

Notes

Contact

Kevin Sung: kevjsung@umich.edu