← VBAN

VBAN / OBS plug-in

VBAN Stream

Bring VBAN audio into OBS with eight inputs and two monitor returns. Development builds add two video inputs, mouse control, and video output.

Windows x64 / macOSOBS plug-in
VBAN Stream by ElkaSoft: eight audio inputs, two monitor returns, two VBAN-Frame inputs, two mouse remotes, and one VBAN-Frame output.

Choose your build

WindowsStablev0.3.6Signed
macOS Stablev0.3.6Not Apple notarized
WindowsDev buildv0.3.5Signing not specified
macOS Devv0.3.5Not Apple notarized
Stable, Dev & signing explained
Need a hand?

Get help with your setup or report a problem.

VBAN Stream with cyan and gold waves, audio and video input features, mouse control, and a VBAN-Frame output.View full size ↗
VBAN Stream 0.3.5 development artwork. Eight audio inputs, two monitor returns, two video inputs, mouse control, and video output.

Eight VBAN audio inputs, two video inputs and two monitor-mix returns for OBS Studio.

An independent plugin by ElkaSoft for OBS Studio.

Receive named VBAN streams with 1–8 channels each directly in OBS. Send the OBS monitoring mix back to two computers, each with its own destination address, UDP port, and stream name. VBAN Stream receives two VBAN-Frame video feeds, such as a VoiceMeeter App View or a remote display, and adds Ctrl-click mouse return from OBS Program in Studio Mode. It also sends the live Program picture to a VBAN-Frame receiver. Windows x64 and universal Mac installers are available.

Windows installer — stable 0.3.6 · Mac installer — stable 0.3.6 · Release page · Download all banners · Installation guide · Report an issue

Windows: digitally signed and timestamped. Mac: unsigned installer / not notarized.

Free and open source under GPL-2.0-or-later. Donations support development and are optional.

Choose from eight banners — circuit or waves designs, horizontal or vertical, with or without the VoiceMeeter / VB-Audio credit.

What's new in 0.3.6

The settings window now has four tabs: VBAN Audio, VBAN Returns, Video inputs and OBS to VBAN Frame. Resize it from its edges or lower-right corner. Each tab scrolls when space is limited, while OK, Apply and Cancel stay visible. Switching tabs preserves edits and Apply saves all tabs. Existing settings are preserved.

Download and install

0.3.6 is the stable release. Use the setup installer for your platform.

Installer Platform Signing
Windows setup Windows x64; standard or portable OBS Authenticode signed and timestamped, including the DLL and uninstaller
Mac installer macOS 13+; Apple Silicon and Intel Unsigned / not notarized

Requires OBS Studio 31.1.1 or later. Windows builds are tested with OBS 31.1.1 and 32.2.1. Mac builds run automated native checks on Apple Silicon and Intel. Source code is available on GitHub; release downloads contain ready-to-install packages.

macOS installation

Quit OBS, then open the Mac installer. It installs for your current user into ~/Library/Application Support/obs-studio/plugins.

Stable — unsigned / not notarized. The plugin uses an ad-hoc signature for macOS loading, but neither it nor the installer has an Apple Developer ID signature. See the Mac installation guide for approval instructions and an optional manual ZIP fallback. Automated checks cover both processor types; LAN performance and VoiceMeeter interoperability should also be checked on your own setup before a live production.

Using the Windows installer

  1. Close OBS, run vban-stream-0.3.6-windows-x64-setup.exe, and approve the Windows administrator prompt.
  2. Choose Standard OBS installation (selected by default) or Portable OBS.
  3. Check the detected standard OBS folder, or click Browse to choose your portable OBS root: the folder containing bin, data, and obs-plugins.
  4. Click Next, review the paths, then Install. Restart OBS and open Tools → VBAN Stream Settings.

