I might suggest a (name brand!) HDMI -> USB capture card. That should take audio too, so now you have both in OBS. Connect OBS's Monitor to the room's PA, connect its fullscreen projector to the room's projector, and now you have the room back to functioning. And you still have all the other functionality of OBS.
DON'T USE CHEAP USB CAPTURES!!! They'll probably work, but they're deceptive at best, and usually poor quality. USB 3 connector, and sold as such, but a USB 2 chip inside that must compress the video before it leaves the card, just to shove it through USB 2, for just one example.
Expect to spend about $100 per channel for decent quality.
Or if you have several physical sources, you can get a multiple-input internal card. I like these:
Acasis PCIe capture card supports multiple HD resolutions (such as 4K60Hz), bringing crystal-clear visual effects to the audience. It also supports quad HDMI or SDI simultaneous input, allowing you to flexibly adjust between different camera angles or input devices. Solve your professional video...
www.acasis.com
Drivers are here:
PCIE CAPTURE CARD AC-4HDMI (Quad HDMI-1080P60).zip AC-4SDI (Quad SDI-1080P60).zip AC-4HDMI PLUS (Quad HDMI-1080P60).zip AC-4SDI PLUS (Quad SDI-1080P60).zip AC-VS2583 (2 HDMI-4K60).zip AC-VS2584 (1HDMI+1SDI-1080P60).zip AC-VS007 (Dual HDMI-1080P60).zip AC-VS014 (2HDMI+2SDI-1080P60).zip AC-VS049...
www.acasis.com
I've never actually tried to get audio through those though. They say they do, but I've always had it turned off because my audio comes from an external console via a dedicated USB line-in. (Behringer UCA202) To get the HDMI audio into that console, I have an HDMI audio extractor that sits inline with the relevant cable run.
If you're okay with being dependent on OBS *as* your switcher, for both the room and a stream, then you probably don't need anything else. No rack of IT gear, just that (good!) computer and OBS. Run each individual source directly into the computer, and it directly feeds every destination.
I run a twice-monthy meeting that has a combination of local and remote participants, with the occasional presentation, and I record it too. I actually use two copies of OBS for that, on the same machine:
- OBS Master takes the camera(s), visual aids, etc., and produces a live stream to the remote people. It operates just like any other live stream, except that it's not actually streaming from OBS. Instead, it has the Virtual Camera turned on, and the meeting platform takes that as if it were a physical camera. I'm using Jitsi, because it's free, open-source, with no accounts and no limits, but it works just as well with Zoom, Skype, or any other meeting platform.
- OBS Slave window-captures the meeting, or the Master's VCam, one scene for each, and feeds the local display from its fullscreen projector, and records that.
- An external DAW (Digital Audio Workstation: essentially a pro sound studio, all in one app) handles all of the audio so that OBS doesn't. Mics, meeting send/return, local speakers, etc. The only audio in OBS is whatever videos there might be in the Master, that go immediately out of its Monitor to the DAW, and the finished soundtrack to record, which goes to a global audio source in the Slave.
And I have enough automation, using the
Advanced Scene Switcher plugin, that the operator *only* has to think about the Master copy of OBS. Its scenes have a naming convention that allows Adv. SS to know which of three modes to switch to, and it sends the appropriate commands to the Slave and the DAW to make that work. Those modes are:
- Camera: Show a camera to the remote meeting, and the meeting window on the local display. Mics are on, and the remote audio squashes the local mics to avoid sending an echo back to the remote people.
- Feature: Show a visual aid to the remote meeting (usually a video), and the same thing on the local display. Mics are off.
- Voiceover: Visuals like Feature, Audio like Camera. This is the tricky one, as there still might be a desired soundtrack. I'm not completely convinced that I've solved this one yet.
To set all of that up, I use a script that starts each thing and tells it what to do, with appropriate delays in between to avoid everything trying to start at once and ending up in a wacky configuration that doesn't work. You can't really do it manually because of all of *that* complexity, but it's easy to manage the script. Once everything is set up, it waits for the user's okay, and then tears it all down again, sensibly.
To avoid OBS complaining about multiple instances, you can use the
--multi
flag when the script starts it.
--profile <name>
and
--collection <name>
so that each one loads the correct settings.
obs --help
manually on the command line to see all of what you can do there. :-)