Skip to content

A system to cut extract kills form gameplay recordings using Global Offensive Game State Integration.

Notifications You must be signed in to change notification settings

WizzardDr/GSGOClipGenerator

Repository files navigation

GSGO Clip Generator

A system to cut extract kills form gameplay recordings using Global Offensive Game State Integration.

The system is baced around synchronising the recording from OBS with the data from the Game State Integration. It is designed to generate 1 second long clips with the kill half way through. If OBS is setup as correctly the clips should be lossless and 60fps.

Requirements:

Setup:

  1. OBS Settings (settings button bottem right)

    1. Set recording

      _Output>Recording Quality> _Lossless Qualitym Tremendously Large File Size

    2. Recording Path

      Settings>Output>Recording Path> [Same location as RecordingSlicerVxxx.py]

    3. Record Hotkey

      Settings>Hotkeys>Start Recording: [Start Recording KEY] i.e. F8

    4. Record Hotkey

      Settings>Hotkeys>Start Stop Recording: [Stop Recording KEY] i.e. F9

    5. FPS

      Settings>Video>FPS Values: 60

  2. Global Offensive Game State Integration

    • Copy file:
      gamestate_integration_yourservicenamehere.cfg
      into
      \Steam\steamapps\common\Counter-Strike Global Offensive\csgo\cfg

    i.e. steam libary location, mine is (E:\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\cfg)

Recording:

  1. Run the CSGOStats.js applicaton using node.

    • Option A. Start a command promt and navigate to the file (in it's current location), then run node CSGOStats.js

    • Optoin B. Right click the CSGOStats.js and Open With > Choose another app> more apps > "C:\Program Files\nodejs\node.exe" (recommended)
      (Option B will allow you to run the node application in future by doubble clicking it.)

  2. Launch OBS, (don't start recording yet)

  3. Join a CSGO session.

  4. Tab to the node comand prompt window.

  5. Once a stream of numbers starts, Press record using your hot key (i.e. f8) ENSURING THE TERMINAL IS IN THE RECORDING AREA!

  6. Play a round (first to 8). (I recommend only playing one round as the recording is huge and will be 45gb+) but the system does now supports endless rounds.

  7. Access the menu to trigger a save of the game data. (Alt+F4 will NOT trigger save) (Do this atleast once before closing the game)

  8. Close node window

Convert to Clips:

If all has gone well you should have an .avi file with game play and a data.txt file of game data.

  1. Rename the .avi file to input.avi

  2. Run RecordingSlicer.py
    Follow the instructions:

    • Enter the time at the bottom of the terminal in the extracted start image.
    • Enter you in game name (same as in the data.txt file).
    • You should be presented with a list of times in miliseconds.
  3. Press ENTER and your clips should appear in the \output folder.

! I recommend checking each one as sometimes (such as when the bomb kill the person you are spectating) it incorrectly captuers.
! I also recomend moving the files out of the output folder once you've checked them.

About

A system to cut extract kills form gameplay recordings using Global Offensive Game State Integration.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published