Secure Reliable Transport for professional broadcasting
Why professionals choose SRT for contribution workflows
Automatically recovers lost packets without retransmission, maintaining stream quality over lossy networks
End-to-end encryption protects your content from interception during transmission
Balance between latency (120ms-8000ms) and reliability based on network conditions
Intelligent packet retransmission for reliable delivery without buffer bloat
Caller/listener/rendezvous modes for flexible connection establishment behind firewalls
Real-time bandwidth estimation and congestion control for stable streaming
Complete SRT integration with language-specific examples
import { WaveClient } from '@wave/sdk';
const wave = new WaveClient({ apiKey: 'wave_live_xxxxx' });
// Create SRT endpoint with full configuration
const endpoint = await wave.srt.createEndpoint({
name: 'Production SRT Feed',
streamId: 'str_abc123xyz',
latencyMs: 2000,
encryption: {
enabled: true,
keyLength: 256, // AES-256
passphrase: process.env.SRT_PASSPHRASE,
},
settings: {
connectionMode: 'listener',
maxBandwidthMbps: 25,
fec: {
columns: 10,
rows: 10,
layout: 'staircase',
},
congestionControl: 'live', // or 'file'
tlpktdrop: true, // Drop packets instead of retransmit beyond latency
nakreport: true, // Enable NAK reports
},
failover: {
enabled: true,
backupEndpoints: ['srt_backup_001', 'srt_backup_002'],
switchThresholdMs: 5000,
},
});
console.log('SRT Endpoint created:', {
id: endpoint.id,
srtUrl: endpoint.srt.url,
streamId: endpoint.srt.streamId,
status: endpoint.status,
});
// Get encoder-specific URLs
console.log('OBS URL:', endpoint.encoders.obsUrl);
console.log('vMix:', endpoint.encoders.vmixHost, endpoint.encoders.vmixPort);Choose the right latency buffer for your network conditions
| Latency Buffer | Use Case | Packet Loss Tolerance | Max Jitter |
|---|---|---|---|
120ms | Ultra-low latency, LAN/datacenter | <0.01% | <5ms |
500ms | Low latency, excellent network | <0.1% | <20ms |
1000ms | Low latency, good network | <0.5% | <50ms |
2000ms Recommended | Balanced (recommended default) | <2% | <100ms |
4000ms | High reliability, challenging network | <5% | <200ms |
8000ms | Maximum reliability, poor network | <10% | <500ms |
Understanding caller, listener, and rendezvous modes
Encoder initiates connection to server
Encoder waits for incoming connection
Both sides connect simultaneously
Configure popular encoders for SRT streaming
# Stream a file via SRT with low-latency settings ffmpeg -re -i input.mp4 \ -c:v libx264 -preset veryfast -tune zerolatency \ -b:v 4500k -maxrate 5000k -bufsize 10000k \ -c:a aac -b:a 128k \ -f mpegts "srt://ingest.cloudflarestream.com:778?streamid=YOUR_STREAM_ID&latency=2000000&mode=caller" # Capture webcam with hardware encoding (macOS) ffmpeg -f avfoundation -framerate 30 -i "0:0" \ -c:v h264_videotoolbox -b:v 4500k \ -c:a aac -b:a 128k \ -f mpegts "srt://ingest.cloudflarestream.com:778?streamid=YOUR_STREAM_ID&latency=2000000&passphrase=YOUR_PASSPHRASE" # Hardware encoding with NVENC (Linux/Windows) ffmpeg -re -i input.mp4 \ -c:v h264_nvenc -preset llhq -zerolatency 1 \ -b:v 6000k -maxrate 7000k \ -c:a aac -b:a 192k \ -f mpegts "srt://ingest.cloudflarestream.com:778?streamid=YOUR_STREAM_ID&latency=1500000" # SRT relay with encryption ffmpeg -i "srt://source.example.com:778?mode=caller&passphrase=SOURCE_PASS" \ -c copy \ -f mpegts "srt://ingest.cloudflarestream.com:778?streamid=YOUR_STREAM_ID&latency=2000000&passphrase=DEST_PASS"
Expert recommendations for production SRT deployments
Configure your encoder as SRT "caller" and WAVE servers as "listener" for firewall-friendly connections
The default 2000ms buffer handles most network conditions. Only reduce for ultra-low latency requirements.
Use AES-256 encryption with a strong passphrase for broadcast-grade content protection
Track RTT, packet loss, retransmissions to diagnose issues before they affect viewers
Hardware encoders (NVENC, QSV, AMF) provide consistent performance without CPU spikes
Configure backup SRT endpoints and test automatic reconnection before going live
Forward Error Correction adds overhead but dramatically improves quality on lossy links
Use 2-second keyframe intervals for optimal balance between recovery and compression
Common issues and detailed solutions with diagnostic commands
Protocol selection guide for different use cases
| Feature | SRT | RTMP |
|---|---|---|
| Typical Latency | 0.5 - 2 seconds | 3 - 5 seconds |
| Encryption | AES-128/256 built-in | Requires RTMPS (TLS) |
| Error Correction | FEC + ARQ | TCP retransmit only |
| Packet Loss Tolerance | Up to 10% | <0.1% |
| Transport Protocol | UDP | TCP |
| Firewall Traversal | Multiple modes | Limited |
How industry leaders use WAVE SRT for mission-critical broadcasting
Sports Broadcasting
“WAVE's SRT implementation handles our NFL contribution feeds with zero-loss delivery across 50+ venues. The automatic failover has saved us from countless potential broadcast failures.”
News Broadcasting
“We stream from conflict zones and remote locations where network reliability is never guaranteed. WAVE's SRT with FEC enables us to maintain broadcast quality even over satellite links with 15% packet loss.”
Entertainment
“The AES-256 encryption and FIPS compliance was essential for our premium content. WAVE's SRT infrastructure handles all our contribution feeds for live events with broadcast-grade security.”