LowLatencyKit - Self-Hosted WebRTC Video Server

Description
LowLatencyKit is a self-hosted real-time video server you can read and modify.
WebRTC lets two browsers exchange video directly, but a real product needs a server: one to exchange the connection details, and one to forward the media when a single publisher has many viewers. This kit is that server, together with a working browser client.
It ships as one Go binary with WebSocket signaling on /ws, SFU-style media forwarding, and static hosting for the web pages. Room state is held in memory. There is no database to provision, no Redis or message broker, and no per-minute billing.
The room model is deliberately simple: one publisher, many viewers. That covers "show me what you see" support, one-to-many broadcast, and remote assistance. It is not a multi-party conferencing product, and this description says so rather than leaving you to find out after purchase.
You can exercise the entire path before installing anything: open the live self-test. That page sends a generated canvas to a real server and plays it back, with no camera and no account required. If it reads PASS, signaling, the SFU hop and browser playback all worked in that browser on that network.
Features
- Single Go binary: WebSocket signaling, SFU forwarding and static site hosting
- Publisher page with camera, screen share, and a synthetic demo source that needs no camera permission
- Viewer page with automatic recovery: ICE restart first, full rejoin as the fallback, with jittered backoff
- Freeze detection built on requestVideoFrameCallback
- Live diagnostics panel: bitrate, FPS, packet loss, jitter, jitter buffer, round-trip time, network path in use, and a plain-English quality-limitation reason
- RTP passthrough: the viewer registers a MediaEngine with the publisher's own codec and payload type, so nothing has to rewrite payload types
- RTCP back to the publisher, so viewer PLI and NACK reach it and on-demand keyframes work
- Browser relay check page that separates "the UDP port is unreachable" from "the relay refused the allocation"
- Optional TURN relay: -turn, -turn-user and -turn-pass advertise the relay to every browser through iceConfig.iceServers
- coturn configuration template and a documented set of ports to open
- -public-ip flag so ICE candidates are routable on hosts that only know their private address
- -udp-port-min and -udp-port-max to pin the media port range for a finite firewall rule
- 25 second signaling heartbeat, because reverse proxies reap idle WebSockets while media flows
- Deployment files: Dockerfile, docker-compose behind Caddy, systemd unit, and a tunnel route for when there is no domain
- Self-tests included: an end-to-end canvas test and a TURN relay test, both runnable from a browser
- Pitfalls document: nine real traps written as symptom, cause and fix
- Full buyer documentation: thirteen sections covering installation, every flag, deployment, TURN, integration, customisation and troubleshooting
- Plain ES modules in the browser client, no build step and no bundler
- No third-party scripts, no CDN dependencies, no external API calls
Requirements
- Go 1.24 or newer to build the server
- A modern browser: Chrome, Edge, Firefox or Safari, current versions
- HTTPS for anything beyond a local test, because browsers only grant camera access in a secure context (localhost is the exception)
- A Linux host with a public IP for anything reachable from outside your network
- Docker is optional; the tested deployment route is the systemd unit
- A separate coturn install only if you need relayed media behind symmetric NAT
Instructions
- Unzip the package.
server/holds the Go source,web/is the browser client,deploy/holds the deployment files. - Build the server:
cd server && go build ./cmd/kitserver - Run it locally:
./kitserver. It listens on :18080 and finds the web directory on its own. - Open
http://localhost:18080/test/v2/. A PASS result means signaling, the SFU hop and playback all work. - Open
/publisher/and/viewer/in two tabs with the same room name to watch a live stream end to end. - For a real deployment follow
deploy/README.md: copy the binary andweb/to/opt/lowlatency-kit, install the systemd unit, and open the media UDP range in your provider's firewall as well as in ufw. - If the host only has a private address, start the server with
-public-ip <your public IP>. - Behind symmetric NAT, run coturn from
deploy/turnserver.confand start the server with-turn,-turn-userand-turn-pass, then verify with/test/turn/. - Full documentation is in
documentation/index.html, and online at https://lowlatencykit.com/documentation/
| Author | LowLatency |
|---|---|
| Category | Scripts & Code / Golang |
| Price | $54 |
| Extended License | $162 |
| First Release | Oct 15, 2026 |
| Last Update | Oct 16, 2026 |
| Files included | .css, .html, .go, .svg, .md, .yml/.yaml, Dockerfile, JavaScript .js |
| Programming language | JavaScript, Go |
Categories
Tags
External listing. code.market does not sell this product and does not process payment for it. Pricing, payment, delivery, licensing, refunds, and support are handled by the third-party merchant on its own website. We may earn an affiliate commission from a referral. Details.
Products of the Week.
Submit🥇
STOP GUESSING WHAT TO POST
AI that learns your brand voice and builds a month of consistent, on-brand social content: carousels, posts and hooks that sound like you, not like everyone else's AI.
SaaS · 3,183 views · 28 clicksSaaS · Week 45 · 3,183 views · 28 clicks
🥈
Conversational Backlinks for Busy Founders
Place Backlink Relevant Conversation for your domain across Forums and Conversations
Website · 40,582 views · 217 clicksWebsite · Week 45 · 40,582 views · 217 clicks
🥉
upvote.club
Free Social Media Engagement that Helps Boost Your Content. Upvote Club supports 19 social networks with 100+ engagement actions in one dashboard. Add links to your posts and get free engagement from real users.
SaaS · 38,680 views · 111 clicksSaaS · Week 45 · 38,680 views · 111 clicks
#4
Substack Posting API
Onboard your Agent to Substack. Write Publish on Substack via API
SaaS · 57,717 views · 197 clicksSaaS · Week 45 · 57,717 views · 197 clicks
#5
Seenshot App
Free, Fast, MacOS Screenshot app. Make Screenshot cmd+shift+2 and send it via link
Desktop App · 27,145 views · 119 clicksDesktop App · Week 45 · 27,145 views · 119 clicks
#6
Hand-Placed Backlinks $9.99 per link. Flat rate.
Buy hand-placed forum, Q-A and directory backlinks. Flat $9.99 per link, no subscriptions — you only pay for approved listings.
Website · 3,058 views · 18 clicksWebsite · Week 45 · 3,058 views · 18 clicks
#7
Free Invoice Generator - PDF Invoices in Your Browser, No Sign-Up
A free invoice maker for freelancers and small businesses: fill in the invoice, check the live preview, and download a PDF that looks exactly like it. Any currency, tax per item, three templates, no sign-up, and nothing leaves your device.
1,750 views · 16 clicksWeek 45 · 1,750 views · 16 clicks
#8
Merge PDF Files Free - Combine PDFs in Your Browser, No Upload
A free PDF merger for office workers, students, and freelancers: combine PDFs and images into one file in the browser, reorder files and pages, pick page ranges, keep bookmarks, and open password-protected PDFs. Nothing is uploaded, no sign-up, no watermark.
1,633 views · 13 clicksWeek 45 · 1,633 views · 13 clicks