Skip to content

v1.1.67

Choose a tag to compare

@github-actions github-actions released this 06 Sep 02:33
· 13 commits to main since this release

Compatibility - choose this first

Platform OBS version Download
Windows 32.2.x obs-vdoninja-windows-x64-setup.exe (recommended) or obs-vdoninja-windows-x64.zip
Windows 32.0.x or 32.1.x obs-vdoninja-windows-x64-obs32.0-32.1-setup.exe or obs-vdoninja-windows-x64-obs32.0-32.1.zip
Linux 32.2.x obs-vdoninja-linux-x86_64.tar.gz
macOS (Apple silicon) 32.2.x obs-vdoninja-macos-arm64.pkg (recommended) or obs-vdoninja-macos-arm64.zip

Do not mix the Windows builds: OBS 32.2 uses FFmpeg 8, while OBS 32.0-32.1 use FFmpeg 7. This release has no prebuilt package for OBS 31.x or older and makes no compatibility promise for future OBS versions beyond 32.2.x.

Install

Changes

Fixed

  • Stop media measurements before exporting captures so probe teardown does not create false audio continuity failures.
  • Rebase native receive timestamps after cached-keyframe jumps so live video is not scheduled seconds ahead and does not inflate OBS audio buffering.
  • Build macOS OpenSSL dependencies for the OBS macOS 13 baseline and reject packages that silently require a newer OS.
  • Replace read-only bundled files during macOS upgrades and resolve bundled dylibs beside the plugin instead of through build-machine paths.
  • Release the Mach host-port reference acquired by every system CPU meter sample on macOS.
  • Prioritize repeated NACK requests without expanding repair budgets or deadlines, and expire repairs that outlast the shared pacing wait.
  • Correct RTX/RED packet parsing and native Opus timestamp wrapping during long-running reception.
  • Wait for requested source audio observations when screenshot capture is disabled in the validation harness.
  • Prevent repair backlogs from interrupting keyframe delivery and expiring recoverable packets while the RTP pacer has spare capacity.
  • Resolve OBS headers installed below the include directory advertised by Arch pkg-config files.
  • Respect custom XDG configuration directories in Linux per-user installation and removal.
  • Keep unit-test RTC headers out of the native publisher build when libdatachannel is installed in a system include directory.
  • Prevent the synthetic VP9 alpha publisher from deadlocking when retiring viewer peers or shutting down.
  • Follow the selected native OBS runtime into /usr or /usr/local when installing on Linux, and clean both prefixes when uninstalling.
  • Bundle the Linux libdatachannel runtime privately and remove build-machine library search paths from release packages.
  • Remove Linux plugin copies from multiarch and legacy system directories during uninstall, including the private runtime.
  • Reject incompatible native OBS versions, Snap installs, and unresolved runtime dependencies before installing the Linux package.
  • Restored native reception from browser publishers that negotiate a separate media peer over an existing data channel, while retaining stale-session checks.
  • Prevented recurring low-bitrate NVENC keyframe freezes by retaining a 4 Mbps minimum RTP pacing rate without changing the encoder bitrate or shared packet-burst limit.
  • Repaired VP9 alpha publisher test headers, optional alpha-plane writes, and RTP SSRC signaling, and prevented duplicate OBS module loading in the source stress harness.

Added

  • Add packet-reordering regression tests, an opt-in impaired-network runner, and an OBS-clocked pixel-counter fixture to isolate rendering from source-decoder timing.
  • Record real Linux OBS/browser frame, render, encoder and network-stress measurements, with strict regression tests for performance counters and reproducible native receiver recording/recovery tools.
  • Add an Arch/AUR development source recipe with package build, real media, pacman install/reinstall/removal, and OBS initialization checks.
  • Test the native archive installer against a fully installed official Ubuntu OBS package in an isolated container.
  • Initialize the packaged Linux plugin with OBS 32.2.0–32.2.2 in CI, verify source registration and repeated native receiver creation/destruction, and enforce a shutdown timeout.
  • Require real native media and alpha-composition tests in Linux builds, and add an optional live alpha-site smoke test for dual-track decode, viewer reload, and clean shutdown.
  • Validate the same Linux release binary against official OBS 32.2.0, 32.2.1, and 32.2.2 runtimes, with 32.1.2 and 32.0.4 as incompatible-version controls.
  • Run the Linux release build on main and pull requests, with isolated install/uninstall regression tests and an extracted-package ELF loading and OBS API compatibility gate.

Validation limits

  • Two-hour Mac screen-capture testing remained connected but failed smooth-playback criteria under heavy local load; combined packet loss/reordering also remains a measured limitation despite improved repair scheduling.
  • Software VideoToolbox 1080p60 performance is content-dependent. Windows GameCapture hardware features and actual macOS 13 execution were not verified on the Mac test host; encoder quality, adaptive-bitrate, and protection defaults remain unchanged.
  • See docs/macos-publishing-validation.md and docs/linux-receiver-timing-isolation.md for measured results, audio/presentation limitations, and reproducible checks.

Verification

  • SHA-256 checksums are provided in checksums.txt.