![]()
WebRTC
Ultra-Low Latency, Browser-Native Video
WebRTC
WebRTC delivers live video to any browser in under half a second, with no plugins, no proprietary apps, and no waiting. For control rooms, command centers, and remote teams, that speed decides whether you watch an event or act on it. Benefits include:
- Ultra-Low Latency: WebRTC ingests and delivers video from capture to playback in under 500 milliseconds (roughly 130 milliseconds before network transit or about 200 milliseconds with packet-loss recovery, based on Wowza Streaming Engine testing). That’s fast enough to control a camera, dispatch a response, or hold a two-way conversation with real-time interactivity.
- Browser-Native Playback: Every modern browser supports WebRTC natively, so viewers don’t need to install plugins, apps, or proprietary clients. A lightweight JavaScript player on a web page connects to Wowza Streaming Engine through WHEP or WebSocket signaling, and viewers watch the live feed through a simple link.
- Built-In Encryption: WebRTC encrypts every stream by default, keeping video private and protected across compliance-sensitive workflows.
- Bi-Directional Video: WebRTC powers real-time remote operation, telehealth, auctions, and command-and-control, where every fraction of a second counts.
- Adaptive Quality: Simulcast and bandwidth estimation give each viewer the best quality their connection can carry, so a weak connection never sets the ceiling for everyone else.
- Reliable Connectivity: Wowza Streaming Engine establishes connections across NATs, firewalls, air-gapped systems, and restrictive enterprise networks using standards-based negotiation, configurable traversal servers, and automatic ICE restart when the network path changes.
Ingest & Deliver WebRTC Video with Wowza Streaming Engine

