Skip to main content
Part of WAVE PIPELINE

Stream fromAny Desktop

Professional streaming software for macOS, Windows, and Linux. Enable SRT, NDI, and OMT protocols in 3 clicks.

Local sources, professional protocols, cloud management. The missing piece in your streaming infrastructure.

<16ms
OMT Latency
3
Protocols
6+
Source Types
Free
Open Source

3 Clicks to Professional Streaming

No complex configuration. Just select, choose, and stream.

1

Select Source

Choose from cameras, screen capture, files, NDI sources, or virtual cameras

2

Choose Protocol

Pick SRT for reliability, NDI for broadcast quality, or OMT for sub-16ms latency

3

Go Live

Click "Start Streaming" and your stream appears in the cloud dashboard instantly

Stream from Any Source

Access all your local media with one application

📹

Local Cameras

🖥️

Screen Capture

📁

Video Files

📡

NDI Sources

🎥

Virtual Cameras

🎤

Audio Devices

Professional Protocols

Choose the right protocol for your use case

SRT

20-300ms

Secure Reliable Transport with encryption

  • AES encryption
  • Error correction
  • Network resilient

NDI

<1ms

Broadcast-quality video over IP

  • Broadcast quality
  • Multi-camera
  • Network transport

OMT

<16ms

WAVE proprietary ultra-low latency

  • Sub-16ms latency
  • VMX codec
  • Frame-perfect

Code Examples & Integration

Get started quickly with these practical examples

Desktop App Installation

Install WAVE Desktop via package managers or direct download:

macOS (Homebrew):
brew install --cask wave-desktop
# Or download directly: https://downloads.wave.online/desktop/macos/latest
Windows (Winget):
winget install WAVE.Desktop
# Or download installer: https://downloads.wave.online/desktop/windows/latest
Linux (APT/DNF):
# Ubuntu/Debian
curl -fsSL https://downloads.wave.online/linux/apt/gpg | sudo apt-key add -
sudo add-apt-repository "deb https://downloads.wave.online/linux/apt stable main"
sudo apt update && sudo apt install wave-desktop

# Fedora/RHEL
sudo dnf config-manager --add-repo https://downloads.wave.online/linux/rpm/wave.repo
sudo dnf install wave-desktop

Pairing Code Authentication

Securely connect your desktop app to your WAVE cloud account:

// 1. Launch WAVE Desktop
// 2. Click "Pair with Cloud Account"
// 3. Visit: https://wave.online/dashboard/nodes/add
// 4. Enter the 6-digit code displayed in the app (e.g., "AB-CD-EF")

// API endpoint for programmatic pairing:
POST https://api.wave.online/v1/nodes/pair
Headers:
  Authorization: Bearer YOUR_API_KEY
  Content-Type: application/json

Body:
{
  "pairing_code": "AB-CD-EF",
  "node_name": "Office Desktop",
  "location": "San Francisco HQ"
}

Response:
{
  "node_id": "node_abc123",
  "status": "paired",
  "expires_at": "2024-01-15T10:30:00Z",
  "secure_token": "eyJhbGciOiJIUzI1NiIs..."
}

Screen Capture API Configuration

Configure screen capture programmatically via the Desktop API:

// Desktop API runs on localhost:8080 when app is running
const desktopApi = 'http://localhost:8080/api/v1';

// List available displays
const displays = await fetch(`${desktopApi}/sources/displays`).then(r => r.json());
// Returns: [{ id: "display_0", name: "Built-in Display", width: 1920, height: 1080, primary: true }]

// Configure screen capture
await fetch(`${desktopApi}/sources/configure`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    source_type: "screen_capture",
    display_id: "display_0",
    capture_cursor: true,
    capture_audio: true,
    frame_rate: 60,
    region: { x: 0, y: 0, width: 1920, height: 1080 } // Optional: capture region
  })
});

// Start streaming the configured source
await fetch(`${desktopApi}/stream/start`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    protocol: "omt",
    quality: "high",
    bitrate: 8000000 // 8 Mbps
  })
});

