Using OBS for Theatre... Please help!

rfritz

New Member
Hey! Firstly, thank you for reading this. In the time since I first starting setting up OBS, I've combed through this forum and found the information so incredibly helpful and insightful. So here's the situation:

We're performing theatre for kids through Zoom (Zoom is good for us because we can see the audience and interact directly with the kids after the show). I've got OBS and my digital audio cables all hooked up with Zoom and working fine. I used obs.ninja to grab video input from 3 actors, key out the background, composite us together, add music/videos, and send it all to Zoom. It's great!

The issue is that the actors need to be able to hear the music, and would really benefit from seeing themselves and each other in the final output. When we try to Zoom we run into issues with feedback and hearing our own delay. Right now, from obs.ninja to OBS to Zoom is about a 2 second delay. Is there any way we can all see and hear the OBS preview without running into those issues? I've thought about have the actors Skype together and pulling the video from that using NDI tools, so they can at least see each other in a Skype call, but they'd still need to hear the music from OBS.

Thanks for your help!
 

rfritz

New Member
I've figured out how to screen share in obs.ninja. If the actors are all seeing and hearing each other in obs.ninja, could it be possible to share OBS output, minus their own delayed audio, to obs.ninja, while still streaming the entire thing to Zoom?
 

Lawrence_SoCal

Active Member
For non-actors, the typical quick/cheap/easy recommendation is to use earphones. That way the audio output the person (actor in this case) is hearing isn't picked up by the microphone. Otherwise you are dealing with noise cancellation which is complicated by the fact that you would broadcast from 1 point, and hear it back from multiple actors with varying amounts of latency (nature of Internet) .. noise cancelling that is not simple/easy, that I'm aware of ... hopefully someone can give you better advice.. I'm just commenting on the general technical implications.

Ideally you'd handle the noise cancellation on the sender's end... but that means feeding the audio to something that would do the filtering, before audio ends up in mobile device/OBS.ninja... hence simply wearing earphone(s)
Hopefully someone who knows much more than I will comment/advise
 

rfritz

New Member
For non-actors, the typical quick/cheap/easy recommendation is to use earphones. That way the audio output the person (actor in this case) is hearing isn't picked up by the microphone. Otherwise you are dealing with noise cancellation which is complicated by the fact that you would broadcast from 1 point, and hear it back from multiple actors with varying amounts of latency (nature of Internet) .. noise cancelling that is not simple/easy, that I'm aware of ... hopefully someone can give you better advice.. I'm just commenting on the general technical implications.

Ideally you'd handle the noise cancellation on the sender's end... but that means feeding the audio to something that would do the filtering, before audio ends up in mobile device/OBS.ninja... hence simply wearing earphone(s)
Hopefully someone who knows much more than I will comment/advise
Thanks! We rehearsed today with headphones, which prevented the feedback looping back into OBS. The issue we're having is that the actors are getting their own voices in their ears, with a small delay, which is super distracting. What would be ideal is some way to stream the output back to the actors with somehow filtering out their inputs, but keeping the other audio input (music). And then still sending everything to Zoom for the audience.
 

LiveTV

New Member
A couple questions: Are the actors in different locations (presumed) or at the same place? Can you identify where all the delay is coming from? How long does it take to capture video, process through OBS, get to Zoom, and finally reach its destination. I have put a webcam into OBS, used VirtualCam to get to Zoom and I get a delay of under 1/2 second (seen locally, that is).

What if you use a 4 way Skype call to provide communications between actors (and your PC) which should allow them to see each other and something from you. They will hear combined audio minus their own mics and you supply music from your end of the Skype call. Your instance of Skype will hear full audio (less music) but you re-mix that in with OBS. Now take the Skype screen and make the actors' windows into sources for OBS using Skype audio (I'm a little fuzzy on how that audio will connect but I believe it possible). In OBS you do the chroma keying to combine the actors and the output of OBS goes to Zoom. Now all that lag through Zoom does not matter. Ideally you will use an instance of VirtualCam to pass composited video back to Skype for the actors to see. Will that work?

I haven't used Skype for quite a while but if it can take audio from one source and video from a VirtualCam then I think this will work. Oh yeah, for actors, use ear buds.
 

rfritz

New Member
A couple questions: Are the actors in different locations (presumed) or at the same place? Can you identify where all the delay is coming from? How long does it take to capture video, process through OBS, get to Zoom, and finally reach its destination.

Yes! The actors are all in different locations. There's a very small delay from OBS to Zoom. When I joined the Zoom call from a separate device to watch, it was about a 1 second delay. That's no problem at all. The issue is getting a feed back to the actors without their own voices.

What if you use a 4 way Skype call to provide communications between actors (and your PC) which should allow them to see each other and something from you. They will hear combined audio minus their own mics and you supply music from your end of the Skype call. Your instance of Skype will hear full audio (less music) but you re-mix that in with OBS.

