Automate camera switching with OBS, Bitfocus Companion and any audio api.
Automate camera switching with OBS, Bitfocus Companion and any audio api.
You can download the latest version of Gabin here.
pnpm i
pnpm dev
pnpm build
Gabin can be called in command line with several options :
-h
, --help
: Display this message-d
, --debug
: Enable debug mode-v
, --version
: Display version--no-auto-open
: Disable auto open in browserYou can add environment variables :
GABIN_HOST
: Hostname to use (default: localhost
)GABIN_HTTP_PORT
: Port to use (default: 1510
)GABIN_OSC_PORT
: Port to use (default: 32123
)GABIN_BASE_URL
: Base url to use (default: /
)GABIN_LOGS_FOLDER
: Folder to store logs (default: $appdata/gabin/gabin.log
)GABIN_CONFIG_FOLDER
: Folder to store config (default: $appdata/gabin/database.json
)By default, Gabin listen OSC on localhost:32123
Even if you don't choose OSC as video mixer, you can control Gabin through OSC
Command :
path | params | description |
---|---|---|
/gabin/on |
none | power Gabin on |
/gabin/off |
none | power Gabin off |
/gabin/config |
config: string | add or edit this config |
/gabin/profile |
profileName: string | set this profile as active |
/scene/$NAME_OF_YOUR_SCENE |
none | tell Gabin what the current scene is |
/source/$NAME_OF_YOUR_SOURCE |
none | trigger a specific shot |
/mic/$NAME_OF_YOUR_MIC |
availabe: 1,0 | toggle mic availability |
/autocam |
autocam: 1,0 | toggle autocam |
Request :
path | params | description |
---|---|---|
/gabin/is-ready |
host: string, port: number, path: string | get TRUE if Gabin is connected |
/gabin/profiles |
host: string, port: number, path: string | get all profiles |
/gabin/devices |
host: string, port: number, path: string | get all audio devices |
Register :
path | params | description |
---|---|---|
/register/shot |
host: string, port: number, path: string | get updated on each triggered shot |
/register/autocam |
host: string, port: number, path: string | get updated when play/pause Gabin |
/register/defaultProfile |
host: string, port: number, path: string | get updated when new default profile is set |
In the json database, go under profiles > settings > autocam > containers > mics > cams > source > options
.
There you can add a noIllu
options, a boolean (true
or false
)
In the json database, go under profiles > settings > autocam > containers > mics > cams > source > options
.
There you can add a matching
options, the value must be a array of strings.
You have to specify for each mics either :
-
: it has to be not available*
: the availability does not matterE.g.:
profiles > settings > autocam > containers > mics > cams > source > options
[...]
{
"source": {
"name": "large shot 1",
"options": {
"matching": ["1234"]
}
},
"weight": 5
},
{
"source": {
"name": "large shot 2",
"options": {
"matching": ["1*3-"]
}
},
"weight": 10
},
[...]
The "large shot 1" may be shot if all the 4 mics are availables. Here, the "large shot 2" may be shot if :
Made in 🇫🇷 by OneClickStudio.