Host a guest panel on a Mac with OBS and Meshcast
Build a guest panel on a Mac with VDO.Ninja and OBS, return the finished program to guests, and stream through Meshcast or another RTMP destination.
This guide is for a host who wants to bring remote guests into OBS, arrange them into a panel, let them see the finished program, and stream the show to one or more platforms.
The simple version: VDO.Ninja brings in the guests. OBS builds the show. Meshcast or your usual streaming service sends the finished show to the audience.
Keep the OBS Program return out of the VDO.Ninja Scene captured by OBS. Otherwise, the program captures itself and creates an endless hall-of-mirrors effect.
Before you start
You need:
A Mac running current OBS Studio. For the most compatible Virtual Camera on Mac, use OBS 30 or newer on macOS 13 or newer.
A VDO.Ninja room for the guests.
A Meshcast account if you want RTMP ingest or multi-destination restreaming.
Headphones for every person who will speak.
At least one private or unlisted destination for the rehearsal.
Choose sensible Mac settings
Apple silicon (M1, M2, M3, M4, or newer)
Apple VT H.264 hardware encoder, 1080p30 or 720p30
Intel Mac
x264 at 720p30, 2,500–3,500 Kbps, preset veryfast
If an Intel Mac reports encoding lag, try superfast or ultrafast. These presets use less CPU but reduce picture quality at the same bitrate. RTMP is usually the simplest workflow on an Intel Mac, but it does not turn x264 into hardware encoding.
For WHIP, OBS may switch the audio encoder from AAC to FFmpeg Opus. That message does not necessarily mean the H.264 video encoder changed. See OBS WHIP output settings and hardware-accelerated video encoding.
1. Create the room and guest links
Open VDO.Ninja, choose Create a Room, and open the Director's Room. Send each guest a separate invite link and ask them to wear headphones.
Give regular guests stable seats by adding a unique preferred slot to each invite:
Add &slotmode to the director link, or keep Assign a slot to new guests automatically enabled in the Mixer. Do not give two guests the same slot link. A preferred slot cannot be occupied by two people at once.
Read more about &slot and the VDO.Ninja Mixer.
2. Build the panel layout
Open the Mixer from the director room and create the layout you want. Use the numbered slots as permanent seats for recurring guests.
For a mix of landscape cameras and vertical phone video:
Make the portrait slot taller or slightly wider.
Use Cover when filling the frame matters more than showing every edge.
Use the per-slot crop controls to remove empty space.
Test with a real phone before the show.
3. Add the clean Scene output to OBS
In the Mixer, copy the clean Scene/output link intended for OBS. Do not copy the Mixer control-page URL.
In OBS:
Add a Browser Source.
Paste the clean Scene/output link.
Match its width and height to the OBS canvas, normally 1920 × 1080 or 1280 × 720.
Enable Control audio via OBS if that option is shown.
Confirm the source moves an OBS audio meter, then make and listen to a short recording.
One mixed Scene source is simpler than loading every guest separately. Avoid loading the same guest in multiple browser sources because every duplicate creates another connection.
See How to get permanent links for reusable Scene URLs.
4. Return the finished program to guests
In OBS Virtual Camera settings, choose Program, then start OBS Virtual Camera.

Use the director as a performer and select OBS Virtual Camera as the director camera. Keep that return publisher Unset in the Mixer so it is not included in the Scene captured by OBS.
Add &broadcast to each guest invite, not to the director or Scene link:
Guests still publish their camera and microphone to the director, but receive the director's Program video instead of every guest video.

OBS Virtual Camera carries video, not the OBS audio mix. The safest starting setup is:
VDO.Ninja handles conversation audio.
OBS Virtual Camera returns Program video only.
Every speaker wears headphones.
If guests must hear clips or music from OBS, create a separate media-only return bus using a virtual audio device. Exclude all host and guest microphones from that return. Never send the full Program audio mix back into the room.
For more routing options, see Send an OBS return feed to guests and &broadcast.
5. Send OBS to Meshcast
For the least-fussy Mac workflow, start with RTMP.
In the Meshcast dashboard, copy the complete RTMP URL. It resembles
rtmp://host:1935/live/pk_example.In OBS, open Settings → Stream and choose Custom.
Put the URL only through
/livein Server, such asrtmp://host:1935/live.Put the private
pk_...Publishing Key in Stream Key.Use H.264 video, AAC audio, CBR rate control, and a two-second keyframe interval.
Start streaming.
Never share a private pk_... Publishing Key. Public watch links use the public st_... Stream ID instead.
To send the show to several platforms, configure the destinations in Meshcast before starting OBS. For Restream.io or another provider, choose a custom destination and enter the RTMP or RTMPS URL and key supplied by that provider. Destination availability depends on the Meshcast account tier.
You can also keep your existing streaming provider as the OBS destination. VDO.Ninja and the OBS guest-panel workflow do not require Meshcast.
Rehearsal checklist
Quick fixes
The picture repeats inside itself
Remove the Program-return publisher from the VDO.Ninja Scene captured by OBS.
A guest enters the wrong frame
Give every seat a unique &slot=N invite and make sure the requested slot is free.
A phone guest looks tiny
Use a custom Mixer layout with a taller portrait slot and adjust Cover or crop.
A guest hears an echo
Use headphones and do not return the full OBS audio mix to the room.
The Mac gets hot or OBS reports encoding lag
Close unused browser sources, use 720p30, lower bitrate, and use Apple VT H.264 on Apple silicon or a faster x264 preset on Intel.
OBS rejects the Meshcast WHIP URL
Confirm OBS Service is WHIP, not Custom RTMP, and use the private Publishing Key as the Bearer Token.
Last updated
Was this helpful?