That's a great suggestion. For that to work, I suppose I'd have to supply music to the actors from a source outside OBS. That's a possibility, but would that require me to control OBS and very quickly play a sound file elsewhere (like from iTunes or just windows explorer) for the actors? I'm worried that might be hard to synchronize well.

It seems like a big issue is that I can't use any of the monitor features while connected to Zoom through Virtualcam and virtual audio cables. Because I'm not actually using the "stream" feature, I can't seem to use any of the controls under advanced audio settings. I've thought about changing to the following setup...

Removing virtualcam and the audio cables. Instead, actually streaming to something like Twitch, and then from a separate device, sharing that Twitch stream to Zoom with NDI tools. I could just share the window from a separate computer. Then on my first device I could have the music (and not their voices) come through my monitor and screenshare or use virtualcam to connect my desktop to OBS.ninja (or Skype) so my actors can see the output and hear the music. From start to destination, there would be a bigger delay (about 7 seconds when I tested it), but that wouldn't matter so much. That delay would just be for the audience, and not for the actors. Have I missed anything with this, or is there something I'm messing up?
 

LiveTV

New Member
Yes! The actors are all in different locations. There's a very small delay from OBS to Zoom. When I joined the Zoom call from a separate device to watch, it was about a 1 second delay. That's no problem at all. The issue is getting a feed back to the actors without their own voices.



That's a great suggestion. For that to work, I suppose I'd have to supply music to the actors from a source outside OBS. That's a possibility, but would that require me to control OBS and very quickly play a sound file elsewhere (like from iTunes or just windows explorer) for the actors? I'm worried that might be hard to synchronize well.

It seems like a big issue is that I can't use any of the monitor features while connected to Zoom through Virtualcam and virtual audio cables. Because I'm not actually using the "stream" feature, I can't seem to use any of the controls under advanced audio settings. I've thought about changing to the following setup...

Removing virtualcam and the audio cables. Instead, actually streaming to something like Twitch, and then from a separate device, sharing that Twitch stream to Zoom with NDI tools. I could just share the window from a separate computer. Then on my first device I could have the music (and not their voices) come through my monitor and screenshare or use virtualcam to connect my desktop to OBS.ninja (or Skype) so my actors can see the output and hear the music. From start to destination, there would be a bigger delay (about 7 seconds when I tested it), but that wouldn't matter so much. That delay would just be for the audience, and not for the actors. Have I missed anything with this, or is there something I'm messing up?
 

LiveTV

New Member
This gets to an issue I have with OBS. I work in live television so I take for granted that whether audio or video, there is never just 1 output. There should be a way to push scenes out another stream or virtualcam. There should be a way to set up auxes in the audio mixer and allow them to be output as a stream or virtual system device. Controllability of different resources is limited too and the developers should think about having one OBS server controllable by more than one user interface (or just an undocked windw) over TCP/IP. That way I could have a person adjusting video levels on cameras while I am cutting the show. What you are trying to do is jamming a LOT of function into a single laptop where the tools are still not flexible enough or do not have enough points of control.

Here's an idea. Use two laptops. The first one runs the Skype call (or Zoom if you like). It takes audio from a device like an iPad plugged into the 3.5mm input. We'll figure out how it gets video from OBS prior to the Zoom stream. So it handles all the actor synchronization, sound to their ears, and the presentation of them in a 4-box. Now you take an HDMI output from that laptop, use a converter to get it to USB-3 and send that to the 2nd laptop with OBS which cuts out the actors as video sources, keys out the green, composites them, and passes the output on to Zoom. Audio from the first to the second laptop should pass in the HDMI/USB stream but if not, a simple 3.5mm patch from the headphone out of the 1st to the line in of the 2nd should do it. Now you have independent control of the music, Skype (or actor's Zoom) session, and the OBS/Audience Zoom session.
 

rfritz

New Member
Thank you to everyone that responded and offered help! Here's the setup that we've settled on. I'll be using Skype with NDI tools to pull my actors video inputs into OBS. OBS.ninja ended up being less reliable than Skype for this project, not because it doesn't work, but because the actors had a hard time seeing each other in the OBS.ninja "room." So, Skype with NDI tools to OBS, and then I'm using NDI tools to also share my OBS output back to the actors in Skype. I'm using a virtual audio cable as my monitoring device, and then setting that as my Skype mic, so the actors can hear music and sound cues (but not their own voices!). I'm streaming to a private Twitch channel, and because this has to end up in Zoom, on a totally separate computer, I'm using NDI tools to capture the Twitch stream and use it in Zoom. Whew.
 

rfritz

New Member
Hi!

How did you achieve the public-actor interactions after the show?

Hey! It's been a journey. We're starting in Zoom where a host meets and greets the audience. Meanwhile, the actors have met separately in Skype, which is mixed in OBS using NDI tools and streamed to YouTube Live. The host posts the YouTube link in the Zoom chat and directs the audience to follow the link to watch the show. At the end of the show, the audience is invited to go back into the Zoom meeting. At that point, the actors log into the Zoom meeting and interact with audience.

This is the best way we've found to meet our needs. There's more detail, but that's the basic framework. If you want the specifics of each step, let me know!
 

EdK

Member
Hi rfritz,
Just stumbled upon your posting. I'm doing something very similar (musical theatre with in-studio and zoom participants) and running into similar issues. Would love to confer with you outside this forum to minimize clutter and perhaps share ideas/solutions with each other. I'm the musical director of the shows but also have the most technical experience.
Ed
 

EdK

Member
Hello everyone,

I'm doing something similar to what rfritz posted but with an added layer of complexity.

I have several Zoom participants with which I need to integrate live actors located in a studio into OBS.
In order to capture the Zoom participants video and audio, the computer running OBS is simply logged in as another Zoom participant. That computer captures the Zoom window in OBS as a source using "Window Capture". It's also capturing the live actors in the studio via an external camera in OBS as an source using "Video Capture Device". Audio from the external camera is muted.

All audio (from Zoom and in-studio) is being mixed together in VoiceMeeter Potato. i..e. Zoom audio output is captured as input to a VoiceMeeter virtual input channel. In-studio microphones are first mixed together in an external mixer which is being sent into the computer running OBS via the computer's line-in port and captured by VoiceMeeter's hardware input channel.

Audio output in VoiceMeeter is being routed to four destinations. 1) As input to OBS via virtual cable 2) Computer speaker output going into an external PA system in the studio (minus the in-studio microphones to prevent feedback) 3) A second sound card for monitoring all audio by the tech staff and 4) Input to the Zoom session running on the OBS computer via VoiceMeeter virtual output so all the Zoom participants can hear all the audio.