Both installer modes put the DLL and data inside the selected OBS folder. Standard mode adds a Windows Installed apps entry; portable mode keeps its uninstaller in the plugin's data folder. The installer does not install OBS itself or enable OBS portable mode. Your existing scenes, profiles and VBAN settings are preserved.

Already using the root ZIP? Select the same OBS folder to update it. If you used the ProgramData ZIP, remove that plugin copy before switching to the installer. Setup checks the usual ProgramData location in standard mode to prevent duplicate copies. Close all OBS instances before installing or uninstalling.

Manual ZIP installation

Use one layout and keep only one installed copy. Close OBS before copying files. The root ZIP is the simplest option if you already install plugins by merging folders.

For a normal installation, the root layout is:

C:\Program Files\obs-studio\
  obs-plugins\64bit\obs-vban-audio.dll
  data\obs-plugins\obs-vban-audio\locale\en-US.ini
  data\obs-plugins\obs-vban-audio\vban-audio.png

For portable OBS, use the same layout inside its own root folder. Restart OBS and open Tools → VBAN Stream Settings. The ZIPs also include VBAN-INSTALL.txt.

Requires the Microsoft Visual C++ x64 runtime. Uses the OBS installation's own libobs, frontend API and Qt libraries. Do not copy development dependency DLLs into OBS. The official Windows plugin DLL is digitally signed.

Receive VBAN audio in OBS

Earlier VBAN Audio 0.2.3 settings in OBS Studio showing eight receive slots and two monitor returns with PCM format selectorsView full size ↗
Earlier 0.2.3 interface shown. In VBAN Stream 0.2.4, open Tools → VBAN Stream Settings. Example values shown; use your own IP addresses and matching stream names.
  1. Open Tools → VBAN Stream Settings.
  2. Enter the sender computer's IPv4 address and the UDP listen port (default 6980).
  3. Enable the slots you need. Enter each exact, case-sensitive VBAN stream name. Use Friendly name for the label you want in OBS.
  4. Click Apply. Configure the sender to send to this OBS computer and the same port.
  5. Add Sources + → VBAN Stream, then select the configured stream.

Channels in VBAN Stream Settings shows a small number box for each receiving stream: 2 for stereo, 4 for four channels, or 8 for eight channels. Input format beside it shows the received PCM bit depth or floating-point format. These are the incoming values before OBS downmixing. Receiving counts live streams, not individual channels or OBS source copies. A waiting, disabled or stopped stream shows a dash instead of an old channel count.

Each named stream automatically accepts 1–8 audio channels; there is no channel-count selector. The eight slots are eight separate streams, each of which can carry up to eight channels. One source remains one mixer fader.

To retain all eight channels through OBS, set Settings → Audio → Channels → 7.1 and use an output/recording format that supports it. With OBS set to Stereo, OBS downmixes multichannel input to stereo. Seven-channel input uses a silent eighth channel. The two monitor returns remain stereo.

The source appears as a normal OBS mixer fader. Default source names adopt the friendly name; manually assigned names are preserved. Multiple sources can select the same slot without creating extra network receivers.

One sender/name pair should occupy one enabled slot. Stream names allow 1–16 printable ASCII characters. The stream dropdown stays open while you select it.

Receive VBAN video in OBS

  1. On the sender, choose a VBAN-Frame output, App View or a display, and JPEG or PNG.
  2. Send to the OBS computer's IPv4 address and its UDP listen port (default 6980).
  3. Open Tools → VBAN Stream Settings → Video inputs. Enable Video 1 and/or Video 2.
  4. Enter each sender's IP and exact stream name. Give each input a friendly name, then Apply.
  5. Choose Sources + → VBAN Video and select the configured input. Add a second source for the other view.

The two video inputs are separate from the eight audio slots. Both use the same UDP listen port. Status shows Receiving, resolution and JPEG/PNG after a complete picture has decoded. Formats are detected automatically; images retain their original colours and PNG transparency. The settings window uses a dark theme.

