NV Broadcast
for Linux & macOS

Open-source, unofficial NVIDIA Broadcast alternative with AI background removal, blur and replacement, auto framing, eye contact, noise removal, recording, and local meeting transcription.

Terminal
$

Look professional. Sound professional.

Works with Zoom, Chrome, OBS, Discord, FaceTime. One app does it all.

Blur your background

3 AI models. Real-time.

Sound like a studio

Bass, warmth, compression. GPU.

AI writes your notes

Whisper + summarizer. Local.

Background Removal

Blur, replace, or remove. Three AI models to choose from.

Eye Contact

Natural correction or Gaze Lock while reading your screen.

Face Relighting

Auto-match your face lighting to the background.

Video Enhancement

Skin smooth, denoise, sharpen. Four beauty presets.

Auto-Frame

AI keeps you centered when you move around.

Virtual Camera

Shows up in Zoom, Chrome, OBS, Discord automatically.

Voice Studio

Bass, treble, warmth, compression. 6 presets. GPU-accelerated.

Noise Removal

AI removes background noise from your mic in real-time.

Mic Test + VU Meter

Record 5 seconds, play it back. See your live audio level.

AI Meeting Notes

Whisper transcribes. AI extracts action items. 100% local.

Recording + NVENC

Record video + audio to MP4. Hardware encoding. One click.

GTK4 + Adwaita, built for Linux

Dark-themed native interface with resizable preview, real-time controls, and status monitoring.

NV Broadcast
REC
ZEUS MODE
33 fps
Processing
Zeus (480p + CuPy)
Camera
EMEET SmartCam S600
Resolution
1920 x 1080 @ 30fps
Background
Blur (Strength: 70%)
Broadcasting to /dev/video10
GPU: RTX 3080 | VRAM: 1.2 GB

Camera to virtual output in milliseconds

GStreamer captures, ONNX Runtime infers, CuPy composites, v4l2loopback outputs.

Camera
MJPEG capture
GStreamer
Decode + appsink
AI Inference
ONNX + CUDA
Composite
Fused CUDA kernel
Virtual Cam
v4l2loopback

9 modes, from killer to potato

Real benchmark numbers at 1080p. 5 built-in profiles (Meeting, Streaming, Presentation, Gaming, Clean) plus custom profiles.

CUDA Max
720p Quality
22
fps @ 1080p
45 ms frame time
Full resolution inference
GPU
CUDA Balanced
720p skip 2
34
fps @ 1080p
29 ms avg
67% effects ratio
GPU
CUDA Perf
720p skip 2
33
fps @ 1080p
30 ms avg
50% effects ratio
GPU
CPU Quality
720p OpenCV
15
fps @ 1080p
66 ms frame time
SIMD optimized
CPU
CPU Light
720p skip 2
33
fps @ 1080p
30 ms avg
Frame reuse
CPU
CPU Low End
720p skip 3
37
fps @ 1080p
27 ms avg
Maximum skip
CPU

One command, any distro

Detecting your system...
bash
$ git clone https://github.com/Hkshoonya/nvidia-broadcast-linux.git
$ cd nvidia-broadcast-linux
$ ./install.sh

Works on all distros. The installer auto-detects your package manager and installs dependencies. Re-running `./install.sh` upgrades the existing install in place.

bash
# Download and verify v1.5.2
$ (
set -euo pipefail
WORKDIR=$(mktemp -d)
cd "$WORKDIR"
$ BASE=https://github.com/Hkshoonya/nvidia-broadcast-linux/releases/download/v1.5.2
$ PACKAGE=nvbroadcast_1.5.2-1_all.deb
$ wget --https-only "$BASE/$PACKAGE" "$BASE/nvbroadcast-native-upgrade" "$BASE/SHA256SUMS.packages"
$ awk -v package="$PACKAGE" '$2 == package || $2 == "nvbroadcast-native-upgrade" { print; found++ } END { exit found != 2 }' SHA256SUMS.packages | sha256sum -c -
$ chmod 755 nvbroadcast-native-upgrade
# Protected upgrade when installed; normal package-manager path when clean
$ if dpkg-query -W -f='${db:Status-Abbrev}' nvbroadcast 2>/dev/null | grep -q '^i'; then sudo ./nvbroadcast-native-upgrade "./$PACKAGE"; else sudo apt-get install --yes --no-remove "./$PACKAGE"; fi
)