One ingest path feeds many delivery paths, all from the same media server:
- Ingest WebRTC audio and video and deliver it back to any WebRTC-capable player in less than a second
- Ingest a non-WebRTC source (like RTSP, SRT, or RTMP) and play it back over WebRTC
- Repackage a WebRTC ingest into HLS, LL-HLS, and DASH to reach large audiences without building a second workflow
Wowza Streaming Engine’s WebRTC implementation includes:
- WHIP and WHEP Support: Automatically support standards-compliant encoders, including OBS Studio, FFmpeg, and hardware from Osprey, Teradek, AJA, and Haivision. Wowza Streaming Engine also pushes streams out to any external WHIP endpoint.
- Full ICE Connectivity: Gather and validate connection candidates and raise the connection success rate across NATs, firewalls, and corporate networks. ICE restart renegotiates the connection on a new path when the network changes, so sessions recover without a full reconnect.
- Configurable STUN and TURN: Meet the requirements of enterprise, government, and air-gapped deployments. TURN relays traffic over UDP, TCP, or TLS to reach networks that block outbound UDP, and a configurable UDP port range simplifies firewall and container rules. Pre-configured public STUN servers ship by default.
- Deployment Flexibility: Route through the same load balancers, ingress controllers, and API gateways as the rest of your stack. Runs across bare metal, virtual machines, Docker, Kubernetes, on-premises, hybrid, cloud, and edge.
- Simulcast With Bandwidth Estimation: Publishers send multiple quality layers, and Wowza Streaming Engine uses transport-wide congestion control (TWCC) to serve each viewer the layer that matches their connection.
- Packet-Loss Recovery: NACK and RTX retransmission resend lost packets, and Picture Loss Indication (PLI) requests a fresh keyframe when a decoder loses sync, which keeps video clean on lossy networks.
- Data Channels: Send text and binary messages on the same connection as the video, including captions, metadata, timed events, control messages, bids, and Q&A.
- Built-In Monitoring: View WebRTC connection statistics and ICE candidates directly in Wowza Streaming Engine Manager. View the full configuration reference doc here.
Applications of WebRTC for Wowza
WebRTC powers the real-time, mission-critical side of modern video workflows. Wowza Streaming Engine delivers WebRTC to teams that need:
- Sub-second visibility for control rooms, command centers, and remote operators who need to act on what they see on video feeds, in real-time.
- Secure video streams across restrictive firewalls, isolated networks, and air-gapped environments.
- A browser-native viewing experience that needs no app or plugin to deploy.
Wowza also extends WebRTC across the workflows you already run:
- Upgrade Your Existing Cameras: Wowza pulls from your secure camera network and converts it to WebRTC for browser playback, without replacing hardware.
- Operate Equipment Remotely: WebRTC returns a sub-second video feed for cameras, drones, and machinery, so operators can make precise adjustments.
- Support Compliance Needs: WebRTC encrypts telehealth and law enforcement feeds across the WebRTC connection to support compliance-sensitive architectures and evidence chain-of-custody requirements.
- Feed AI Pipelines: WebRTC supplies real-time source video to object detection, scene analysis, event logging, and analytics workflows.
- Record And Stream Simultaneously: Fork a single ingest and deliver live over WebRTC while preserving a forensically-sound recording for a VMS or NVR.
- Power Interactive Events: Carry bids, Q&A, and timed events alongside the video in data channels, so auctions, live commerce, and town halls stay in sync with what viewers see.
WebRTC Frequently Asked Questions
What is WebRTC?
WebRTC (Web Real-Time Communication) is a free, open-source project that delivers real-time audio, video, and data directly to web browsers and mobile apps. The W3C and IETF maintain it as an open standard, and every modern browser supports it natively without plugins. Wowza Streaming Engine ingests WebRTC, secures it, and delivers it to viewers at sub-second latency.
What is WebRTC latency?
WebRTC latency is typically under 500 milliseconds and often lower, which qualifies as real-time. WebRTC streams continuously over UDP instead of downloading and buffering chunks of video, so it avoids the multi-second delay of segment-based protocols. This speed makes WebRTC the standard for monitoring, remote control, and two-way interaction. In Wowza’s tests, Wowza Streaming Engine adds roughly 130 milliseconds of latency before network transit, or about 200 milliseconds with packet-loss recovery turned on, which leaves most of the sub-second budget for the network and the player.
How does WebRTC streaming work?
WebRTC establishes an encrypted media session over UDP using a standards-based handshake. The Session Description Protocol (SDP) negotiates the codecs, media types, and encryption parameters through an offer and answer exchange. The Interactive Connectivity Establishment (ICE) framework then gathers candidate network routes and tests them to find the best working path across NATs and firewalls. Once ICE selects the best path, encrypted media flows directly between the endpoints.
What is the difference between WebRTC and RTMP?
WebRTC delivers real-time, browser-native playback at sub-second latency, while RTMP (Real-Time Messaging Protocol) serves as a stable contribution protocol that browsers no longer play natively. Wowza commonly ingests either protocol and repackages it for the right delivery path. This comparison shows where each protocol fits:
| Protocol | Typical latency | Primary role |
| WebRTC | Under 500 ms | Real-time monitoring and two-way interaction |
| LL-HLS (Low-Latency HLS) | 2-5 seconds | Lower-latency delivery to large audiences |
| RTMP | 2-5 seconds | Contribution and ingest |
| HLS / MPEG-DASH | 6-30 seconds | Scalable live and on-demand delivery |
Is WebRTC free?
Yes. WebRTC is a free, open-source project, and the protocol carries no licensing fee. Most production deployments pair WebRTC with a commercial media server such as Wowza Streaming Engine to handle ingest, encryption, network traversal, recording, and multi-protocol delivery at scale.
Does WebRTC support encryption?
Yes. WebRTC requires encryption as part of the standard and uses DTLS (Datagram Transport Layer Security) and SRTP (Secure Real-time Transport Protocol) to protect the media payload. Wowza Streaming Engine also lets you deploy TURN servers inside your own network perimeter, which air-gapped, classified, and data-sovereignty environments often require. Bearer tokens on WHIP and WHEP endpoints and SecureToken validation also control who can publish and play each stream.
What are WHIP and WHEP?
WHIP (WebRTC-HTTP Ingestion Protocol) handles WebRTC publishing, and WHEP (WebRTC-HTTP Egress Protocol) handles WebRTC playback. Both use a single HTTP request and response for signaling, so they work cleanly with standard load balancers and need no sticky sessions. Wowza Streaming Engine supports WHIP ingest, WHEP playback, and WebSocket signaling, and it can also push streams to any external WHIP endpoint.
How do you set up WebRTC streaming in Wowza Streaming Engine?
WebRTC streaming in Wowza Streaming Engine takes three steps:
- Create a live application and configure an SSL/TLS certificate.
- Connect a WHIP-compatible encoder such as OBS Studio or FFmpeg, or point a non-WebRTC source like RTSP, SRT, or RTMP at the application.
- Configure STUN and TURN servers, or use the public STUN servers that ship by default to start immediately.
Wowza supports full custom STUN and TURN configuration for enterprise, government, and air-gapped deployments. Servers upgraded from a version earlier than 4.11 need to switch to the current WebRTC implementation in their VHost configuration before they can use WHIP, WHEP, simulcast, and data channels. Step-by-step instructions live in the Wowza documentation.
Is WebRTC good for surveillance and remote monitoring?
Yes. WebRTC is the standard for real-time monitoring because its sub-second latency, browser-native playback, and mandatory encryption suit surveillance, remote operations, and command-and-control, where a multi-second delay slows the response. Because WebRTC works peer to peer and does not record or fan out to large audiences on its own, production deployments pair it with Wowza Streaming Engine to record, secure, and scale the feed.
Does WebRTC support adaptive bitrate streaming?
Yes. WebRTC supports adaptive quality through simulcast, where the publisher sends several quality layers and the server forwards the layer each viewer’s connection can handle. Wowza Streaming Engine selects that layer per viewer with transport-wide congestion control (TWCC) bandwidth estimation and falls back to REMB when TWCC is unavailable. For very large audiences, Wowza Streaming Engine also repackages the same ingest into HLS, LL-HLS, and MPEG-DASH.
Why does a WebRTC stream fail to connect?
A WebRTC stream usually fails to connect because a firewall or symmetric NAT blocks the direct peer connection. STUN resolves roughly 80 to 85 percent of these cases, and a TURN server relays the rest. Wowza Streaming Engine supports configurable STUN and TURN, so production deployments configure both to keep connections reliable across restrictive networks. TURN over TCP or TLS reaches networks that block outbound UDP entirely, and ICE restart recovers a session when the network path changes mid-stream.