Question / Help Virtual web cam solution for Mac

#1
Hello! I've done a bit of searching on forums, YouTube, etc. to see if anyone has devised a solution for taking the broadcast output of OBS and coerce it into a virtual webcam device, the idea being other applications such as Zoom or Google Hangouts would be able to broadcast it. Is this possible on a Mac? Have folks come up with any clever solutions that approximate this? Thanks for your help.
 

Narcogen

Active Member
#2
The NDI plugin can produce an NDI feed from OBS on the Mac (as well as on Windows and Linux) but I'm not aware of a virtual webcam solution on MacOS.

In fact, the Newtek NDI Virtual Input software does this, but again, only on Windows.
 
#4
I achieve that by using OBS, Syphon and CamTwist on the Mac. It works on High Sierra but as of now breaks on the Mojave Beta.
 

mhite

New Member
#5
I achieve that by using OBS, Syphon and CamTwist on the Mac. It works on High Sierra but as of now breaks on the Mojave Beta.
Do you have a pointer to how all that would fit together to create the "virtual webcam" device something like Google Hangouts or Zoom would see?
 
#7
The SyphonInject Github page has the solution:
"SyphonInject NO LONGER WORKS IN macOS 10.14 (Mojave). Apple closed up the loophole that allows scripting additions in global directories to load into any process. Trying to inject into any process will silently fail. It will work if SIP is disabled, but that's a terrible idea and I'm not going to suggest or help anyone do that"

So... If you disable SIP, System Integrity Protection (rootless users), the problem clears right up in Mojave. Though it's for advanced users and not at all recommended by me. But I tested it, and I'm a developer & former IT security specialist, I have other security in place as well as good practices while interneting... so... I'm just leaving SIP disabled until one day when it all breaks again, I'll reenable SIP at that time.

(I guess I could just turn SIP off and back on when I'm recording and done recording... but that would be the smart, yet inconvenient way to do it) :P

Read this, and follow the links from the top voted answer before deciding for yourself:
How do I disable System Integrity Protection (SIP) AKA “rootless” on macOs [OS X] ~ Stack Exchange - Ask Different
*the top answer also has instructions for disabling SIP
 
#8
If you don't want to disable SIP, downgrade from Mojave or use Windows instead - there's one other option that I've confirmed works. Create a new simple output using a USB-C to HDMI adapter.

Then send 'Fullscreen Preview' from OBS to that 'monitor'. Except instead of going to an actual monitor, just route that HDMI to a USB3 Capture device. This allowed me to essentially pipe the OBS feed to a 'virtual camera' which could then be assigned to Skype (or Teams in my case). Even when recording, the lag was virtually imperceptible.

On an 8-Core iMac Pro | 64GB | Vega56 - that keeps my overall system CPU load at around ~14% while recording (informally tracked). In testing, I was switching between multiple scenes using an Elgato Stream Deck, but that also had no detrimental effect.
 
#9
That only has no detrimental effect because that's a pretty powerful machine. A lot of the questions in this forum are people trying to use OBS on a 3-5 year old MacBook. For them a 2 machine setup might work but I think doing a self-capture with one machine requires significant horsepower.
 
Top