Skip to content

Instantly share code, notes, and snippets.

@jkiv
Created February 22, 2021 00:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jkiv/d06353aae68a4f40da80d64f4499d55e to your computer and use it in GitHub Desktop.
Save jkiv/d06353aae68a4f40da80d64f4499d55e to your computer and use it in GitHub Desktop.
Customizing EmoTracker for OBS Transparency

Customizing EmoTracker for OBS Transparency

Method 1: Using Magenta Background

Modifying Tracker Background using Overrides

By default, a window capture of the "broadcast view" in EmoTracker (<F2>) gives a black/grey background in OBS. Here, we will make the background transparent in OBS by modifying a few files.

I'm using the "pughud" tracker for ALttPR, which I installed via the package manager. Though I'm using "pughud", this method likely applies to other trackers as well.

  1. Open EmoTracker and open the "Settings" (⚙) menu at the top right.

  2. Select Settings > Advanced > Export Overrides.

  3. Search/filter for broadcast.json.

  4. Check all files that matched this search filter and click "Export Overrides" at the bottom of the window.

  5. Select Settings > Advanced > Open Override Folder. This should open a file explorer window.

  6. Open each .json file in each of the subdirectories. For "pughud" these are,

    • doorrando\layouts\broadcast.json
    • keysanity\layouts\broadcast.json
    • mini\layouts\broadcast.json
    • minikey\layouts\broadcast.json
    • layouts\broadcast.json

    Each of these files contain a line similar to background: "#000000" which is used to define the background colour for the broadcast view.

    Modify each occurrence of the colour code for black (#000000) to the colour code for magenta (#FF00FF), saving each file.

  7. Refresh EmoTracker by pressing the <F5> key.

Chromakey tracker in OBS

  1. Add a new Window Capture in your OBS scene. Select your EmoTracker broacast view window.
  2. Right-click the Window Capture instance and click "Filters".
  3. Add a "Chroma Key" filter.
  4. Select the Chroma Key filter and select "Magenta" under "Key Color Type".
  5. Adjust "Similarity" to minimize the amount of magenta in your output and click "Close" when done.

Settings that worked well for me:

  • Similarity: 420
  • Smoothness: 1
  • Key Color Spill Reduction: 1
  • Opacity: 100
  • Contrast: 0.2
  • Brightness: 0.1
  • Gamma: 0

Method 2: NDI Capture (untested)

According to JRJathome on reddit, you can capture EmoTracker with transparency using the OBS NDI plugin.

  1. Since PugHUD has a black background, you'll have to remove it entirely by following the steps above and deleting background: "#000000" from each json file.
  2. Download and install the NDI plugin for OBS.
  3. Restart OBS if needed, then create a new NDI source and target the broadcast view. As long as you removed the background color in step 1, your tracker should show up in OBS with no background.

See Method 1 above for how to override the background colour of your EmoTracker. Instead of changing black to magenta, JRJathome suggests deleting the line. (May also be possible to make the colour transparent, e.g. using #00000000.)

A note about minimizing broadcast view

I was unable to run EmoTracker's broadcast view in a minimized state and have it update in OBS. I could focus Snes9x, obscuring the view of the broadcast view, but the broadcast view could not be minimized. This is likely just an issue with how OBS works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment