self-hosted IPTV re-streaming server

Your channels. Your server. Re-streamed.

g4t relay takes any RTMP, SRT, WHIP, HLS or RTSP source and serves it to your viewers as adaptive HLS from a box you control — with lines, bouquets, catch-up DVR, EPG and a full REST API built in. One binary, one command.

RTMP · SRT · WHIP · HLS · RTSP inHLS · RTSP · SRT · WebRTC outLinux x86_64 / arm64
stream.yourdomain.com/overview
Live channels
248 / 260
Viewers
3,412
Traffic out
8.4 Gb/s
Active lines
1,980

Everything an IPTV operator needs, done properly.

01 / INGEST

Push or pull, with failover

Encoders push RTMP, SRT or WHIP; cameras and remote playlists are pulled over RTSP, HLS or HTTP. A backup source takes over automatically and a slate plays instead of a black screen.

RTMPSRTWHIPRTSPHLS
02 / DELIVER

Adaptive HLS and DVR

Pick a rendition ladder per channel (1080p to 240p), add a watermark, and keep catch-up recordings for as long as you choose. Viewers switch quality on the fly.

ABR ladderWatermarkCatch-upLL-HLS
03 / SELL

Lines and bouquets

Every customer gets a line: an M3U playlist, bouquets of channels, an expiry date and a device limit where the newest device wins. XMLTV EPG is served alongside.

M3UBouquetsDevice limitXMLTV
04 / WATCH

Live stats and alerts

Viewers, bitrates and traffic per channel, a 24 h history, and Telegram alerts when a source drops, a server fills up or a line expires.

DashboardTelegramHistory
05 / AUTOMATE

REST API and webhooks

Everything in the panel is an endpoint: create channels, manage lines and bouquets, import EPG and read stats from your billing system, with scoped integration keys and signed webhooks.

JSONScoped keysWebhooks
06 / RUN

One binary, managed updates

A single static binary with MediaMTX and ffmpeg fetched on first start. Updates are published to your server and applied with one click; remote support without sharing a password.

StandaloneUpdates
HOW IT WORKS

From download to first viewer in minutes.

1

Install on your server

Run the one-liner above on any Linux server or VPS. Open http://your-ip:1996: the installer asks for the first admin and the rendition ladder.

2

Send us your licence key

The panel shows a key under Settings → Licence. Send it to us and we activate your plan; the server checks in every 5 minutes and resumes at once.

3

Add channels and lines

Point encoders at the RTMP or SRT address, create lines for your customers and hand them an M3U playlist. Done.

4

Stay current

New versions are published to your panel; you apply them with one click. If something goes wrong, we can open a one-time support session without your password.

DOWNLOAD

One file per platform.

Version 1.0.0. Each file is the complete server: panel, media core and updater. Verify with SHA256SUMS.

01 / LINUX

Linux · x86_64

Ubuntu, Debian, CentOS and any other distribution on Intel or AMD servers and VPS. The usual choice.

stream-go-linux-amd64 Download stream-go-linux-amd64
02 / LINUX ARM

Linux · arm64

ARM servers such as AWS Graviton, Oracle Ampere, Raspberry Pi 4/5 and other aarch64 boards.

stream-go-linux-arm64 Download stream-go-linux-arm64
03 / MACOS

macOS · Apple Silicon

For testing on a Mac with an M-series chip. Production servers should use Linux.

stream-go-darwin-arm64 Download stream-go-darwin-arm64
# Linux server: download, make executable, run (port 1996)
curl -fsSLo stream-go https://relay.g4t.io/downloads/stream-go-linux-amd64 && chmod +x stream-go && ./stream-go serve --standalone
# then open http://YOUR-SERVER-IP:1996 and finish the installer
INTEGRATION API

Add a channel in one request.

Scoped integration keys, predictable JSON, and the same endpoints the panel uses for channels, lines, bouquets, EPG and stats. Webhooks tell your billing system when a line expires or a source drops.

# create a pull channel
curl -X POST https://stream.yourdomain.com/api/v1/channel \
-H "Authorization: Bearer $INTEGRATION_KEY" \
-d '{"name":"Sports 1","slug":"sports-1",
"source_type":2,"source_url":"srt://10.0.0.4:9000",
"dvr_enabled":true,"dvr_retention_hours":72}'
# → 201 Created
{ "message": "Channel created successfully", "id": 12 }

Pricing

One licence per server. Every plan includes the full panel, updates and remote support; the difference is how long it runs and how much it may serve.

CONTACT US To activate a plan, renew, or ask for a custom offer, email us with your licence key: info@g4t.online
Trial
Free 7-day trial
7-day trial for new servers
+Up to 10 channels
+Up to 50 concurrent viewers
+7 days of service, renewable
+Starts the moment the server is installed
+Updates and remote support included
Download and start
Monthly
POPULAR
Contact us
Renewed every month
+Unlimited channels
+Unlimited viewers
+30 days of service, renewable
+Activated by us within minutes
+Updates and remote support included
Get this plan
Yearly
Contact us
Renewed every year
+Unlimited channels
+Unlimited viewers
+365 days of service, renewable
+Activated by us within minutes
+Updates and remote support included
Get this plan