brainswax / thegoatchick

Camera and OBS control application for https://www.twitch.tv/thegoatchick
Apache License 2.0
0 stars 0 forks source link

Stream base audio controls #94

Open brainswax opened 2 years ago

brainswax commented 2 years ago

With a multi-cam stream in different physical locations, the audio is important to follow what's being show on the stream. It's also difficult/impossible to keep multiple live microphones in sync. Instead, the proposal is to implement a set of audio strategies to help the streamer manage the audio.

The audio should be broken down into two levels of settings:

  1. Scene-based settings
  2. Camera-based settings (which override the scene settings)

Scene-Based

  1. Priority - enable only one of the audio cams in view at a time based on a priority list
  2. Auto - Enable the mic on cam0, disable others (unless camera-based settings override)
  3. Main - enable only what's in cam0; disable the mics in cam1 through 3 (unless camera-based settings override)

Camera-based

  1. Always On (when the source is enabled)
  2. Always Off
  3. Auto (whatever the scene dictates)

Note that the application will disable cameras when out of view, which also disables the microphone on the camera. In order to always keep a particular microphone on at all times, a separate audio source needs to be created in OBS for that camera. That also means audio sources need to be managed separate from camera/video sources.

For priority-based audio, this can be done with a learning algorithm that wouldn't require an explicit list. It would however, require input from users.