WHEP Gateway v1.7.2
Stream live video to any web browser via WebRTC/WHEP. OMT sources in Standard — add SRT, WHIP and NDI ingest with PRO — add DeckLink, AJA capture, DVR recording and playback with Ultra.
Download v1.7.2 ISO (1.1 GB)
NEW — v1.7.2
Debian 12 live appliance · v1.7.2 · license required
Same ISO for all tiers — your license key determines Standard, PRO, or Ultra.
AJA Corvid 88 capture (GStreamer), 10-bit v210 support, AJA source discovery in channel dialog, DeckLink/DVR fixes.
Dashboard — Ultra tier showing NDI sources with DVR, OMT & NDI output, SRT ingest, WHIP ingest, live system stats
Standard vs PRO vs Ultra
All three tiers ship on the same ISO. Standard works out of the box with OMT sources. PRO adds professional ingest and output. Ultra adds capture card support and recording.
STANDARD
- OMT source ingest — auto-discovered on your network
- WHEP/WebRTC delivery — browser playback, shareable links
- WHIP push output — push to WHIP-compatible endpoints
- H.264, HEVC, AV1 — software + GPU hardware encoding
- Up to 8 channels (200 viewers each)
- Cloudflare Tunnel & TLS
- Web dashboard — multiview, stats, email alerts
PRO + Standard
- SRT & WHIP ingest — receive from encoders
- NDI source ingest — receive NDI streams
- NDI & OMT network output — send to the network
- RTMP & SRT restream — push to YouTube, Twitch, etc.
- Up to 16 channels (2,000 viewers each)
ULTRA + PRO
- DeckLink capture — Blackmagic SDI/HDMI input
- AJA capture — AJA Kona/Corvid via V4L2
- DVR recording — record channels to disk with configurable retention and storage quota. Built-in software RAID setup (RAID 0/1/5/10)
- Broadcaster (Coming Soon)
- 24 channels (2,000 viewers each)
Ultra is a superset of PRO — all PRO features are included in Ultra.
License page — Ultra license status and Standard / PRO / Ultra feature comparison
| Feature | Standard | PRO | ULTRA |
| OMT source ingest | ✓ | ✓ | ✓ |
| SRT ingest | — | ✓ | ✓ |
| WHIP ingest | — | ✓ | ✓ |
| NDI source ingest | — | ✓ | ✓ |
| DeckLink capture (SDI/HDMI) | — | — | ✓ |
| AJA capture (Kona/Corvid) | — | — | ✓ |
| DVR recording | — | — | ✓ |
| Broadcaster | — | — | Coming Soon |
| WHEP/WebRTC browser playback | ✓ | ✓ | ✓ |
| WHIP push output | ✓ | ✓ | ✓ |
| NDI output | — | ✓ | ✓ |
| OMT output | — | ✓ | ✓ |
| RTMP restream | — | ✓ | ✓ |
| SRT restream | — | ✓ | ✓ |
| H.264, HEVC, AV1 (software) | ✓ | ✓ | ✓ |
| GPU hardware encoding | ✓ | ✓ | ✓ |
| Cloudflare Tunnel & TLS | ✓ | ✓ | ✓ |
| Email alerts | ✓ | ✓ | ✓ |
| Web dashboard & multiview | ✓ | ✓ | ✓ |
| Max channels | 8 | 16 | 24 |
| Max viewers per channel | 200 | 2,000 | 2,000 |
What It Does
The WHEP Gateway bridges video sources to standard WebRTC/WHEP, so anyone with a web browser can watch live streams — no plugins, no apps, no downloads.
- OMT Ingest: Receive OMT sources auto-discovered on your network — Standard
- SRT, WHIP & NDI Ingest: PRO SRT streams, WHIP ingest, and NDI streams
- DeckLink & AJA Capture: ULTRA Blackmagic SDI/HDMI and AJA Kona/Corvid capture cards
- DVR Recording & Playback: ULTRA Record channels to disk with configurable retention. Viewers can rewind and scrub backwards from the watch page with 1x/2x/4x playback speed and instant seek (~50ms). Setup wizard offers software RAID (0/1/5/10) when multiple disks are detected
- WHEP Browser Playback: Each channel gets a shareable watch URL that works in any modern browser
- WHIP Push Output: Push channels to WHIP-compatible CDNs and ingest endpoints
- RTMP & SRT Restream: PRO Push to YouTube, Twitch, or any RTMP/SRT endpoint
- NDI & OMT Output: PRO Send channels back to the network as NDI or OMT streams
- Multi-Codec Transcoding: H.264, HEVC, AV1 with software encoding and GPU hardware acceleration (Intel QSV/VAAPI, NVIDIA NVENC, AMD AMF)
- Web Dashboard: Channel management, live preview, multiview grid, real-time CPU/RAM/network stats
- Cloudflare Tunnel: Stream to remote viewers with zero port forwarding — no account required
- WebSocket Relay: Automatic fallback for viewers behind strict firewalls
- Email Alerts: Get notified when channels fail or sources disappear
Add Channel — source type selector (Discovered / SRT Ingest / WHIP Ingest), codec, bitrate, viewer password
Edit Channel — WHIP push output, RTMP/SRT restream, NDI & OMT output, DVR recording with configurable retention
DVR Recording & Playback ULTRA
Enable DVR on any channel to record a rolling buffer of video and audio to disk. Viewers can rewind the live stream directly from the watch page — no separate VOD system needed.
- Instant rewind: drag the timeline to scrub back through recorded footage with ~50ms seek latency
- Variable speed: play back at 1x, 2x, or 4x speed — audio is muted at fast speeds
- Seamless live return: click the LIVE button to switch back to real-time WebRTC with sub-second latency
- Configurable retention: set how many minutes of video to keep per channel (default 30 min)
- One-click recording: hit the REC button on the dashboard to save an MKV file to local storage
- Software RAID: setup wizard offers RAID 0/1/5/10 when multiple disks are detected, recommended for recording workloads
Watch page — live WebRTC with DVR timeline visible, 1x/2x/4x speed controls, LIVE indicator
DVR rewind — timeline scrubbed back ~56 minutes, playing recorded footage via WebSocket + WebCodecs
Use Cases
Remote Monitoring
Give directors, producers, or clients a browser link to watch camera feeds from anywhere. No software to install — just open the link on a phone, tablet, or laptop. Combine with Cloudflare Tunnel for secure access over the internet.
Multi-Site Event Production
Stream venue feeds to a remote production hub or overflow rooms. Sub-200ms latency means talkback and live switching stay in sync. Run multiple channels on a single gateway.
House of Worship & Corporate AV
Let congregation members or remote staff watch services and meetings live in a browser. No CDN fees, no third-party streaming platforms — just a direct WebRTC link from your infrastructure to the viewer.
Broadcast Confidence Monitoring
Replace expensive hardware monitors with browser tabs. Open a multiview grid of all your sources on any screen in the building — green rooms, control rooms, producer desks.
Multiview — 2x2 monitoring wall with live video (1x1, 3x3, 4x4 also available)
1 Install the Appliance
The gateway ships as a bootable Linux ISO. Flash it to a USB drive and boot on any x86_64 PC, NUC, or server.
Flash the ISO
Live Boot & Setup
The ISO boots into a live environment. A setup wizard runs on the console to configure hostname, admin password, GPU encoding, TLS mode, and optional disk RAID.
Install to Disk
To install permanently, run install-to-disk from the console (or use the setup wizard). This copies the live system to a local disk so settings persist across reboots.
If multiple disks are detected, the setup wizard offers software RAID configuration before installation:
- RAID 0 — striping across 2+ disks for maximum write speed (no redundancy)
- RAID 1 — mirroring across 2 disks for full redundancy
- RAID 5 — striping with parity across 3+ disks (survives 1 disk failure)
- RAID 10 — striped mirrors across 4+ disks for speed and redundancy
RAID is recommended for DVR recording workloads. GRUB is installed on all member disks so the system can boot from any surviving disk.
Important: The install command will erase the target disk(s). Use a dedicated PC or NUC — do not install on a machine with data you want to keep.
First-Boot Services
After setup, the appliance will:
- Auto-detect your GPU (Intel VAAPI, NVIDIA NVENC, AMD AMF)
- Generate a self-signed TLS certificate
- Start the gateway service and display the dashboard URL on the console
2 Open the Dashboard
Open a web browser on any device on the same network and go to:
https://<appliance-ip>
The IP address is shown on the appliance console after boot
Certificate warning: Your browser will show a security warning because the certificate is self-signed. Click Advanced → Proceed (or install the CA certificate from http://<appliance-ip>/api/ca.crt).
3 Configure HTTPS
Open Settings → TLS / HTTPS in the dashboard. Choose one of these modes:
| Mode | Best For | Notes |
| Self-Signed CA | LAN / internal | Default. Install the CA cert on client devices to avoid browser warnings. |
| Let's Encrypt (Auto) | Public servers | Point a domain to the server, open ports 80 + 443. Caddy gets a trusted cert automatically. |
| Let's Encrypt (DNS-01) | Wildcard / private | Get wildcard certs via Cloudflare, Route53, or Google Cloud DNS. |
| Cloudflare Tunnel | Remote access | Zero-trust access with no open ports. Temporary URL or bring your own domain. |
| Manual Certificate | Bring your own | Upload your own PEM certificate and key. |
Settings — TLS modes with Cloudflare Tunnel selected
4 Add a Channel
Click + Add Channel on the dashboard. Choose a source type:
- Discovered — OMT sources auto-discovered on your network
- SRT Ingest — receive an SRT stream on a specified port
- WHIP Ingest — receive a WHIP push from a browser or encoder
- NDI PRO — receive NDI streams from the network
- DeckLink ULTRA — capture from Blackmagic SDI/HDMI cards
- AJA ULTRA — capture from AJA Kona, Corvid, and IO 4K cards via V4L2
Channel Settings
| Setting | Description |
| Name | Display name for the channel (e.g. "Studio A Live") |
| Source Type | Discovered (OMT), SRT Ingest, WHIP Ingest, NDI PRO, DeckLink ULTRA, AJA ULTRA |
| Video Codec | H.264, HEVC, AV1 (CPU or GPU hardware variants) |
| Preset | Encoding speed/quality trade-off. Faster = less CPU, lower quality. |
| Bitrate | 200 kbps – 20 Mbps. Lower for AV1/HEVC, higher for H.264. |
| Keyframe Interval | 1–5 seconds. Shorter = faster seeking, slightly more bandwidth. |
| Audio | Enable/disable. Opus codec, 32–320 kbps. |
| Max Viewers | 1–200 (Standard) or 1–2,000 (PRO/Ultra) concurrent WebRTC viewers per channel. |
| Viewer Password | Optional. Restrict who can watch this channel. |
| OMT Output | PRO Re-broadcast as an OMT source on the network |
| NDI Output | PRO Re-broadcast as an NDI source on the network |
| Auto-start | Automatically start encoding when the gateway boots. |
Codec Recommendations
| Codec | 1080p Bitrate | 4K Bitrate |
| H.264 | 2–8 Mbps | 20–35 Mbps |
| HEVC | 1–4 Mbps | 8–15 Mbps |
| AV1 | 500 kbps–4 Mbps | 6–12 Mbps |
Tip: AV1 delivers excellent quality at very low bitrates but requires more CPU. Use hardware encoding (QSV, NVENC, VAAPI) whenever available to reduce load.
5 Start & Watch
Click the Start button on your channel. The gateway begins encoding and you can:
- Preview — Click PREVIEW on the channel card to watch in the dashboard
- Watch Link — Click LINK to copy the watch URL. Opens a full-screen player.
- Multiview — Click the grid icon in the header to open a multi-channel monitoring wall
Preview — live video playing directly in the dashboard with LIVE badge, codec stats, mute/fullscreen controls
Watch URL Format
https://<host>/watch/<channelId>
Share this link with viewers — no login required (unless viewer password is set)
Watch page — full-screen player with LIVE indicator and WHEP endpoint URL
6 Outputs & Restreaming
Each channel can push to multiple output destinations simultaneously:
| Output Type | Tier | Description |
| WHEP (WebRTC) | Standard | Browser playback via shareable watch URLs |
| WHIP Push | Standard | Push to WHIP-compatible CDNs and ingest servers |
| RTMP Restream | PRO | Push to YouTube Live, Twitch, Facebook, or any RTMP endpoint |
| SRT Restream | PRO | Push to SRT receivers for contribution or distribution |
| NDI Output | PRO | Re-broadcast as an NDI source visible on the network |
| OMT Output | PRO | Re-broadcast as an OMT source visible on the network |
7 Remote Access (Cloudflare Tunnel)
To share streams with viewers outside your local network without opening firewall ports:
- Go to Settings → Cloudflare
- Click Enable Cloudflare Tunnel and save
- A public URL (
*.trycloudflare.com) is generated automatically — no account required
- Share the tunnel URL with remote viewers
How it works: Remote viewers connect through the Cloudflare tunnel. Since WebRTC UDP cannot traverse HTTP tunnels, the gateway automatically switches remote viewers to a WebSocket media relay — no configuration needed.
Persistent Tunnel (Optional)
For a permanent URL with your own domain:
- Create a tunnel in the Cloudflare Zero Trust dashboard
- Point the tunnel to
http://localhost:5290
- Paste the tunnel token in Settings → Cloudflare → Tunnel Token
Cloudflare TURN Relay (Optional)
For improved WebRTC connectivity behind strict firewalls:
- In the Cloudflare dashboard, go to Calls → TURN Keys
- Create a key and copy the Key ID and API Token
- Paste into Settings → Cloudflare → TURN Relay
8 Email Alerts (Optional)
Get notified when channels fail or OMT sources disappear. Go to Settings → Email Alerts:
- Enter your SMTP server details (host, port, username, password)
- Set a sender address and recipient list
- Enable Channel failure and/or Source loss triggers
- Click Send Test Email to verify
9 Pricing & License
A license key is required to use the gateway. Contact us to request a trial.
- Enter a Standard, PRO, or Ultra license key in Settings → License → Activate
- Standard: £15/mo or £250 lifetime — PRO: £45/mo or £900 lifetime — Ultra: £75/mo or £1,500 lifetime
All tiers use the same ISO — your license key determines the tier. Contact us to request a trial.
Already purchased? Retrieve your license key.
API Reference
The gateway exposes a REST API at https://<host>/api/ for programmatic control.
Channels
| Method | Endpoint | Description |
GET | /api/channels | List all channels with status and stats |
POST | /api/channels | Create a new channel |
GET | /api/channels/{id} | Get channel details |
PUT | /api/channels/{id} | Update channel settings |
DELETE | /api/channels/{id} | Delete a channel |
POST | /api/channels/{id}/start | Start encoding |
POST | /api/channels/{id}/stop | Stop encoding |
GET | /api/channels/{id}/log | FFmpeg encoder log |
POST | /api/channels/start-all | Start all enabled channels |
POST | /api/channels/stop-all | Stop all channels |
Sources & System
| Method | Endpoint | Description |
GET | /api/sources | List discovered OMT sources |
GET | /api/health | System health and status |
GET | /api/settings | Current settings |
PUT | /api/settings | Update settings |
GET | /api/license | License / trial status |
POST | /api/license/activate | Activate a license key |
GET | /api/ice-servers | ICE/TURN servers for WebRTC |
WHEP (WebRTC Playback)
| Method | Endpoint | Description |
POST | /whep/{channelId} | WHEP offer — send SDP, receive answer |
PATCH | /whep/{channelId}/{sessionId} | ICE trickle candidate |
DELETE | /whep/{channelId}/{sessionId} | End WHEP session |
Network & Ports
| Port | Protocol | Direction | Purpose |
| 443 | TCP | Inbound | HTTPS (Caddy reverse proxy) |
| 80 | TCP | Inbound | HTTP redirect + CA cert download |
| 5290 | TCP | Internal | Gateway API + Web UI |
| 5353 | UDP | LAN | DNS-SD / mDNS (OMT source discovery) |
| 10000–10100 | UDP | Inbound | WebRTC media (if port range configured) |
LAN-only use: No port forwarding needed. Viewers on the same network connect directly.
Remote access: Use Cloudflare Tunnel (no open ports) or forward UDP 10000–10100 + TCP 443.
SSH Access
The appliance has SSH enabled for administration:
ssh gw-admin@<appliance-ip>
Default password: omtwhep — change this after first login
Useful commands:
show-ip — Display dashboard URL, API endpoint, version
sudo systemctl status whep-gateway — Check service status
sudo systemctl restart whep-gateway — Restart the gateway
sudo journalctl -u whep-gateway -f — Follow live logs
Troubleshooting
- No sources found? Ensure the OMT encoder is on the same network/subnet. Check that UDP 5353 (mDNS) is not blocked.
- Channel starts but video is black? Check the FFmpeg log (click LOG on the channel card). Common causes: wrong source selected, source not actively sending.
- High CPU usage? Switch to hardware encoding (VAAPI, QSV, NVENC) if you have a supported GPU.
- Viewers see "ICE gathering timeout"? The player automatically falls back to WebSocket relay after 4 seconds. If using Cloudflare Tunnel, this is expected.
- Certificate warning in browser? Install the CA certificate:
http://<ip>/api/ca.crt. Or switch to Let's Encrypt in TLS settings.
- Audio not working? Check that audio is enabled in the channel settings. The player starts muted by default — click the unmute button.
- "License required" — channels stopped? Enter a valid license key in Settings → License. Contact us if you need help.
- NDI not showing? NDI ingest requires a PRO or Ultra license. Check Settings → License for your current tier.
- DeckLink/AJA not showing? Capture card support requires an Ultra license. Install drivers in Settings → DeckLink or Settings → AJA.
System Requirements
| Minimum | Recommended |
| CPU | x86_64, 4 cores | x86_64, 6–8+ cores |
| RAM | 4 GB | 8 GB+ (16 GB for DVR recording) |
| Disk | 8 GB | 120 GB+ NVMe SSD (DVR storage scales with retention) |
| Network | 100 Mbps Ethernet | 1 Gbps Ethernet |
| GPU | None (software encode) | Intel QSV, AMD AMF, or NVIDIA NVENC |
ULTRA DVR recording buffers frames in memory per active channel. We recommend 16 GB RAM and 120 GB+ NVMe storage minimum when using DVR, especially with multiple channels or high-bitrate sources (4K/HEVC). For best performance, use NVMe SSDs in Linux software RAID: RAID 0 for maximum write throughput, RAID 1 for redundancy, RAID 5 for parity protection, or RAID 10 if you have enough disks for both speed and redundancy. The setup wizard includes built-in RAID configuration — just connect multiple disks and the installer will offer RAID options automatically. Disk space for DVR is configurable via retention time and storage quota (default: 60 min / 10 GB).
Hardware Encoding Support
| GPU | API | Codecs |
| Intel (6th gen+) | VAAPI / QSV | H.264, HEVC, AV1 (12th gen+) |
| AMD (RX 400+) | VAAPI / AMF | H.264, HEVC, AV1 (RX 7000+) |
| NVIDIA (GTX 10xx+) | NVENC | H.264, HEVC, AV1 (RTX 40xx+) |
Need Help?
Contact us at contact@sebiulabs.co.uk
Website: sebiulabs.co.uk