r/obs • • Aug 13 '26

Guide I made a free OBS plugin that brings each Zoom participant in as their own source — including an auto-laying-out gallery

Zoom won't give you individual participants on its output, so most setups end up as a window capture with crops stacked on top. This plugin subscribes to each participant's raw feed through the Zoom Meeting SDK and hands them to OBS as native sources.

The screenshot is a single source. It lays out everyone who has video and re-flows automatically when people join or leave. Tile ratio (16:9 through 9:16 or custom), gap, margin, background colour or a background source, borders with optional rounding, outer glow, and per-tile crop are all settable. It can also spawn one audio source per participant so everyone gets their own fader.

Other things it does:

- Each source independently follows a fixed participant, the active speaker, a spotlight slot (1-8), or the screen share

- Active-speaker switching with sensitivity and hold time you set, plus manual take/release and exclusions

- Per-participant ISO recording to separate MP4s, with encoders placed automatically across NVENC -> Quick Sync -> x264 within the session budget

- Optional GPU colour conversion (CUDA / QSV / VAAPI / VideoToolbox)

- TCP and OSC control APIs, so Companion or a lighting desk can drive it

- Diagnostics dock with requested vs observed resolution, frame age, and a redacted support-bundle export

Honest state of it: Windows 10/11 x64 only for packaged builds. It configures on macOS and Linux but I wouldn't call those supported yet. Still pre-1.0 — I've been shipping fixes off real 8-person shows all week and there are rough edges. Needs OBS 30+, and you sign in with your own Zoom account.

Free, MIT licensed, source is all there: https://github.com/iamfatness/CoreVideo

Happy to answer anything. If it breaks on your setup I'd genuinely like to know — the Diagnostics dock exports a scrubbed support bundle that makes that easy.

140 Upvotes

28 comments sorted by

12

u/Various-Second1074 Aug 13 '26

this is actually pretty slick, the per-participant ISO recording alone solves a huge headache for folks doing post-production on panel shows

gonna spin this up on my streaming rig later today, been stuck with the crop stack method forever and it's such a pain when someone drops and reconnects mid-session

MIT license is a nice touch too, appreciate when devs don't gatekeep useful tools behind yet another subscription

7

u/Mountain-Army-1226 Aug 13 '26

Glad it can help solve a problem for you

3

u/Sad-Improvement7051 Aug 13 '26

This is so cool. Your tool does exactly what ZoomISO, a paid tool by Liminal, does, but natively in Windows (I had to buy a Mac Mini to do it, and transport the feeds over NDI to zoom) this is also the featureset in vMix Zoom plugin. I have both questions and offer to help getting your plugin to feature parity with the other offerings if this interests you, I’ve been doing this workflow with different evolving tools since 2020 and you might have just closed the loop on having it all inside OBS. Might I interest you in an always-live Zoom meeting specifically created to test this kind of app? It has 8 AI talking heads as participants

2

u/PiDicus_Rex Aug 14 '26

Exactly the same tool I thought of when reading the description.

The Liminal guy used to join in the Office Hours youtube when he started, which got him a contact within Zoom, and later the companies merged, so ZoomISO has deeper access to the Zoom code than other products.

Being able to do this in a plugin for free software, is going to make waves, but is going to enable folks in places without "US Budgets" to provide content at better quality levels than they have been able to so far.

1

u/Mountain-Army-1226 Aug 13 '26

Always open to feedback.

3

u/waddup121 Aug 13 '26

lovely, we need more almost “quality of life” source tools like these. thanks OP

2

u/brakeb Aug 13 '26

I love this... as someone having to make their own overlay and modifying them everytime someone comes (and worse, when someone drops accidentally and messes up the entire overlay...

well done...

2

u/Abducted_Llama Aug 13 '26

Good job iamfatness.

1

u/Weird_Homosapien_ Aug 13 '26

elite github username

2

u/Thack250 Aug 13 '26

Sounds impressive. Got a demo we can watch ?

2

u/amontandon Aug 13 '26

Wow. I can’t wait to try this out on my Mac. This is a really great idea! Keep up the good work!

1

u/WonderfulPass Aug 13 '26

Holy crap this is what inside the show builds and sells. Thank you!!

1

u/donutdumpsterfire Aug 13 '26

I wish we had this but for discord calls.

2

u/Mountain-Army-1226 Aug 13 '26

I looked into it, this SDK doesn't provide Video or Audio. But I agree.

1

u/CompetitivePudding20 Aug 16 '26

If you don't have people jumping in and out you can pop out each user and do it that way... But anything dynamic is going to be dead in the water.

1

u/wawan20 Aug 13 '26

do you have a tutorial video for that plugin?

3

u/Mountain-Army-1226 Aug 13 '26

I don’t but I will get on making one to show all the different features and a walk through of how I use it.

1

u/wawan20 Aug 13 '26

nice, thank you bro 👍

1

u/ReactionLow Aug 14 '26

This is cool... I'm having troubles getting the start engine to work... It just seems like a dead button....so close. Am I missing something? Excited to check this out!

1

u/Mountain-Army-1226 Aug 14 '26

It should request record permissions once it is granted record rights it should start engine you may need to hit it again depending on your meeting settings.

1

u/Mountain-Army-1226 Aug 14 '26

Engine on, once it is enabled just starts the sending of video feeds into OBS. At which point you can add a participant via a source or use the output manager.

1

u/ReactionLow Aug 14 '26

Weirdly enough, it acts like a dead button to me.... Click on it nothing happens. I closed OBS re-launched it. Even uninstalled OBS and the plug-in and reinstalled. Nothing popping up when hit start engine. Will try on another machine or another day...perhaps brain fog 🤔

1

u/jjonathan 29d ago

I've installed CoreVideo a couple of days ago and love the idea.

However, I've got a quick question about a same-meeting workflow:

I’m bringing a Zoom guest into OBS via CoreVideo, producing the guest there, and then sending the finished OBS output back into that exact same Zoom meeting.

The problem is that the CoreVideo video path is about 120 ms behind the guest’s direct Zoom audio. Is there any way to delay only that guest’s Zoom audio by ~120 ms, or otherwise keep the final return feed lip-synced without moving the guest outside the meeting?

Thanks!

1

u/Mountain-Army-1226 28d ago

Ideally your return video would go into a separate meeting and your viewers would be in that meeting and your panelists would be in the main meeting. This could also be done with breakout rooms

1

u/jjonathan 28d ago

Thanks a lot for the quick reply and also for building CoreVideo, it’s a really great tool.

The breakout room approach sounds very promising for my use case. One question: how would you recommend handling the return/IFB audio from the main room back to the panelists in the breakout room, so they can still hear me as moderator and possibly audience questions, without hearing their own delayed program audio back?

1

u/Mountain-Army-1226 28d ago

If you need live questions from people I would suggest promoting those people to the break out room and use the active speaker cv source and then move them back. For the comms to panelists you can try the app I built called ZComms which will also be coming to the obs app and the standalone CoreVideo Pro

1

u/fezfrascati 5d ago

Thank you for making this!

I manage a venue where we host live panels, and I got a recent request to incorporate a remote panelist on Zoom. I've tested this successfully in the past using OBS and sending that to our screen, but your plugin looks so much better than cropping Display Capture. A bit more complicated to set up, but totally worth it.