NDI Source Discovery & Selection

Discover and stream from NDI sources on your network:

// Desktop API: Discover NDI sources
const ndiSources = await fetch('http://localhost:8080/api/v1/sources/ndi/discover', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    timeout: 5000, // Discovery timeout in ms
    groups: ["public"], // NDI groups to search
    extra_ips: ["192.168.1.100"] // Additional IPs to check
  })
}).then(r => r.json());

/* Response:
{
  "sources": [
    {
      "name": "CAMERA_1 (PTZ Camera)",
      "ip": "192.168.1.50",
      "url": "ndi://192.168.1.50/CAMERA_1",
      "groups": ["public"],
      "video": { "width": 1920, "height": 1080, "frame_rate": 59.94 },
      "audio": { "channels": 2, "sample_rate": 48000 }
    }
  ]
}
*/

// Connect to NDI source
await fetch('http://localhost:8080/api/v1/sources/configure', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    source_type: "ndi",
    ndi_source: "CAMERA_1 (PTZ Camera)",
    bandwidth: "highest", // "lowest" | "highest" | "audio_only"
    enable_tally: true // Send tally to NDI source
  })
});

Remote Node Management API

Manage desktop nodes remotely from your cloud dashboard:

// Cloud API: List all desktop nodes
const nodes = await fetch('https://api.wave.online/v1/nodes', {
  headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
}).then(r => r.json());

/* Response:
{
  "nodes": [
    {
      "node_id": "node_abc123",
      "name": "Office Desktop",
      "status": "online",
      "last_seen": "2024-01-15T10:30:45Z",
      "system": {
        "os": "macOS 14.1",
        "cpu_usage": 45.2,
        "memory_usage": 62.8,
        "gpu_usage": 38.5,
        "network_upload": 8500000 // bytes/sec
      },
      "current_stream": {
        "protocol": "omt",
        "bitrate": 8000000,
        "viewers": 1247,
        "uptime": 3600
      }
    }
  ]
}
*/

// Start stream on a node remotely
await fetch('https://api.wave.online/v1/nodes/node_abc123/stream/start', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    source_id: "camera_0",
    protocol: "srt",
    quality_preset: "production",
    destination: "stream_key_xyz"
  })
});

// Update node settings remotely
await fetch('https://api.wave.online/v1/nodes/node_abc123/settings', {
  method: 'PATCH',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    max_bitrate: 10000000,
    hardware_encoding: true,
    auto_reconnect: true,
    health_check_interval: 30
  })
});

Multi-Source Switching Configuration

Switch between multiple sources with transitions and overlays:

// Configure multiple sources
const sources = [
  { id: "camera_0", type: "camera", device: "USB Camera" },
  { id: "screen_0", type: "screen", display: "display_0" },
  { id: "ndi_0", type: "ndi", ndi_source: "CAMERA_1" }
];

// Add sources to scene
for (const source of sources) {
  await fetch('http://localhost:8080/api/v1/scene/sources', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      source_id: source.id,
      source_config: source,
      position: { x: 0, y: 0, width: 1920, height: 1080 },
      visible: source.id === "camera_0" // Only camera visible initially
    })
  });
}

// Switch to different source with transition
await fetch('http://localhost:8080/api/v1/scene/transition', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    target_source: "screen_0",
    transition_type: "fade", // "cut" | "fade" | "slide" | "wipe"
    duration_ms: 500
  })
});

// Add overlay (logo, lower third, etc.)
await fetch('http://localhost:8080/api/v1/scene/overlays', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    overlay_type: "image",
    source: "/path/to/logo.png",
    position: { x: 1720, y: 980, width: 180, height: 80 }, // Bottom-right
    opacity: 0.9,
    z_index: 100
  })
});

Offline Recording Setup

Record locally without internet connection, auto-upload when reconnected:

