exeldro / obs-virtual-cam-filter

GNU General Public License v2.0
121 stars 13 forks source link

obs-studio-node compatibility help #9

Open jgarcie opened 3 years ago

jgarcie commented 3 years ago

I am trying to use this plugin with obs-studio-node and I am having a compatibility issue. Obs-studio-node essentially wraps libobs so it is compatible with NodeJS and Electron. I was hoping you could point me in the right direction to solving it because I am not very experienced with OBS development.

I had to rebuild obs-virual-cam-filter to change the output type on this line in the code

context->virtualCam = obs_output_create("virtualcam_output", "virtualcam_output_filter", NULL, NULL);

to

context->virtualCam = obs_output_create("virtual_output", "virtualcam_output_filter", NULL, NULL);

This changes the output type from "virtualcam_output" to "virtual_output" to work with obs-studio-node. Then I put the dll in the /obs-studio-node/obs-plugins/64bit/ folder. The module loads without any errors in the logs!

Then I add the plugin to a source with the following (Javascript):

...
[CODE HERE CREATES THE SOURCE obsCameraInput WHICH WORKS CORRECTLY]
...

const vcFilter = osn.FilterFactory.create('virtual_cam_filter', 'virtcam');
obsCameraInput.addFilter(vcFilter);

This gives the following output in the logs

[000:00:00:03.809.769.000][Debug] output 'virtualcam_output_filter' (virtual_output) created
[000:00:00:03.809.794.400][Debug] private source 'virtcam' (virtual_cam_filter) created
[000:00:00:03.810.217.400][Debug] - filter 'virtcam' (virtual_cam_filter) added to source 'camera-video'
[000:00:00:03:810.842.400][Debug] starting virtual-output on VirtualCam'1'

Then it crashes with no more output.

Any ideas on what to try next?