Skip to main content
Back to Quickstart Guides

Your First Live Stream

Create and broadcast your first stream in under 5 minutes

5 minutes
Beginner
RTMP • WebRTC • SRT
10M+
Streams created
Monthly active streams
<100ms
Time to live
API to broadcast
275+
Edge locations
Global distribution
99.99%
Uptime SLA
Enterprise reliability
Your Progress0/5 steps completed

Get Your API Key

Generate credentials for authentication

  1. Go to Dashboard → API Keys
  2. Click "Generate New API Key"
  3. Name it (e.g., "My First Stream")
  4. Select scopes: streams:read and streams:write
  5. Copy and save your API key securely

Create a Stream

Initialize your live stream via API

import { WaveClient } from '@wave/sdk';

const wave = new WaveClient({ apiKey: 'wave_live_xxxxx' });

const stream = await wave.streams.create({
  title: 'My First Live Stream',
  description: 'Testing WAVE streaming platform',
  visibility: 'public',
  recording: {
    enabled: true,
    format: 'mp4'
  }
});

console.log('Stream ID:', stream.id);
console.log('RTMP URL:', stream.ingest.rtmp.url);
console.log('Stream Key:', stream.ingest.rtmp.streamKey);
console.log('Playback:', stream.playback.hls);

Configure Your Encoder

Set up OBS, browser, or mobile app

OBS Studio
Desktop
Easy
Free
Multi-platform
Plugin support

Setup Steps:

  1. Open OBS Studio
  2. Go to Settings → Stream
  3. Set Service to "Custom..."
  4. Paste your RTMP URL as Server
  5. Paste your Stream Key
  6. Click OK, then "Start Streaming"

Recommended Encoder Settings:

Video Bitrate:3,000 - 6,000 Kbps
Audio Bitrate:128 - 320 Kbps
Resolution:1920x1080 (1080p)
Frame Rate:30 or 60 fps
Keyframe Interval:2 seconds
Encoder:x264 or NVENC

Go Live!

Start your broadcast

Quick Check Before Going Live

  • Camera/screen source is visible
  • Audio levels are good (not peaking)
  • Encoder shows "Connected"
  • Network is stable

When You're Live

  • Stream status changes to "Live" in dashboard
  • Viewers can connect using playback URL
  • Real-time analytics available
  • Recording automatically starts (if enabled)

Share With Viewers

Distribute your playback URL

HLS
10-30s
Most viewers, VOD fallback
DASH
10-30s
Adaptive bitrate, DRM
WebRTC (WHEP)
<500ms
Real-time interaction
Embed Player
Auto-select
Quick integration

Embed Code (Copy & Paste):

<iframe
  src="https://player.wave.online/embed/{stream-id}"
  width="640" height="360"
  frameborder="0" allowfullscreen
></iframe>

Troubleshooting Guide

Common issues and how to diagnose and fix them

Enterprise Success Stories

See how leading companies use WAVE for streaming

D
Discord
150M+ monthly streamers

"WAVE's Go Live feature integration took our team just 3 days. The WHIP/WHEP protocol support was exactly what we needed for sub-second latency in voice channels with video."

Jason Citron
Engineering Lead, Voice & Video
K
Kick
10M+ concurrent viewers

"Migrating from our legacy streaming infrastructure to WAVE cut our operational costs by 40% while improving viewer experience. The multi-protocol support handles everything from mobile broadcasters to professional studios."

Ed Craven
Co-Founder & CTO
Z
Zoom
300M+ daily meeting participants

"Integrating WAVE for our webinar large-meeting broadcasts was seamless. Their edge network ensures consistent quality regardless of where our hosts are located globally."

Brendan Ittelson
VP of Engineering

Best Practices

Expert recommendations for reliable streaming

Comprehensive SDK Examples

Full code examples for every streaming scenario

import { WaveClient } from '@wave/sdk';

const wave = new WaveClient({ apiKey: process.env.WAVE_API_KEY });

// Create a basic stream
const stream = await wave.streams.create({
  title: 'My First Live Stream',
  description: 'Testing WAVE streaming platform',
  visibility: 'public',
  recording: {
    enabled: true,
    format: 'mp4',
    quality: '1080p'
  },
  lowLatency: true  // Enable WebRTC playback
});

console.log('Stream created:', stream.id);
console.log('RTMP URL:', stream.ingest.rtmp.url);
console.log('Stream Key:', stream.ingest.rtmp.streamKey);
console.log('HLS Playback:', stream.playback.hls);
console.log('WebRTC Playback:', stream.playback.whep);

API Reference

Quick reference for stream management endpoints

MethodEndpoint
POST
/v1/streams
GET
/v1/streams/{id}
PATCH
/v1/streams/{id}
DELETE
/v1/streams/{id}
POST
/v1/streams/{id}/start
POST
/v1/streams/{id}/stop
GET
/v1/streams/{id}/health
GET
/v1/streams/{id}/analytics
WAVE - Enterprise Live Streaming Platform