// Configure local recording
await fetch('http://localhost:8080/api/v1/recording/configure', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    enabled: true,
    output_directory: "/Users/username/Videos/WAVE",
    format: "mp4", // "mp4" | "mov" | "mkv"
    codec: "h264", // "h264" | "h265" | "vp9"
    quality: "high", // "low" | "medium" | "high" | "lossless"
    split_interval: 3600, // Split into 1-hour files
    auto_upload: true, // Upload to VAULT when online
    upload_priority: "wifi_only" // "always" | "wifi_only" | "manual"
  })
});

// Start recording
await fetch('http://localhost:8080/api/v1/recording/start', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    source_id: "camera_0",
    metadata: {
      title: "Conference Recording",
      tags: ["conference", "2024"],
      description: "Annual company conference keynote"
    }
  })
});

// Query recording status
const status = await fetch('http://localhost:8080/api/v1/recording/status')
  .then(r => r.json());

/* Response:
{
  "is_recording": true,
  "duration": 1847, // seconds
  "file_size": 1024000000, // bytes
  "current_file": "/Users/username/Videos/WAVE/recording_2024-01-15_10-30-00.mp4",
  "upload_queue": [
    { "file": "recording_2024-01-14_14-00-00.mp4", "progress": 67.5, "eta": 180 }
  ]
}
*/

Hardware Encoder Configuration

Leverage GPU hardware encoding for efficient 4K streaming:

// Check available hardware encoders
const encoders = await fetch('http://localhost:8080/api/v1/system/encoders')
  .then(r => r.json());

/* Response:
{
  "available_encoders": [
    { "name": "h264_videotoolbox", "type": "hardware", "gpu": "Apple M2 Max", "max_resolution": "8K" },
    { "name": "h264_nvenc", "type": "hardware", "gpu": "NVIDIA RTX 4090", "max_resolution": "8K" },
    { "name": "hevc_nvenc", "type": "hardware", "gpu": "NVIDIA RTX 4090", "max_resolution": "8K" },
    { "name": "libx264", "type": "software", "cpu": "Intel i9-13900K", "max_resolution": "4K" }
  ],
  "recommended": "h264_nvenc"
}
*/

// Configure hardware encoding
await fetch('http://localhost:8080/api/v1/encoder/configure', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    encoder: "h264_nvenc", // Use NVIDIA hardware encoder
    preset: "p4", // NVIDIA presets: p1 (fastest) to p7 (slowest/best quality)
    profile: "high", // "baseline" | "main" | "high"
    level: "5.1", // H.264 level
    bitrate: 10000000, // 10 Mbps
    max_bitrate: 15000000, // VBR max
    buffer_size: 20000000, // Rate control buffer
    keyframe_interval: 120, // GOP size (frames)
    b_frames: 2, // Number of B-frames
    ref_frames: 3, // Reference frames

    // Advanced settings
    lookahead: true, // Enable lookahead (NVIDIA only)
    adaptive_quantization: "spatial", // "disabled" | "spatial" | "temporal"
    multipass: "fullres", // "disabled" | "quarter" | "fullres"

    // Quality optimizations
    low_latency: false, // Disable for better quality
    weighted_prediction: true,
    aq_strength: 8 // Adaptive quantization strength (1-15)
  })
});

// Monitor encoder performance
const stats = await fetch('http://localhost:8080/api/v1/encoder/stats')
  .then(r => r.json());

/* Response:
{
  "fps": 59.94,
  "cpu_usage": 15.2, // Low CPU usage with hardware encoding
  "gpu_usage": 68.5,
  "encoder_latency_ms": 8.3,
  "dropped_frames": 0,
  "quality_score": 98.7
}
*/

Enterprise Features

Everything you need for professional live streaming

Ultra-Low Latency Protocols

SRT (20-300ms), NDI (<1ms), and OMT (<16ms) for professional broadcasting

3-Click Streaming

Select source → Choose protocol → Go Live. That simple.

Cloud Sync

Automatic sync with your WAVE account. View and manage streams from anywhere.

Remote Node Management

Manage multiple desktop nodes from cloud dashboard. Monitor health, update settings.

GPU Encoding

Hardware acceleration with H.264/H.265. Encode 4K60 streams efficiently.

Enterprise Security

