OBS Plugin that lets you record and (just about) automatically edit Heat Signature clips to realtime speed
Before: https://youtu.be/8BLbGGG98ZE
After: https://youtu.be/lhgmKK2K1wk
- Built around recording clips in which you stay on one ship (possibly works either way, but not sure yet)
- Time still slowed when enemies see you.
- Some frames lost unnecessarily here and there from the original footage to make sure edit doesn't include pause frames.
- Can't account for minimizing the game.
- Find (and handle) edge cases I missed
- Combine both programs into one
- Make UI friendlier
- Add keybind to stop recording rather than just having a toggle
- Let you start recording while paused
- Speed up time slightly after a successful throw as that slows down time
- Install OBS (www.obsproject.com)
- Install Python 3.6 (www.python.org/downloads/release/python-368)
- Download Python dependencies by typing the following into command prompt:
pip3.6 install pillow
pip3.6 install pynput
pip3.6 install moviepy
- Download the latest release of this program (two .py files) and put it in a folder on its own (www.github.com/ineeddspelchek/Heat-Signature-Replay/releases)
- Open
heatSigReplayProcessing.py
and editleaveFastMo
(False
to slow down Fast Mo segments;True
to not), inVidExt, and outVidExt to whatever you want (probably runs faster if you have both extensions be the same; .mov can be read but not outputted) - Find some way to run
heatSigReplayProcessing.py
(I use Visual Studio Code; for some reason opening it with python.exe reads files from another folder instead of from the one it's in, so that won't work) - Open OBS
- Go to Tools > Scripts
- Go to the
Python Settings
tab - Browse and add Install Path for Python 3.6 (must be that version; earlier might work; later will never)
- Go back to
Scripts
- Press the "+" sign
- Add
heatSigReplay.py
- Click on it in the Script Menu
- Set up your keybinds as you have them in the game and set the record keybind to be easy to reach but hard to accidentally press
- Start Heat Signature
- Press
Enable Replay
andFinding Coords
in the Script Menu - Go through each of the 5 coordinates and set them according to directions on the Script Menu (or set them to what worked for me, though they may not line up with your setup)
- Press
Disable Replay
(otherwise, the key and mouse listeners don't get killed until OBS is closed) - Set up a Game Capture source for Heat Signature's window
- Start Heat Signature
- Start OBS
- Open Script Menu
- Open
Script Log
- Select
heatSigReplay.py
- Press
Enable Replay
- Play game until you want to start recording.
- Unpause game if it is paused
- Press your record keybind
- Rip and Tear
- Once you are done, unpause the game if it is paused
- Press the record keybind again.
- Press
Disable Replay
unless you're confident you won't accidentally press record - Drag the recording from OBS' folder to the folder containing this program and make sure it is the only video file in the folder
- Open the log
- Copy text from
[[
to]]
(don't worry about copying line breaks or[Unknown Script]
s in between just don't get anything before or after) - Run
heatSigReplayProcessing.py
and input the copied text - Wait for it to edit (should take x2-x4 the capture's length)
- Enjoy the output file placed in the same folder.
- Re-enable Replay if you disabled it.
- Continue playing.
- Close OBS once you're done (preferrably disabling replay before you do).