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.
3 Clicks to Professional Streaming
No complex configuration. Just select, choose, and stream.
Select Source
Choose from cameras, screen capture, files, NDI sources, or virtual cameras
Choose Protocol
Pick SRT for reliability, NDI for broadcast quality, or OMT for sub-16ms latency
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
Secure Reliable Transport with encryption
- AES encryption
- Error correction
- Network resilient
NDI
Broadcast-quality video over IP
- Broadcast quality
- Multi-camera
- Network transport
OMT
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:
brew install --cask wave-desktop
# Or download directly: https://downloads.wave.online/desktop/macos/latestwinget install WAVE.Desktop
# Or download installer: https://downloads.wave.online/desktop/windows/latest# 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-desktopPairing 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
Latency: 500ms Encryption: AES-256 Bitrate: 5-8 Mbps Packet Size: 1316 bytes
Latency: 50ms Encryption: Optional Bitrate: 10-20 Mbps Packet Size: 1456 bytes
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
Bandwidth: Highest Tally: Enabled Groups: "production", "cameras" Network: 1 Gbps+ dedicated
Bandwidth: Lowest (compressed) Tally: Enabled Groups: By room/location Network: Gigabit LAN
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
Target Latency: 8-10ms Quality: Speed preset Frame-Perfect: Enabled Bitrate: 15-20 Mbps
Target Latency: 12-14ms Quality: Balanced preset Frame-Perfect: Optional Bitrate: 10-15 Mbps
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
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
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
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
- • i5-12400 / Ryzen 5 5600
- • GTX 1660 / RX 6600
- • 16GB RAM
- • Capable: 1080p30, 1-2 sources
- • i7-13700K / Ryzen 7 7700X
- • RTX 3060 Ti / RX 6750 XT
- • 32GB RAM
- • Capable: 4K30 or 1080p60, 3-5 sources
- • 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 Encoding | VideoToolbox | NVENC / QuickSync / AMF | NVENC / VAAPI |
| H.265 Hardware Encoding | Limited (NVENC only) | ||
| Apple Silicon Optimization | N/A | N/A | |
| NVIDIA NVENC Support | Intel Macs only | ||
| Advanced Features | |||
| Multi-Source Switching | |||
| Transitions & Effects | |||
| Overlay Support (logos, lower thirds) | |||
| Offline Recording | |||
| Auto-Upload to VAULT | |||
| Virtual Camera Output | Beta | ||
| NDI PTZ Camera Control | |||
| Management & Integration | |||
| Cloud Dashboard Integration | |||
| Remote Node Management | |||
| REST API (localhost) | |||
| Command Line Interface | |||
| Auto-Updates | Manual updates | ||
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.”
Alex Rodriguez
Tournament Director
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 StreamingPULSE
Monitor your desktop streams with real-time analytics. Track encoder performance, bandwidth, and viewer metrics.
View Performance MonitoringReady to Stream Professionally?
Download WAVE Desktop for free and connect to your cloud account in minutes
Free forever • macOS, Windows, Linux • Open source