AES-256 encryption, secure pairing, and SOC 2 compliance.

Protocol Configuration Guides

Detailed setup instructions for SRT, NDI, and OMT protocols

SRT (Secure Reliable Transport)

Best for: Internet streaming, remote contribution, resilient transport

Configuration Parameters

  • Latency (20-8000ms)Higher = more resilient to packet loss. Recommended: 200-500ms for internet, 20-100ms for LAN
  • Encryption (AES-128/256)Enable for secure transmission. Passphrase required on both sender and receiver
  • Mode (Caller/Listener/Rendezvous)Caller: Desktop connects to server. Listener: Server connects to desktop. Rendezvous: Peer-to-peer
  • Packet Size (1316-1456 bytes)Default: 1316. Increase for LAN (1456), decrease for cellular (1100)

Optimal Settings by Use Case

Internet Broadcast
Latency: 500ms
Encryption: AES-256
Bitrate: 5-8 Mbps
Packet Size: 1316 bytes
Low-Latency LAN
Latency: 50ms
Encryption: Optional
Bitrate: 10-20 Mbps
Packet Size: 1456 bytes
Mobile/Unstable Network
Latency: 1000-2000ms
Encryption: AES-128
Bitrate: 2-4 Mbps
Packet Size: 1100 bytes
Network Requirements
  • • Minimum upload: 1.5x your target bitrate (e.g., 12 Mbps for 8 Mbps stream)
  • • Open UDP ports (default: 9710, configurable)
  • • NAT traversal: Use "Caller" mode or configure port forwarding
  • • Firewall: Allow SRT traffic on configured port range

NDI (Network Device Interface)

Best for: Broadcast workflows, multi-camera setups, production environments

Configuration Parameters

  • Bandwidth ModeHighest: Full quality, ~100 Mbps. Lowest: Compressed, ~8 Mbps. Audio Only: For audio-only sources
  • Discovery GroupsOrganize NDI sources. Default: "public". Use groups to segment sources by location/purpose
  • Tally SupportEnable to send program/preview tally lights to NDI sources (cameras, switchers)
  • PTZ ControlControl PTZ cameras via NDI. Supports pan, tilt, zoom, presets, and auto-focus

Optimal Settings by Use Case

Broadcast Production
Bandwidth: Highest
Tally: Enabled
Groups: "production", "cameras"
Network: 1 Gbps+ dedicated
Multi-Room Install
Bandwidth: Lowest (compressed)
Tally: Enabled
Groups: By room/location
Network: Gigabit LAN
Virtual Camera Output
Bandwidth: Highest
Output: NDI source for OBS/vMix
Alpha Channel: Supported
Network: Local host or LAN
Network Requirements
  • Highest Quality: 1 Gbps+ network, ~100 Mbps per stream
  • Compressed: 100 Mbps network, ~8-15 Mbps per stream
  • • Multicast support recommended for multiple receivers
  • • Low-latency switches (avoid Wi-Fi for mission-critical)
  • • MDNs/Bonjour discovery enabled on network

OMT (WAVE Proprietary)

Best for: Ultra-low latency, esports, interactive streaming, sub-16ms delivery

Configuration Parameters

  • Target Latency (8-16ms)Lower = more CPU/GPU intensive. Recommended: 12-16ms for most use cases, 8-10ms for esports
  • VMX Codec SettingsWAVE's proprietary codec. Auto-optimizes for latency vs. quality. Hardware accelerated on compatible GPUs
  • Quality PresetSpeed: Lowest latency. Balanced: Best for most. Quality: Highest quality
  • Frame-Perfect ModeEliminates frame duplication/drops. Essential for competitive gaming, adds 2-4ms latency

Optimal Settings by Use Case