Video is displayed at its native resolution, up to a 4096 × 2160 image or the same pixel count in portrait orientation. Before reception, a source shows a black 1280 × 720 picture. After three seconds without a complete frame it goes black at its last dimensions, then recovers automatically when reception resumes.

Each video source is video-only. Add VBAN Stream for accompanying audio. Each input has a Mouse control card for optional VoiceMeeter App View control.

Hover over a video's status for incomplete frames, decode errors and queue drops. If these rise steadily, reduce the sender's frame rate/resolution, try JPEG, and check the LAN. Incomplete images are dropped without displaying partial pictures. Protocol and testing details.

Control VoiceMeeter from Program

  1. Receive the sender's App View through a VBAN Video source and place it in your Program scene.
  2. On that computer, enable an incoming VBAN-TEXT stream. Use the OBS computer's sender IP, choose a command stream name (for example Command1), and enable Manage Mouse command from the stream's format/sample-rate context menu.
  3. Open Tools → VBAN Stream Settings → Video inputs. Under the matching video, enable Mouse control for Video 1 or Mouse control for Video 2, enter that computer's destination IP, its VBAN UDP listen port, and the exact incoming command stream name. Click Apply.
  4. Turn on Studio Mode. Hold Ctrl and left-click, right-click or drag inside the live App View in the Program pane. On Mac, use the physical Control key. The Preview pane remains available for arranging the scene.

Each video has its own mouse destination. The command stream name is separate from the video stream name. Use Mouse control: send from this PC to select a LAN adapter if automatic routing chooses the wrong one. Mouse return starts disabled.

Normal scene positioning, scaling, manual cropping, rotation, groups and nested scenes are supported. An overlapping visible source blocks clicks through it; filters and Crop to Bounding Box disable interaction on that source. Use App View at its original sender size so the returned pixel coordinates match.

Release Ctrl, press Esc or leave the picture to end a drag. Changing scenes, leaving Studio Mode, losing focus or losing the video also releases the remote button. Keyboard typing, the mouse wheel, projectors and fullscreen Program are not supported. Sent counts outgoing UDP packets, not confirmed reception.

Mouse return is a preview feature: please test it with your VoiceMeeter version before using it during a live show. Setup and implementation details.

Send OBS Program to VBAN Frame

  1. Open Tools → VBAN Stream Settings → OBS to VBAN Frame.
  2. Enable Send OBS Program. Enter the receiving computer's IPv4 address, UDP listen port and exact incoming video stream name.
  3. Select the OBS computer's LAN adapter if needed. Start with JPEG, a 1280 × 720 resolution limit, 15 fps, quality limit 80 and 24 Mbps. Leave Adapt JPEG quality to maintain frame rate checked initially.
  4. Click Apply. In VBAN-Screen or another VBAN-Frame receiver, select the OBS computer as sender and use the same stream name and port.

This sends the live Program picture, including scene changes and transitions. Studio Mode is optional for sending video. It does not include the OBS interface, Preview pane or audio. For sound, configure a monitor return separately.

The resolution limit preserves aspect ratio and never enlarges the picture. Adaptive JPEG lowers quality when needed to fit the selected frame rate and network limit; the quality setting is its maximum. Uncheck it for fixed quality. For lower traffic, try 12 Mbps or 6 Mbps, then reduce resolution or FPS if the picture becomes too soft. The network limit is this stream's budget, not your LAN's speed. Static pictures use a cached refresh roughly once a second.

JPEG and PNG encoding use the CPU. PNG is lossless but much larger and slower for detailed moving pictures; use JPEG for motion. FPS and network settings are upper limits: encoding, image size and receiver performance can reduce actual frame rate. The sender keeps the newest queued picture so old frames do not build up.

