52 lines
2.0 KiB
Markdown
52 lines
2.0 KiB
Markdown
# Instant Replay (With OBS)
|
|
This funny project allows you to have a instant replay from the last X seconds by just saying "replay that".
|
|
|
|
## Why
|
|
Why not? Try it out. It's fun.
|
|
|
|
Did not see how you died in that round? Just say "replay that" and see the last 30 seconds of your gameplay in a little overlay box that does not disturb your game.
|
|
|
|
## Start the thing
|
|
|
|
1. Clone this repository.
|
|
2. Install Electron globally (if you don't have it):
|
|
```sh
|
|
npm i -g electron
|
|
```
|
|
3. Open multiple terminals and run the following commands:
|
|
1. **Terminal 1:** Start the Python server that listens for commands and communicates with OBS & the Electron app:
|
|
```sh
|
|
python main.py
|
|
```
|
|
2. **Terminal 2:** Start the Electron overlay window:
|
|
```sh
|
|
npx electron electron-main.js
|
|
```
|
|
3. **Terminal 3:** Serve the replays folder on port 8000:
|
|
```sh
|
|
npx serve ./replays -p 8000
|
|
```
|
|
|
|
## Usage
|
|
1. Make sure OBS is running with a scene that has your game or desktop.
|
|
2. Make sure the everything is running.
|
|
3. Make sure you have the WebSocket server configured correctly, check the code or change the port in OBS to 4455 and disable authentication.
|
|
4. Make sure the Replay Buffer is enabled in OBS and set to the same length as in `main.py` (default 30 seconds), else ffmpeg will clip to the duration set in the `main.py` script.
|
|
5. Say "replay that" (you can change the hotword in `main.py`) to save the last X seconds of gameplay.
|
|
|
|
## Other commands
|
|
- **Activation:** Say "instant replay" to save the last X seconds.
|
|
- **Stop:** Say "stop replay" to hide the replay overlay.
|
|
- **Replay Last:** Say "replay last" to show the most recent replay.
|
|
- **Clear Replays:** Say "clear replays" to delete all saved clips.
|
|
|
|
## Requirements
|
|
- OBS Studio with a working Websocket Server
|
|
- Python3 with the required packages (see `requirements.txt`)
|
|
- NodeJS with Electron installed globally
|
|
- A microphone for hotword detection
|
|
|
|
## Thank You
|
|
You're done reading. Yay. Thanks for trying if you did. Enjoy!
|
|
|
|
Mit license and all of that. |