Esports Tournament
Target Latency: 8-10ms
Quality: Speed preset
Frame-Perfect: Enabled
Bitrate: 15-20 Mbps
Interactive Streaming
Target Latency: 12-14ms
Quality: Balanced preset
Frame-Perfect: Optional
Bitrate: 10-15 Mbps
Live Event Coverage
Target Latency: 14-16ms
Quality: Quality preset
Frame-Perfect: Disabled
Bitrate: 8-12 Mbps
Hardware Requirements & Network
  • GPU: NVIDIA RTX 2060+ or Apple M1+ for hardware acceleration
  • CPU: Intel i7/Ryzen 7 minimum (8+ cores recommended)
  • Network: Stable 20+ Mbps upload, low jitter (<5ms)
  • Latency Budget: Internet: +20-50ms, Cloud processing: +5-8ms, CDN: +10-30ms
  • Total Glass-to-Glass: 50-100ms typical (desktop → viewer)

Protocol Troubleshooting Tips

SRT Issues
  • Connection fails: Check firewall/NAT, increase latency, verify passphrase
  • Packet loss: Increase latency buffer, reduce bitrate, check network quality
  • High latency: Lower latency setting, use wired connection, reduce hops
NDI Issues
  • Sources not found: Check mDNS/Bonjour, verify network segment, add manual IP
  • Choppy video: Switch to "Lowest" bandwidth, upgrade network, check CPU load
  • No tally: Verify source supports tally, check NDI group membership
OMT Issues
  • High latency: Enable hardware acceleration, lower quality preset, check GPU
  • Frame drops: Disable frame-perfect, increase target latency, reduce sources
  • Quality issues: Increase bitrate, switch to balanced/quality preset, check upload
WAVE PIPELINE Integration

Seamless Cloud Integration

WAVE Desktop is part of PIPELINE - your complete streaming infrastructure. Streams from desktop automatically appear in your cloud dashboard with real-time analytics.

  • Real-time viewer counts and bandwidth stats
  • Automatic recording and VOD generation
  • Global CDN delivery (200+ locations)
  • Remote node health monitoring
  • Cloud-based stream management
  • Multi-node load balancing

Desktop → Cloud Flow

Desktop App
Local encoding
↓ SRT/NDI/OMT
Cloud Ingest
Transcoding + CDN
↓ HLS/DASH
Global Viewers
200+ edge locations

Remote Node Management

Manage all your desktop nodes from the cloud dashboard

Health Monitoring

  • • Real-time node status (online/offline)
  • • CPU, GPU, memory, network stats
  • • Automatic health checks every 30 seconds
  • • Alert notifications for issues

Secure Pairing

  • • 6-digit pairing code (expires in 15min)
  • • End-to-end encryption
  • • Revoke node access anytime
  • • Audit logs for all connections

Multi-Node Support

  • • Connect unlimited desktop nodes
  • • Stream from multiple locations
  • • Automatic failover and backup
  • • Load balancing across nodes

Cloud Dashboard

  • • View all nodes from web browser
  • • Start/stop streams remotely
  • • Update settings from anywhere
  • • Real-time analytics integration

Hardware Requirements Calculator

Determine the optimal hardware for your streaming needs

Your Requirements

Recommended Hardware

Processor (CPU)
Recommended
Intel: Core i7-12700K or better (12+ cores)
AMD: Ryzen 7 5800X or better (8+ cores)
Apple: M2 Pro or better
Why: OMT protocol + 1080p60 + live streaming requires strong single-thread and multi-thread performance
Graphics (GPU)
Recommended
NVIDIA: RTX 3060 or better (8GB+ VRAM)
AMD: RX 6700 XT or better
Apple: Integrated M2 Pro GPU (16+ cores)
Why: Hardware encoding (NVENC/VCE/VideoToolbox) offloads CPU and reduces latency
Memory (RAM)
Recommended
16GB minimum (32GB recommended for 4K)
DDR4-3200 or faster
Why: Buffer multiple sources + encoding + system overhead. More RAM = smoother multi-source switching
Storage & Network
Storage: 20GB free space, SSD recommended for recording
Upload: 15+ Mbps (1.5-2x your target bitrate)
Connection: Wired Ethernet preferred (Wi-Fi 6 minimum for wireless)
System Compatibility

Your configuration should handle 1080p60 streaming with OMT protocol at 8-10 Mbps bitrate with 1-2 sources. Expected latency: 12-16ms glass-to-glass.

Quick Reference: Performance Tiers

Budget Tier ($800-1200)
  • • i5-12400 / Ryzen 5 5600
  • • GTX 1660 / RX 6600
  • • 16GB RAM
  • Capable: 1080p30, 1-2 sources
Recommended Tier ($1500-2500)
  • • i7-13700K / Ryzen 7 7700X
  • • RTX 3060 Ti / RX 6750 XT
  • • 32GB RAM
  • Capable: 4K30 or 1080p60, 3-5 sources
Professional Tier ($3000+)
  • • i9-13900K / Ryzen 9 7950X
  • • RTX 4070 Ti / RX 7900 XT
  • • 64GB RAM
  • Capable: 4K60, 8+ sources, NDI

Platform Feature Support

Complete feature comparison across macOS, Windows, and Linux

Feature
macOS11+ (Intel & Apple Silicon)
Windows10/11 (x64)
LinuxUbuntu 20.04+, Fedora 35+
Core Features
SRT Streaming
NDI Streaming
OMT Protocol (<16ms)
Screen Capture
Window Capture
Camera/USB Capture
Hardware Encoding
H.264 Hardware EncodingVideoToolboxNVENC / QuickSync / AMFNVENC / VAAPI
H.265 Hardware EncodingLimited (NVENC only)
Apple Silicon OptimizationN/AN/A
NVIDIA NVENC SupportIntel Macs only
Advanced Features
Multi-Source Switching
Transitions & Effects
Overlay Support (logos, lower thirds)
Offline Recording
Auto-Upload to VAULT
Virtual Camera OutputBeta
NDI PTZ Camera Control
Management & Integration
Cloud Dashboard Integration
Remote Node Management
REST API (localhost)
Command Line Interface
Auto-UpdatesManual updates
Platform Notes: All core features are available on all platforms. Hardware encoding support varies by GPU. macOS offers best "out of the box" experience with Apple Silicon. Windows has broadest GPU support. Linux is ideal for headless/server deployments.

Desktop Resources

Everything you need to get started with WAVE Desktop

Frequently Asked Questions

Everything you need to know about WAVE Desktop

Which operating systems are supported?

WAVE Desktop works on Windows 10 and later, macOS 11 (Big Sur) and later, and major Linux distributions including Ubuntu 20.04+, Fedora 35+, and Debian 11+. We provide native binaries optimized for each platform. Intel and Apple Silicon (M1/M2/M3) processors are fully supported with hardware encoding acceleration.

Can I stream my screen or specific windows?

Yes, WAVE Desktop provides flexible capture options. You can capture your entire screen, a specific window, or a custom region. Multi-display setups are fully supported - choose which display to stream or combine multiple displays. Window capture includes audio from that specific application. Screen capture works great for presentations, gaming, tutorials, and demonstrations.

How many cameras/sources can I use simultaneously?

Starter plans support up to 8 simultaneous sources (cameras, screens, files). Professional plans support up to 16 sources. Enterprise plans have no limits. Sources can be mixed and switched on the fly. Add overlays, logos, lower thirds, and transitions between sources. Each source can have independent encoding settings for maximum flexibility.

Does DESKTOP work offline for recording?

Yes, WAVE Desktop can record locally without an internet connection. All recordings are saved to your local drive in your choice of format (MP4, MOV, or MKV). When you reconnect, recordings can be automatically uploaded to VAULT for cloud storage and global distribution. Offline mode is perfect for field recording, remote locations, or backup recording scenarios.

Can I use DESKTOP with my existing streaming setup?

Yes, WAVE Desktop integrates seamlessly with existing tools. Use DESKTOP as an NDI source for vMix, Wirecast, or OBS. Send streams via RTMP to any destination. Use SRT for long-distance contribution feeds. DESKTOP works alongside your current workflow - it enhances rather than replaces your setup. NDI discovery finds compatible devices automatically.

What are the hardware requirements?

