Support
Documentation
Before opening an issue, check the full documentation site - most configuration questions and architecture details are covered there:
| Topic | Link |
|---|---|
| Installation & build | Installation |
| Configuration | Configuration |
| Zoom Control Dock | Zoom Control Dock |
| Assignment modes (Spotlight, Active Speaker, Screen Share) | Assignment Modes |
| Active speaker debounce | Active Speaker Mode |
| Auto-reconnect | Auto-Reconnect |
| Hardware video acceleration | Hardware Video Acceleration |
| TCP control API | TCP Control API |
| OSC control API | OSC Control API |
| IPC protocol reference | IPC Protocol |
Reporting Bugs
Open an issue at github.com/iamfatness/CoreVideo/issues.
Please include:
- CoreVideo version (shown in OBS log:
[obs-zoom-plugin] Loading plugin v...) - OBS Studio version
- Operating system (Windows 10/11, macOS version, Linux distro)
- Zoom Meeting SDK version (5.17.x or 7.x)
- Steps to reproduce the issue
- OBS log file - in OBS go to Help -> Log Files -> Upload Current Log File and paste the link
- Expected vs. actual behavior
Common Issues
Raw-data permission or stream-count error at runtime
Cause: Raw data access is available through Zoom Meeting SDK apps, but the signed-in account and app entitlements still determine negotiated quality, bandwidth, and stream count. Standard accounts are typically limited to a 30 Mbps incoming video budget; Enhanced Media / HBM can raise that envelope to roughly 100 Mbps. Developers may also need an app-level entitlement flag to test more than a small number of concurrent raw streams.
Fix: Verify the Meeting SDK app is approved or beta-enabled for the account joining the meeting, then confirm the expected bandwidth and developer/app entitlements with Zoom. Treat Enhanced Media / HBM as a production quality and bandwidth tier, not as a hard prerequisite for raw data.
OAuth sign-in or join authentication fails
Cause: The local plugin, published broker, or Zoom Marketplace app environment is out of sync.
Fix:
- Sign out and sign back in from Tools -> Zoom Plugin Settings.
- Confirm the published broker page is available at
https://corevideo.iamfatness.us/oauth/start. - Confirm the Zoom Marketplace app has Public Client OAuth enabled, the redirect URL is
https://corevideo.iamfatness.us/oauth/callback, and Meeting SDK / Embed is enabled for the same environment. - Check the OBS log for
[obs-zoom-plugin]OAuth or SDK JWT errors.
Engine fails to start / IPC connection timeout
Cause: ZoomObsEngine could not be launched or located.
Fix:
- Confirm
ZoomObsEngine(.exeon Windows) is in the same directory as the plugin. - On macOS, remove quarantine:
xattr -d com.apple.quarantine ZoomObsEngine - On Linux, ensure execute permission:
chmod +x ZoomObsEngine - Check the OBS log for
[obs-zoom-plugin]launch failure messages.
Blank / black video from a participant
Cause: Participant camera is off, or the subscription was dropped.
Fix:
- Confirm the participant has their camera enabled in Zoom.
- Set On video loss -> Hold last frame in source properties to avoid going black on brief drops.
- Click Refresh in the participant list and re-subscribe.
No audio from a participant
Cause: Incorrect audio mode or participant is muted.
Fix:
- Set Audio Channels to Mono or Stereo (not None) in source properties.
- Confirm the participant is unmuted in Zoom.
- If using Isolate Audio, confirm the correct participant ID is selected.
- Check the OBS audio mixer - the track may be muted or set to Monitor Only.
Auto-reconnect triggers but never succeeds
Cause: The underlying error (auth failure, app entitlement issue, network) is permanent.
Fix:
- Check the OBS log for the
RecoveryReasonand error codes. - If the reason is
LicenseError, see the raw-data permission or stream-count issue above. - If the reason is
AuthFailure, sign out and sign back in from Tools -> Zoom Plugin Settings. - Click Cancel Recovery in the Zoom Control dock, resolve the root cause, then re-join manually.
TCP or OSC control API not responding
Fix:
- Confirm port numbers in Tools -> Zoom Plugin Settings match your client (defaults: TCP 19870, OSC 19871).
- Both servers bind to
127.0.0.1(loopback) - external connections are not supported by default. - Check for
TCP control server unavailableorOSC server unavailablein the OBS log - another process may own the port.
Feature Requests
Feature requests are welcome as GitHub issues. Search existing issues first. Label your request enhancement.
Zoom Bandwidth and Enhanced Media / HBM
CoreVideo does not require Enhanced Media / HBM simply to access Meeting SDK raw data. Quality and concurrency are still bounded by Zoom account and app entitlements:
- Standard accounts commonly operate within a 30 Mbps incoming video envelope.
- Enhanced Media / HBM can raise the incoming video envelope to roughly 100 Mbps.
- Standard 1080p feeds are typically about 4-6 Mbps each.
- 100 Mbps can support roughly 16 standard 1080p feeds, or about 8 high-bitrate / 60 fps feeds.
- Developers may need a separate app entitlement flag for testing more than a small number of raw streams; end users should not need that developer flag.
Security
For security vulnerabilities, do not open a public issue. See SECURITY.md for the responsible disclosure process.