For Ubuntu, Debian, Pop!_OS, Linux Mint, and derivatives. The commands above verify both downloads and automatically protect native v1.4.0-and-older upgrades with the release-bound helper. Read the verification details

bash
# Download and verify v1.5.2
$ (
set -euo pipefail
WORKDIR=$(mktemp -d)
cd "$WORKDIR"
$ BASE=https://github.com/Hkshoonya/nvidia-broadcast-linux/releases/download/v1.5.2
$ PACKAGE=nvbroadcast-1.5.2-1.noarch.rpm
$ wget --https-only "$BASE/$PACKAGE" "$BASE/nvbroadcast-native-upgrade" "$BASE/SHA256SUMS.packages"
$ awk -v package="$PACKAGE" '$2 == package || $2 == "nvbroadcast-native-upgrade" { print; found++ } END { exit found != 2 }' SHA256SUMS.packages | sha256sum -c -
$ chmod 755 nvbroadcast-native-upgrade
# Protected upgrade when installed; normal package-manager path when clean
$ if rpm -q nvbroadcast >/dev/null 2>&1; then sudo ./nvbroadcast-native-upgrade "./$PACKAGE"; else sudo dnf install --assumeyes "./$PACKAGE"; fi
)

For Fedora, RHEL, CentOS, and Rocky. The commands above verify both downloads and automatically protect native v1.4.0-and-older upgrades with the release-bound helper. Read the verification details

bash
# Snap Store (released separately after validation)
$ sudo snap install nvbroadcast
$ sudo snap refresh nvbroadcast

For systems with Snap support. Snap Store updates are released separately after artifact inspection, provenance verification, Store review, and candidate testing. v1.5.2 is now available in the stable channel; `snap refresh nvbroadcast` upgrades in place with camera-format recovery, strict-Snap meeting transcription, verified runtime ownership, and cumulative contributor credits. The arm64 Snap remains CPU-only.

bash
# Install system deps then run the installer
$ sudo pacman -S python gtk4 libadwaita gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad v4l-utils
$ git clone https://github.com/Hkshoonya/nvidia-broadcast-linux.git && cd nvidia-broadcast-linux && ./install.sh

For Arch, Manjaro, EndeavourOS. Arch wiki: v4l2loopback

zsh
# macOS (Apple Silicon)
$ git clone https://github.com/Hkshoonya/nvidia-broadcast-linux.git
$ cd nvidia-broadcast-linux
$ ./install_macos.sh
# Upgrade later: install the newer .pkg after this one-time source setup

Existing configured installs can download the update package: NVBroadcast-1.5.2-1.pkg
Requires Apple Silicon, macOS 13+, Homebrew, Python 3.11-3.13, and OBS Studio. After installing OBS, open it once, start and stop Virtual Camera, then close OBS. Intel macOS is not included in v1.5.2 because a secure current MediaPipe wheel is unavailable.

Linux

  • Any distro (Ubuntu, Fedora, Arch, Pop!_OS...)
  • NVIDIA GTX 1060+ for GPU modes
  • Python 3.11+, GStreamer, GTK4
  • PipeWire for virtual mic

macOS

  • macOS 13 Ventura or newer
  • Apple Silicon (M1+) required
  • Homebrew, Python 3.11-3.13
  • OBS Studio for virtual-camera output
  • CPU modes (no NVIDIA needed)

Camera + Audio

  • USB webcam, 720p+ recommended
  • Any microphone (USB, built-in)
  • 360p to 4K supported

Help keep NV Broadcast maintained

I lead and maintain NV Broadcast with help from community reports, testing, documentation, ideas, and code. The first goal is 10 monthly sponsors so growing usage can be matched with predictable time for compatibility fixes, contribution review, package testing, and reliable releases.