JPEG quality 100 can still produce large transfers: each changing picture is a complete image. Version 0.3.5 spaces individual video packets across the frame interval to reduce bursts at the receiver. JPEG file-size optimization retains the selected quality. Actual playback and error counters must be checked at the receiving app. Mbps means megabits per second: 80 Mbps is about 10 megabytes per second. Zero local send errors do not rule out missing packets at the receiver.

Sending starts disabled. It currently requires an SDR OBS video colour space. Disable this output and click Apply before changing OBS video settings or profiles. Live status shows measured outgoing FPS, estimated Mbps including packet overhead, and the JPEG quality actually used. Low FPS is normal for a still picture. Hover over status for encode time, send time, capture-to-send age and error counters. These measure local work; Sending does not confirm remote reception or display. If moving pictures are slow, compare these numbers with the receiver. Lower resolution, FPS or fixed JPEG quality if frames are repeatedly skipped; for an image-budget error, use JPEG or increase the network limit if the LAN allows it. Avoid including the received copy in the same outgoing Program scene. Protocol and testing details.

Send the monitor mix back

  1. Open the VBAN Returns tab in the settings window.
  2. Under Send from this PC, select this OBS computer's LAN address and adapter. Automatic lets Windows select the route.
  3. Enable Return 1 and/or Return 2. Choose PCM 16-bit or PCM 24-bit for each return, then enter its destination IPv4 address, incoming VBAN port, and stream name.
  4. Leave Return audio buffer at 60 ms initially, then click Apply.
  5. In OBS Advanced Audio Properties, use Monitor Only or Monitor and Output for sources you want in the return. Monitor Off excludes a source.
  6. In VoiceMeeter, enable an incoming VBAN stream with the matching name, port, and sender IP (the OBS computer).

Both returns carry the same stereo monitor mix, including source filters and fader gains, encoded at their independently selected PCM bit depths. Existing settings retain PCM 24-bit. Changing bit depth does not change the sample rate: with OBS set to 48 kHz, both returns remain at 48 kHz. Each has an independent socket and packet counter.

In tested Windows OBS 32.2.1, the normal program mute button does not mute headphone monitoring, and the return follows that behavior. Use Monitor Off to remove a source from the return. OBS 31.1.1 honors the monitoring capture mute flag.

Returns send silence when no monitored source contributes. Sending means Windows accepted outgoing packets; it does not confirm remote reception. The applied source and destination addresses appear beside each return. An unavailable selected adapter produces an error instead of silently switching.

Avoid feedback: do not feed either received return into a VBAN stream that comes back into OBS.

Buffering and clicks

The return buffer is adjustable from 20 to 200 ms, default 60 ms. Increasing it gives delayed source callbacks more time to arrive, at the cost of additional monitor delay. Try 100 ms if Late audio frames keeps increasing during steady playback. VoiceMeeter's incoming network buffer is a separate setting.

Version 0.2.2 also doubles capture capacity to 128 blocks per monitored source and corrects small source-clock differences through gradual interpolation. It fixes gaps/overlaps at the former 1 ms clock-rounding threshold. The worker requests Windows multimedia audio scheduling priority.

Hover over a return's status to see:

Counter What it tells you
Capture queue overflows / queue peak Source capture is outrunning the return worker.
Late audio frames Source audio arrived after its mixing deadline.
Clock corrections Small drift adjustments; increasing normally is expected.
Clock discontinuities Source timestamps jumped or restarted.
Clipped samples The combined mix exceeded full scale. Lower source faders.
Invalid float samples A source/filter supplied non-finite audio.
Socket errors Windows rejected an outgoing packet.
Send gaps over 20 ms / largest gap The local sender paused or was delayed.

Compare changes during steady playback. Startup, source changes, and Apply can affect counters. Audio counters follow current source lifetimes; send/clipping counters reset when return settings are applied. A quiet upstream source is valid silence, so these counters cannot identify every audible problem.

If local counters stay steady but VoiceMeeter reports reception errors, check the network and receiver, including its VBAN network-quality/buffering setting. Clean local counters alone do not prove packet delivery. The plugin does not change firewall, VPN, router, or audio-device settings.