The in-studio actors need to see the Zoom participants. This is currently being accomplished by simply having laptop in the studio logged as another Zoom participant. The built-in laptop camera allows the Zoom participants to see what's taking place in the studio (as it's simply another Zoom participant). And the actors in-studio can see all the Zoom participants. The microphone and speaker in that laptop are muted. The camera in that laptop is only being used for the Zoom session. The reason for this (rather than simply watching the stream) is because there is too much of a delay for the Zoom participants to see/hear the stream.

Everything is working fine except when watching the actual stream (on another computer which is representing an audience member), It's experiencing echo of only the Zoom participants.

Obviously I've got something mis-configured somewhere but I can't seem to determine what/where. I attached a diagram of my setup. Perhaps a visual representation may help.

Thanks in advance for any help.

Ed
 

Attachments

  • Stream Picture.pdf
    43.4 KB · Views: 42

Ishatix

New Member
Hi Ed,
I'm not sure if I understand correctly; however, in your diagram you appear to be sending audio from the Zoom meeting to Voicemeeter, and then from there back into the Zoom meeting again... would this not be the cause of the echo? I.e. Zoom participants will hear audio both directly from Zoom, but then repeated via the Voicemeeter "participant" which is also sending the same audio to the entire meeting?
 

EdK

Member
Hi Ishatix,

Yes...that is correct. I'm pretty sure that's the cause of the echo. I know it's not an ideal situation. If the in-studio actors had in-ear monitors instead of hearing the audio from the speakers, then I probably wouldn't have this issue. Unfortunately, don't have the budget for that. If this setup was going to be more permanent, then perhaps could justify the cost of in-ear monitors but this is basically a temporary situation during COVID and hopefully we can be back in theatre by the end of the year.

Since I posted, been thinking about this a little more. I think what might be happening is.....because all the input is being routed and processed through voicemeeter etc first, it's delaying the signal a bit before being fed back into the studio and the in-studio mics are picking up the delayed audio and being remixed/processed a 2nd time.

Also since I posted, I learned of a 'gate' macro that's available for voicemeeter where I might be able to automatically mute the in-studio mics if there's an audio signal beyond a specific threshold coming in from Zoom. Maybe that will be enough to prevent the in-studio mics from picking up the audio from the in-studio speakers.
 

Ishatix

New Member
OK, the gate sounds like an interesting idea, but I guess it will be difficult to achieve the ideal balance, since what you are trying to cut out isn't so much "noise" as the feedback signal that the actors want to actually hear. I.e. if this level is too high, it will be difficult to cut out with a gate, whereas if it's too low, the actors won't be able to hear what they're supposed. Would be interested to hear how you get on with it in practice though. Good luck!
 

EdK

Member
I'm going to experiment with it. Haven't had a chance to try it yet. But from reading the documentation on it, I can mute a different channel than the one I'm 'gait-ing'. i.e. If a signal beyond a particular threshold appears in channel 1 (Zoom), supposedly I can mute channel 2 (in-studio mics). When the signal drops below the threshold, then unmute the mics. Both are never active at the same time. I'll update this thread when I get chance to try it.
 

Ishatix

New Member
Do the actors need to hear the Zoom session all the time? Or is it possible to split it out into different segments as rfritz describes in his last post above?
If you can split out the acting part from the Zoom interaction, then could the actors join the Zoom meeting individually via personal devices using standard earphones/headphones?
 
Top