Minimum: Intel i5/Ryzen 5 (4 cores), 8GB RAM, 2GB storage, integrated graphics. Recommended: Intel i7/Ryzen 7 (8 cores), 16GB RAM, 10GB storage, dedicated GPU (NVIDIA GTX 1060 or AMD RX 580). For 4K streaming: Intel i9/Ryzen 9, 32GB RAM, NVIDIA RTX 3060 or better. Hardware encoding (H.264/HEVC) requires compatible GPU.

Can I stream to multiple destinations simultaneously?

Yes, WAVE Desktop supports multi-destination streaming (also called simulcasting or restreaming). Stream to WAVE cloud and any combination of RTMP destinations (YouTube, Twitch, Facebook) simultaneously. Professional and Enterprise plans support unlimited destinations. Each destination can have independent encoding settings and bitrates for optimal quality on each platform.

Does DESKTOP support virtual backgrounds and effects?

Yes, WAVE Desktop includes background replacement, blur effects, and chroma key (green screen). Use AI-powered background removal without a physical green screen, or use traditional chroma keying for higher quality. Add overlays, logos, lower thirds, and custom graphics. Effects are GPU-accelerated for real-time performance without impacting stream quality.

What should I do if my stream is dropping frames or lagging?

Common fixes: 1) Enable hardware encoding in settings (NVENC, QuickSync, VideoToolbox). 2) Reduce output resolution or frame rate. 3) Lower bitrate (try 5-6 Mbps instead of 8-10 Mbps). 4) Close other applications using GPU/CPU. 5) Use wired Ethernet instead of Wi-Fi. 6) Update GPU drivers. Check the built-in performance monitor for bottlenecks (CPU, GPU, network, or encoder).

Does DESKTOP support hardware encoders like Blackmagic or AJA?

Yes, WAVE Desktop supports hardware encoders via NDI or direct capture card integration. Blackmagic DeckLink, AJA Corvid, Magewell capture cards are fully supported. Use these for highest quality SDI capture with 4:2:2 color, 10-bit depth, and embedded audio. Hardware encoders appear as standard capture sources in DESKTOP alongside cameras and screen capture.

What bandwidth do I need for different streaming qualities?

Recommended upload speeds: 720p30 (2-4 Mbps), 720p60 (4-6 Mbps), 1080p30 (4-6 Mbps), 1080p60 (8-12 Mbps), 4K30 (15-25 Mbps), 4K60 (25-40 Mbps). Always have 1.5-2x your target bitrate for overhead (e.g., 15 Mbps connection for 10 Mbps stream). Use SRT protocol for unreliable networks - it adds error correction and can handle 5-10% packet loss gracefully.

How do auto-updates work? Can I disable them?

WAVE Desktop checks for updates daily (macOS/Windows) or requires manual updates (Linux). Updates download in background and install on next launch. You can disable auto-updates in settings if you need to lock to a specific version (recommended for production environments). Enterprise customers can use our deployment tools to push updates to multiple nodes simultaneously with rollback capabilities.

What Users Say About WAVE Desktop

From professional broadcasters to content creators

GamePro Esports

Gaming & Esports

WAVE Desktop with OMT protocol gives us <16ms latency for our esports tournaments. The desktop app makes it easy to stream from tournament PCs directly to our global audience.
AR

Alex Rodriguez

Tournament Director

<16ms
Latency
200+/year
Tournaments
5M
Peak Viewers
1 of 3 customer stories

Enhance Your Desktop Streaming

DESKTOP integrates with the complete WAVE ecosystem

PIPELINE

Stream from DESKTOP to PIPELINE's cloud infrastructure for global distribution, transcoding, and CDN delivery.

Explore Cloud Streaming

PULSE

Monitor your desktop streams with real-time analytics. Track encoder performance, bandwidth, and viewer metrics.

View Performance Monitoring

Ready to Stream Professionally?

Download WAVE Desktop for free and connect to your cloud account in minutes

Free forever • macOS, Windows, Linux • Open source

WAVE Desktop | Professional Streaming Software | WAVE