Supported input audio

Unsigned PCM8; signed PCM16/24/32; Float32 and Float64; one to eight channels. Seven channels are padded to eight for OBS's 7.1 layout. Channel order is preserved. Compressed/non-audio VBAN, invalid payloads, non-finite floats, and more than eight channels are rejected. Packet parsing checks the 28-byte header and 1464-byte limit.

The eight-input receiver retains its existing 30 ms jitter target and approximately 10 ms output blocks, independently of the new return buffer. It tracks lost, reordered, duplicate, late, invalid and unsupported packets plus under/overruns. Missing input packets can cause silence and clicks upstream of the return. No buffer reconstructs audio that never arrives.

Support and credits

Use GitHub Issues for bug reports. Include OBS/plugin versions, sample rate, return buffer, and which counters increase. Remove private addresses or other personal information from logs before posting.

Donate on Ko-fi, or use the Donate button in Tools → VBAN Stream Settings.

Built on the official OBS plugin template and the public OBS source API. Implements the VBAN PCM specification directly; no VoiceMeeter Remote DLL is required.

Independent community project; not an official OBS Project or VB-Audio product. GPL-2.0-or-later; see LICENSE.

For source code, build instructions, and development documentation, visit the project on GitHub.

Release notes

Windows / macOS Stable v0.3.62026-10-11

A stable release for Windows and macOS, with a settings window that fits smaller screens.

Download

  • Windows — stable, digitally signed: download vban-stream-0.3.6-windows-x64-setup.exe. The plugin DLL, setup and uninstaller are signed and timestamped.
  • macOS — stable, unsigned / not notarized: download vban-stream-0.3.6-macos-universal.pkg. Supports Apple Silicon and Intel. The plugin carries an ad-hoc loading signature, not an Apple Developer ID signature.

Close OBS before updating. On Windows, choose your standard or portable OBS root. On Mac, install for your current user. Existing scenes and VBAN settings are preserved.

What's changed

The settings are now arranged in four tabs: VBAN Audio, VBAN Returns, Video inputs and OBS to VBAN Frame. You can make the window smaller, scroll each page and still reach OK, Apply and Cancel. Moving between tabs keeps your edits.

All existing features remain: eight audio inputs with up to eight channels per stream, two stereo monitor returns, two VBAN Frame video inputs, two mouse-control routes, and OBS Program video output.

Requires OBS Studio 31.1.1 or later. Windows: x64. Mac: macOS 13 or later, Apple Silicon or Intel. Read VBAN-INSTALL.txt or INSTALL-MAC.txt for setup and Mac approval instructions.

All downloads and release notes on GitHub ↗

Windows / macOS Dev build v0.3.52026-10-08

VBAN Stream 0.3.5 brings the tested Windows packet-spacing changes to a matching Windows and universal Mac development release.

Installers

Quit OBS before installing. This remains a development pre-release; stable stays at 0.2.2.

Included features

  • Eight VBAN audio inputs, with one to eight channels per stream.
  • Two independent stereo monitor-mix returns.
  • Two VBAN Frame video inputs for compatible app views or screen feeds.
  • Two mouse-control routes associated with those video inputs.
  • OBS Program video output over VBAN Frame using JPEG or PNG.

Video packets are individually paced, with a bounded decode pause after large images. The Windows 0.3.4 LAN test was confirmed smooth and responsive with no glitches. Version 0.3.5 retains the Windows implementation and adds equivalent short-wait precision on Mac after native testing exposed a large-image transmission timeout.

Banners and social images

Download the complete artwork ZIP — eight PNGs and eight full-resolution JPEGs, each JPEG under one megabyte. Circuit and wave designs, horizontal and vertical, with or without the VoiceMeeter corner credit. The previous artwork remains available in the repository.

All downloads and release notes on GitHub ↗