a-rose / obs-headless

Headless OBS in Docker via gRPC
124 stars 15 forks source link

Exported scene features #6

Open chrisbward opened 1 year ago

chrisbward commented 1 year ago

Hi,

I wondered if it were at all possible to develop a scene on a local OBS and then export the json config to this instance?

From looking at the source it just seems to switch sources of streaming servers?

It feels that I might have to stream my OBS to this OBS to take advantage of all the features?

Chris

chrisbward commented 1 year ago

This is an excellent repo - I've just seen obs firing up via x11 when running make shell-dev.

I'm now wondering if it seems more reasonable to control scene selection over the websocket API, but through gRPC on the container - there's some golang stuff for this; goobs and obs-switch

a-rose commented 1 year ago

Hello, and thank you!

This project is mostly a PoC of how to run a program based on libobs on a remote, headless machine. As you noted, the example implementation can only switch between two sources at the moment; using this project as a framework will help people getting started to implement the features they want around libobs.

I like your idea of importing scenes from OBS, though! I don't have time to work on this project at the moment, but I'll keep this issue open so I can have a go at it later.

Regarding the websocket API : that can solve many use cases, but AFAIK it's only useful with OBS (the whole program) as opposed to this project being built around libobs (the building blocks).

SonnyWalkman commented 1 year ago

Great! OBS Studio headless.

Seems I found a goalmine! I'm running obs studio using remote via web sockets from a go program. Hoping to add lua scripts to play audio files. Does obs headlesshave the lua scripting engine or able to add it. In addition, does the recording output through ffmpeg api?

a-rose commented 3 days ago

Hello @SonnyWalkman

It seems I missed your comment last year, my apologies. obs-headless doesn't have these capabilities, the project is still a very basic use of the core OBS lib. It means there is no scripting or recording at this stage. Maybe one day :)