Question / Help Virtual web cam solution for Mac

mhite

New Member
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
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.
 

asucher

New Member
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
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?
 

qcode

New Member
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
 

jgohil

New Member
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.
 

Narcogen

Active Member
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.
 

megor

New Member
Hey everyone, I am new to both, this forum and OBS. I have the same issue discribed in this thread. I wanna send the OBS-output to a video conferencing software. This is zoom in my case. I would use CamTwist as a "Syphon Bridge" to accomplish that. The problem seems to be a closed loophole that was used by syphon to transmit video streams. I am a bit confused about that justification because I am using a syphon client on my Mac to grab my Canon Camera live view with the App "Camera Live" and sent it via syphon to CamTwist. It is also possible to grab the Camera Live Syphon-Output in OBS as a source. It works on both my new 16" MacBook with Catalina Version 10.15.2 and on my old MacBook with Sierra 10.12.. Thus streaming video from one app to another through a syphon client is possible. Shouldn't then OBS be able to do this, too? And if not, what is the difference to Camera Live outputting a Syphon-Video-Stream? Thanks for help!
 

megor

New Member
Syphon Inject is not fully functional above MacOS 10.14.
ok, thanks. But there must be a way, since camera live and cam twist are working? Wouldn't it be possible to use the exact same method as camera live does? In the end it's only a video stream, in't it? As soon as Camera Live detects my Canon, its Syphon Output shows up in CamTwist. Maybe the attached screenshot helps?
 

Attachments

  • Camera Live Syphon.jpg
    Camera Live Syphon.jpg
    541.3 KB · Views: 1,406

andr3w

New Member
I recently went through this process, and started putting together some documentation on how to get OBS output to display into a virtual camera. I've been able to output to a null display device and capture that with CamTwist, which kinda cuts out the middle man with OBS... Anyways, someone might find some of the sub-pages on here useful: https://github.com/andrewodri/iphone-to-macos-camera
 

megor

New Member
Thx andr3w but this is too complicated for me, I guess. What is camera live doing differently then obs? Why can it stream via syphon directly into another app on a mac?
 

Hannson

New Member
Hey everyone, I am new to both, this forum and OBS. I have the same issue discribed in this thread. I wanna send the OBS-output to a video conferencing software. This is zoom in my case. I would use CamTwist as a "Syphon Bridge" to accomplish that. The problem seems to be a closed loophole that was used by syphon to transmit video streams. I am a bit confused about that justification because I am using a syphon client on my Mac to grab my Canon Camera live view with the App "Camera Live" and sent it via syphon to CamTwist. It is also possible to grab the Camera Live Syphon-Output in OBS as a source. It works on both my new 16" MacBook with Catalina Version 10.15.2 and on my old MacBook with Sierra 10.12.. Thus streaming video from one app to another through a syphon client is possible. Shouldn't then OBS be able to do this, too? And if not, what is the difference to Camera Live outputting a Syphon-Video-Stream? Thanks for help!

It's weird before the recent update with Zoom I was able to use Cam Live and Camtwist on Zoom to use my mirrorless m50, but since the update few days ago on Zoom I can't use my CamTwist or Zoom isn't detecting Camtwist anymore. Im trying to use OBS now but the virtual cam is only on Windows. Wondering if anyone experienced the same
 

Weskus

New Member
I simply did it by setting OBS screen (with multiple scenes) on one Mac desktop screen and sharing that screen on the video conferencing app (Whereby). Began using the OBS today :-]
 

Venicenerd

New Member
Wouldn’t it be easiest if OBS gave us the option to output a virtual cam stream right out of the box? With all the recent uptick in Zoom usage that should be a much requested feature, no?
 

themapetre

New Member
Hi, is there the plugins Virtual Cam for Mac? I just want to put OBS in Zoom to custom my meetings. Thks! Cause when I put Zoom in OBS, I've too much latency.
 

iRandy

New Member
I think starting with Zoom v4.6.10, Zoom does not load load virtual camera devices any more. It's not mentioned in their release notes, and who knows, it may come back in the future. Until then, you have to downgrade to a prior version to get virtual cameras working again.

I assume this is part of the intense scrutiny Zoom is under for security issues, so downgrade at your own risk.
 
Top