React Hooks for working with OBS Studio's obs-browser plugin
npm install use-obs-studioReact hooks for working with the obs-browser JS bindings.
``sh`
npm install use-obs-studio
- Returns the control permission level of the Browser Source, as set by the user.
`tsx
import { useOBSControlLevel, ControlLevel } from "use-obs-studio";
/**
* enum ControlLevel {
* NONE,
* READ_OBS,
* READ_USER,
* BASIC,
* ADVANCED,
* ALL,
*
* READ_ONLY = READ_USER,
* }
*/
export function ControlLevel() {
const level: ControlLevel | null = useOBSControlLevel();
return
$3
- Subscribes to receiving the current scene.
`tsx
import { useOBSCurrentScene } from "use-obs-studio";export function CurrentScene() {
const scene = useOBSCurrentScene();
return (
Scene: {scene ? scene.name : ""}
Width: {scene ? scene.width : ""}
Height: {scene ? scene.height : ""}
);
}
`$3
- Subscribes to receiving the current output status of OBS.
`tsx
import { useOBSStatus } from "use-obs-studio";export function CurrentStatus() {
const status = useOBSStatus();
return (
Recording: {status.recording ? "Yes" : "No"}
Recording Paused: {status.recordingPaused ? "Yes" : "No"}
Streaming: {status.streaming ? "Yes" : "No"}
Replay Buffer: {status.replaybuffer ? "Yes" : "No"}
Virtualcam: {status.virtualcam ? "Yes" : "No"}
);
}
`$3
- Subscribes to receiving the current recording status of OBS.
`tsx
import { useOBSRecording } from "use-obs-studio";export function CurrentRecording() {
const status = useOBSRecording();
return (
Recording: {status.recording ? "Yes" : "No"}
Recording Paused: {status.recordingPaused ? "Yes" : "No"}
);
}
`$3
- Subscribes to receiving the current streaming status of OBS.
`tsx
import { useOBSStreaming } from "use-obs-studio";export function CurrentStreaming() {
const streaming = useOBSStreaming();
return (
Streaming: {streaming ? "Yes" : "No"}
);
}
`$3
- Subscribes to receiving the current replay buffer status of OBS.
`tsx
import { useOBSReplayBuffer } from "use-obs-studio";export function CurrentReplayBuffer() {
const replaybuffer = useOBSReplayBuffer();
return (
Replay Buffer: {replaybuffer ? "Yes" : "No"}
);
}
`$3
- Subscribes to receiving the current virtualcam status of OBS.
`tsx
import { useOBSVirtualcam } from "use-obs-studio";export function CurrentVirtualcam() {
const virtualcam = useOBSVirtualcam();
return (
Virtualcam: {virtualcam ? "Yes" : "No"}
);
}
`$3
- Subscribes to receive the current visibility status of the source in OBS.
`tsx
import { useSourceVisible } from "use-obs-studio";export function SourceVisible() {
const visible = useSourceVisible();
return
Source Visible: {visible ? "Yes" : "No"}
;
}
`$3
- Subscribes to receive the current active status of the source in OBS (whether it is currently visible in the program feed/output).
`tsx
import { useSourceActive } from "use-obs-studio";export function SourceActive() {
const active = useSourceActive();
return
Source Active: {active ? "Yes" : "No"}
;
}
``MIT © Dillon Pentz (VodBox)