# OBS Virtual Camera



## spiwak2005 (Sep 30, 2020)

Just noticed a new feature in (I think) the latest update of OBS. It lets you "Start Virtual Camera" just like you would "Start Streaming". Then in Zoom or Google Meet, you can select that virtual camera feed as your camera. Also just realized that this could be the next Zoombombing technique - you've prevented people from sharing their screen, but now they can just use OBS to send their screen to Zoom, etc. Aargh!


----------



## CrazyTechie (Sep 30, 2020)

This is why give the kids Chromebooks.  Except for one of my schools....

I actually used the virtual camera from OBS when we first switched to distance learning to do a green screen background with Google Meet since it doesn't offer that like Zoom does. 

In any event, I think that's a classroom management issue rather than a technology issue. Something for the teacher and admin to resolve rather than us edu IT folk.


----------



## macsound (Oct 1, 2020)

spiwak2005 said:


> Just noticed a new feature in (I think) the latest update of OBS. It lets you "Start Virtual Camera" just like you would "Start Streaming". Then in Zoom or Google Meet, you can select that virtual camera feed as your camera. Also just realized that this could be the next Zoombombing technique - you've prevented people from sharing their screen, but now they can just use OBS to send their screen to Zoom, etc. Aargh!


Looks like a great feature because what some people think of as "streaming" might not fit everyone's needs. Allowing OBS to show up as a virtual webcam really fixes those issues!


----------



## TheaterEd (Oct 2, 2020)

I do like the idea of being able to use my canon on a tripod for one of my actors in an upcoming production of Clue. The idea of Wadsworth giving his run down at the end without actually running around..... Dang, this is giving me some complicated ideas.....


----------



## Calc (Oct 2, 2020)

Nice! This was possible before using NDI Tools, but it's nice that it's now built-in!


----------



## dvsDave (Oct 5, 2020)

TheaterEd said:


> I do like the idea of being able to use my canon on a tripod for one of my actors in an upcoming production of Clue. The idea of Wadsworth giving his run down at the end without actually running around..... Dang, this is giving me some complicated ideas.....



@RunningDogProductions is also doing Clue virtually this fall! We are looking at grabbing the portion of the screen during a zoom call and inserting it into an OBS feed, with the background changing to represent the room. At least that's the idea right now.


----------



## Malabaristo (Oct 6, 2020)

dvsDave said:


> @RunningDogProductions is also doing Clue virtually this fall! We are looking at grabbing the portion of the screen during a zoom call and inserting it into an OBS feed, with the background changing to represent the room. At least that's the idea right now.



I've played with this a little bit and the resolution gets pretty disappointing if you have more than a couple people on the call. Might be better with a 4k monitor or something like that, but there's still only so many pixels to go around. My current thought is to use OBS Ninja to bring everyone in as separate streams at full resolution. This obviously requires more bandwidth and processing power for the computer running OBS, but it does give a lot more control. I haven't had a chance to mock this up yet and see how much of a headache it becomes with an assortment of student's home internet connections...

Since that is just one way, you would use the virtual cam output from OBS to feed into another instance of OBS Ninja that goes in the other direction. There was an article somewhere that explained this better than I'm doing, but I'm having trouble finding it at the moment. Basically OBS Ninja uses sender and receiver URLs. The actors all use unique sender URLs to get to OBS which uses all the corresponding receiver URLs. For the monitor feed, the person running OBS uses the sender URL in combination with the virtual camera, and all of the actors use the one shared receiver URL in a separate tab or window to view the output from OBS. Note that this is all peer to peer, so the central computer has to send out separate copies of the stream to each actor. That means that you need just as much upload bandwidth as download--so many/most home internet connections are likely to choke at this part.


----------



## StradivariusBone (Oct 6, 2020)

This was possible with the Mac version of OBS, is this now in Windows?


----------



## dvsDave (Oct 6, 2020)

Malabaristo said:


> Since that is just one way, you would use the virtual cam output from OBS to feed into another instance of OBS Ninja that goes in the other direction. There was an article somewhere that explained this better than I'm doing, but I'm having trouble finding it at the moment.


Please let me know if you find that article, would very much like to read it


----------



## Malabaristo (Oct 6, 2020)

StradivariusBone said:


> This was possible with the Mac version of OBS, is this now in Windows?



This has previously been possible with Windows through a 3rd-party plugin. Now there's a built-in version that shows up as just another button next to "Start Streaming" and "Start Recording".


----------



## Malabaristo (Oct 6, 2020)

dvsDave said:


> Please let me know if you find that article, would very much like to read it



Now I'm starting to think I imagined it... maybe I was just piecing together bits from different sources? 

If you play with OBS.Ninja a little, then the description I wrote in my previous comment should start to make sense. If not, let me know where you get stuck and I'll go into more detail.

Also, it helps if you're using the option to generate reusable links for everything. I was starting to lay that all out in a spreadsheet, but I just had the idea that it would be much more user-friendly to build something quick in Google Sites that just has a bunch of buttons labeled, "Click here to be camera 1" and so forth.


----------



## aeh20s (Oct 7, 2020)

Oh man, I wish I knew about OBS ninja two weeks ago. I recorded a virtual gallery tour at my theater with our curator on site and the artist on Zoom through OBS using my iPhone as a wireless camera on the art using iVCam. And everything was great but the artist couldn't see what I was shooting. OBS ninja would have solved that problem. I know what to do if we ever do it again.


----------



## Malabaristo (Oct 17, 2020)

So... I may have gotten ahead of myself with the OBS Ninja excitement. After running a quick test with actual student actors last week, it quickly became apparent that audio in particular was going to be a problem. Some of that probably could be solved by making sure everyone was using headphones and an external mic, but there were enough other little issues with getting people connected that I decided to scrap the whole idea for now. We're running out of time for messing around on this particular show, but I may revisit the idea for other stuff in the future.

My fallback is to use Zoom and take advantage of the fact that I have access to a whole room full of computers that were fairly recently purchased with video editing in mind. They're currently not being used due to 100% virtual instruction. The format of the show is such that there's either all 19-20 actors onscreen at once, or it's a smaller set of 1-5 people. For the parts where it's everybody it's okay to just look like a Zoom meeting, and I'm screen-capturing the standard gallery view for that. That happens on the main computer--which is still using OBS to record and control everything.

For the smaller scenes I'm using five more computers in order to have a specific actor pinned on each one. Those are also running OBS so I can screen capture the Zoom window and send a clean view of that actor back to the main computer via NDI*. That lets me do things like arrange them in a specific way on the screen with control over aspect ratios and sizes, along with having more controlled transitions. Conveniently, the show always returns to the full cast view in between each smaller piece, so I have time to walk around and pin the actors for the next small scene while that part is happening. Since the Zoom audio is the same for every participant, I'm just pulling that from the main computer for every scene. 

These six computers do show up as participants in the Zoom meeting, but the "Hide non-video participants" option in Zoom video settings means they're not visible in the gallery view. That same feature allows me (and the director) to also be in the meeting without being included in the recording. So, I guess I'm actually using seven computers if you count my laptop (since it has a webcam) that I will only use for coms when not recording.

It's kind of a ridiculous but fun setup... I'm tempted to see what would happen if I expanded so each actor always had their own computer, but I don't think the network or the "Master" computer could handle that many NDI streams. Could be fun to push those limits on future productions...

Oh, and another minor thing that more directly relates to the topic of this thread: I'm using the virtual camera into OBS Ninja to send a preview of the actual OBS output to the director.


*In my initial test I had some lip-sync issues using NDI, so I may experiment with using OBS Ninja instead to see how that compares.


----------

