https://github.com/brendonovich/sceneify
The simplest way to control OBS from JavaScript
https://github.com/brendonovich/sceneify
javascript obs obs-websocket typescript
Last synced: 3 months ago
JSON representation
The simplest way to control OBS from JavaScript
- Host: GitHub
- URL: https://github.com/brendonovich/sceneify
- Owner: Brendonovich
- License: mit
- Created: 2021-09-11T16:34:34.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-12-15T00:39:14.000Z (7 months ago)
- Last Synced: 2025-03-31T06:07:44.058Z (4 months ago)
- Topics: javascript, obs, obs-websocket, typescript
- Language: TypeScript
- Homepage: https://sceneify.brendonovich.dev
- Size: 2.8 MB
- Stars: 91
- Watchers: 2
- Forks: 4
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
![]()
Sceneify
The easiest way to control OBS from JavaScript
Using `obs-websocket` can be difficult. Small manipulations of scenes and scene items are manageable, but keeping track of scenes, sources, settings, filters and more can quickly become a daunting task.
Sceneify aims to fix this. By working with `Scene`, `Source`, and `SceneItem` objects, you can have unparalleled control over your OBS layouts.
# Beta Warning
This library is not well tested and is still under heavy development. Feel free to use it, but make sure you make a backup of your scene collections before doing anything with Sceneify.
## Features
- Persistence across code reloads, so scenes and items aren't deleted and recreated each time you run your code
- `Scene`, `Source` and `SceneItem` are designed to be overridden, allowing for complex layouts to be abstracted into subclasses
- Easy integration into existing layouts with `Scene.link()`, allowing for incremental migration to Sceneify without handing over your entire layout to your code.