mauro.ahumada
New Member
Hi all,
I'm working on a third-party plugin and I'd rather ask before building than duplicate something the project already has in flight. Five questions, all about extension points and direction — I've tried to check the public sources first and I'll say what I found so you don't have to repeat it.
1 · Canvas API over obs-websocket. OBS 31.1 added support for additional canvases in core, and obs-websocket exposes GetCanvasList plus canvas events, but as far as I can tell there is no request to create, modify or record to a canvas — the changelog describes it as partial support. Is write access to canvases planned over the websocket, or is in-process the intended path for anything that creates a canvas?
2 · Vendor requests as an extension point. Is CallVendorRequest considered a supported and reasonably stable way for an external application to drive a third-party plugin, or is it intended only for a plugin talking to its own companion app? Concretely: is it acceptable practice to build on another plugin's vendor requests, assuming its author agrees?
3 · Per-source / ISO recording in core. The feature request for multiple video outputs has been marked Planned since April 2018 and has around 368 votes. The last statements I can find are Lain's in 2018 and Joel Bethke's in 2019, both saying it's wanted but not soon. Is there any current intent to land it? I don't want to invest in something that's about to arrive in core.
4 · The scene timeline of a recording. obs-websocket already emits scene change events while recording, and Hybrid MP4 supports chapters. Is there any core intent to persist the scene timeline alongside the recording — which scene was active when, and for how long — or is that squarely third-party territory? To my knowledge no plugin writes it today, which is why I ask.
5 · Which base to build against. For a new plugin I assume the answer is upstream releases and the documented plugin template. Is there any guidance for developers whose existing code depends on obs-studio-node rather than on upstream libobs, when they move to writing a plugin proper?
Happy to be pointed at existing threads or docs if any of this is already answered — and happy to write up whatever I learn if it helps the next person.
Thanks for OBS.
I'm working on a third-party plugin and I'd rather ask before building than duplicate something the project already has in flight. Five questions, all about extension points and direction — I've tried to check the public sources first and I'll say what I found so you don't have to repeat it.
1 · Canvas API over obs-websocket. OBS 31.1 added support for additional canvases in core, and obs-websocket exposes GetCanvasList plus canvas events, but as far as I can tell there is no request to create, modify or record to a canvas — the changelog describes it as partial support. Is write access to canvases planned over the websocket, or is in-process the intended path for anything that creates a canvas?
2 · Vendor requests as an extension point. Is CallVendorRequest considered a supported and reasonably stable way for an external application to drive a third-party plugin, or is it intended only for a plugin talking to its own companion app? Concretely: is it acceptable practice to build on another plugin's vendor requests, assuming its author agrees?
3 · Per-source / ISO recording in core. The feature request for multiple video outputs has been marked Planned since April 2018 and has around 368 votes. The last statements I can find are Lain's in 2018 and Joel Bethke's in 2019, both saying it's wanted but not soon. Is there any current intent to land it? I don't want to invest in something that's about to arrive in core.
4 · The scene timeline of a recording. obs-websocket already emits scene change events while recording, and Hybrid MP4 supports chapters. Is there any core intent to persist the scene timeline alongside the recording — which scene was active when, and for how long — or is that squarely third-party territory? To my knowledge no plugin writes it today, which is why I ask.
5 · Which base to build against. For a new plugin I assume the answer is upstream releases and the documented plugin template. Is there any guidance for developers whose existing code depends on obs-studio-node rather than on upstream libobs, when they move to writing a plugin proper?
Happy to be pointed at existing threads or docs if any of this is already answered — and happy to write up whatever I learn if it helps the next person.
Thanks for OBS.