No really, Vdo.ninja is actually a free resource that does WebRTC which means that all the communications are peer-to-peer and encrypted which is great. More importantly, they support a full 1080p connection so it won’t work in low bandwidth systems, but it is excellent if you are doing podcasts.
There are a few tricks here from various YouTube folks:
- VDO.Ninja. This is the configuration site that is the rendezvous point that connects your guest to your machine. If you are using OBS Studio then you are Director. Congratulations!
- The main thing to do is to create your room and add a password, then you can create an invitation with an encrypted password which is great, and put that in a Calendar entry just like Zoom
- The big trick here is that you will see your guests arrive at the director view https://vdo.ninja/?director=rt if the Room name is RT. You might want to obscure the room name in addition to adding the password which can be obscured in the invitation.
- You copy that view URL which should be something like https://vdo.ninja/?view=<random letters> and then you go to OBS Studio and then choose Add Browser and then you paste in the URL. This automatically brings both the audio and video from the browser into OBS that’s pretty cool.
- One thing to note about the way that OBS works is that graphics elements are by default called by reference and when you change the shape all the graphics change, but you can change the layout in individual scenes. So be careful not to accidentally delete text that is used somewhere else.
- The other gotcha is that you have the OBS Studio Virtual Camera you can feed it in as the director in the Director view, if you do not want them to see the produced output, then you can click on the Gear icon to the right of the virtual camera and choose instead of the default Internal and Outpute Selection is Program Output. Just change it to Output Type Source and get your Video camera so they just see you.
- The final gotcha is that the VDO.ninja can get the camera, but it can’t get the audio output of OBS Studio. If you want to do that, fire up something like NDI Input and do some virtual cable routing. I don’t find that that needed that since VDO.ninja does pretty good mixing, that is it can pick up your microphone and all the guests as well.
- You can also if you want some more cool things like color graphic backgrounds and also do animations as well which you can create say with Apple Motion and GIMP.
Virtual Camera Only Routes Video to Guests, use Audio Monitor Plugin
One limitation is that while the Browser Source captures audio and video and MacOS Capture does the same, the Virtual Camera output by OBS is just video. There is now a new plug-in that is a new audio routing system. Before this required all kinds of jumps to do this because you want the Zoom Audio to go to OBS, this actually just works if you select Zoom as MacOS Capture, so the only remaining part is how to get OBS Output to Zoom (and have there be no feedback), so here is what you have to do:
- Start OBS Studio and Start Virtual Camera.
- Start Zoom and for Video select OBS Camera
- Now in OBS Studio choose Add Source and pick MacOS Capture and then if you select Application or Window Capture, you will get the audio into OBS.
OBS-NDI needs at least 4.11 and NDI Tools 5.1 to work with OBS on Apple Silicon
So how to get the Audio out, you need a virtual audio cable and I’ve used NDI before, but it turns out there are all kinds of issues and until this month, you had to run the Intel OBS on Apple Silicon but the latest release fixed this:
- Virtual Audio Cable. VB-CABLE is a donationware that does this.
- NDI Audio with obs-ndi. This is another system that allows this kind of routing. This is pretty easy as you can brew and install obs-ndi obs so you have all the components.
- The only bummer is that NDI is closed source, so you have to manually download it from them first
Now the trick is to get the right OBS-NDI and if you do brew info –cask obs-ndi, you can see the version is 4.9, so to get the right one you have to do a manual download, but it looks like if you dig down deep into the GitHub issues:
- NDI Plugin needs an update for Apple Silicon. But you need 4.11.1 and you need the NDI Tools, the NDI install from their site does not work.
- Copy a Lib. Alternatively, you can copy a dynamic link library by copying a certain library into /usr/lib which doesn’t seem very portable. This is also discussed in issues that seem to affect the new OBS 29.0
- NDI Runtime not found. This is the problem that has to do with a dynamic library name change and it being not found.
I don’t quite how to make it portable and I’m still confused about how it works, but I’m close now. The main trick is to load the 4.11.1 version and it all runs, but now I have to learn what it does exactly. I know one thing that NDI does is to create new virtual video and audio sources. If you run NDI on your iPhone then that will appear as a remote audio source. I’m guessing what I need to do now is to make the audio output of OBS look like an NDI source but see right now I see performance issues with NDI for more than three users, so who knows, I had to go back to Zoom for our three-person podcast.