Home
XtreamUIPro

OTT infrastructure · video management platform

Build, manage and scale your OTT infrastructure.

A self-hosted video management platform for broadcasters, OTT operators and media businesses. Manage live streaming, video on demand, subscribers and distributed delivery from one unified system — on servers you control.

  • Self-hosted
  • API-first
  • Distributed streaming
  • Infrastructure control

Works with the apps and boxes your viewers already use

  • Xtream Codes API
  • M3U / XMLTV
  • MAG
  • Enigma2
  • HLS
  • MPEG-TS
  • Web player
The dashboard of Xtream UI Pro: counters of streams, lines and connections, and the recent activity.
4
content types: live TV, movies, series, radio
5
levels of resellers, each with its own credits
17
billing and shop platforms with a ready connector
27
interface languages for operators and viewers

Platform capabilities

One streaming infrastructure. Multiple industries.

Everything a video service needs, from the sources to the viewer's screen, in one panel that you run yourself. Each capability below is in the product today.

Live streaming

Live channels from your own sources, with EPG, catch-up and timeshift where the source allows, delivered as HLS or MPEG-TS to the apps and boxes your viewers use.

Origin hub with one upstream per channel · RTMP in and out · ffmpeg transcoding

Learn more
The Streams page of the dashboard: the live channels with their status, category, source and output formats.

Every screen below is the dashboard of a fresh installation with the sample catalogue.

Infrastructure architecture

How the pieces fit together

One management server holds the catalogue, the subscribers and the partners. Streaming nodes carry the traffic. Your own systems talk to the API. Adding capacity means enrolling another node, not rebuilding the service.

Pick a part of the diagram to see what it does.

How it works

From a source to a screen in four steps

The same path for every channel, film and episode.

  1. Build the catalogue

    The admin adds channels, films, series and radio and groups them into bouquets.

  2. Create packages

    A package sets the bouquets, the duration, the number of connections and the price in credits.

  3. Sell lines

    A reseller spends credits on a package; the system creates the line and its play links.

  4. Viewers watch

    The viewer enters the line in an app; the system checks it and plays from a suitable server.

Delivery

Delivery that grows with your audience

Start on one server. Add nodes when the audience grows — the panel installs them, routes viewers to them and keeps your sources out of sight.

  • A cluster of edge nodes

    Enrol more servers from the panel; a node is installed over SSH, and viewers are routed to a node by load and by country.

  • One source connection per channel

    The origin pulls each channel once and fans it out to every viewer and node, so your provider sees one connection, not one per viewer.

  • MPEG-TS, HLS and RTMP

    Each package decides the output formats. Channels that need it are transcoded with FFmpeg; delayed channels and RTMP push are built in.

  • VOD stored and cached

    Films and episodes are downloaded or encoded into your media library, and nodes cache what their viewers play.

  • Signed, time-limited playback

    Every playback link is signed, expires, and is bound to the viewer's address, so a copied link is worthless elsewhere.

  • Made to be operated

    An Ubuntu installer and Docker Compose, scheduled database backups, and health and metrics endpoints for your monitoring.

The Servers page of the dashboard: the main server and the enrolled nodes, with their address, state and jobs.

Apps and devices

Your viewers keep their favourite apps

A line works wherever the Xtream Codes API, an M3U playlist, a MAG portal or Enigma2 is understood — and in the browser.

  • IPTV apps

    IPTV Smarters, TiviMate, XCIPTV, GSE and every other app that speaks the Xtream Codes API: server, username, password.

  • Playlists

    M3U and M3U Plus playlists with logos, groups and an XMLTV guide, plus ready-made formats for Enigma2 receivers.

  • Set-top boxes

    MAG boxes through the portal and Enigma2 receivers through a playlist or plugin, signed in by MAC address.

  • Web player

    Nothing to install: live TV, films, series and the guide in the browser, with a line or an activation code.

Partner & distribution management

Manage distribution partners from one place

Manage distribution partners, delegated accounts, subscriptions and access permissions from a centralised platform. Each partner gets its own dashboard, credits and limits; what it may see, sell and change is set by its group.

  • Content distributors
  • Training centres
  • Hospitality operators
  • Regional service providers
  • Authorised media partners

The platform never touches your customers' money. Your billing or commerce system takes the payment; a connector or the Reseller API creates and renews the access.

  • Reseller API

    Create, renew, change and suspend lines and sub-resellers from your own system, with separate API keys per system and a request id that prevents double charges.

  • Webhooks

    Signed notifications when a line is created, renewed, about to expire or expired, and when credits run low.

  • Ready-made connectors

    Open-source connectors for the common billing and shop platforms, published with their install steps at plugins.xtream-ui.pro — read the code before you install it.

  • Your customers stay yours

    The panel never contacts your viewers, and a deleted line is gone for good — no recycle bin, no hidden copy.

Credits: the ledger of a partner, every charge and top-up with its reason.

Connectors

  • WHMCS
  • Blesta
  • WISECP
  • HostBill
  • ClientExec
  • FOSSBilling
  • Paymenter
  • WooCommerce
  • Odoo
  • PrestaShop
  • OpenCart
  • Magento
  • Dolibarr
  • ERPNext
  • Shopify
  • Upmind
  • Invoice Ninja
See every connector on plugins.xtream-ui.pro

New release · 90-day trial

Welcome to the new Xtream UI Pro

The panel has been rebuilt from the ground up: a faster core, a cluster of edge nodes, a real media library, a hardened sign-in and a reseller business that plugs into your billing. Everything below is in the build you install today.

What is new in this release

  • Rebuilt from the ground up

    A new, lightweight core with one service per role: panel, subscriber API, worker and media server. It installs on Ubuntu in minutes with one installer, upgrades with one script, and every build shows its version.

  • Bring your existing panel with you

    A one-shot import copies categories, bouquets, groups, packages, panel users and lines from the panel you run today, through its API. It only reads the old panel, so you can try the new one next to it.

  • Edge nodes installed from the panel

    Enrol a server and the panel installs it as a node over SSH. Viewers are routed by load and by country, nodes cache what their viewers play, and the main server carries everyone until the first node is added.

  • One upstream connection per channel

    The origin pulls each live channel once and fans it out to every viewer and node. Channels that need it are transcoded, delayed channels and RTMP push are built in, and sources are probed on a schedule.

  • A real media library

    Films and episodes are downloaded or encoded into your library with TMDB metadata, provider catalogues are synchronised on a schedule, and unused media is cleaned up automatically.

  • A reseller business five levels deep

    Resellers hold credits, set their own prices, sell trials from a quota and manage the sub-resellers below them. Groups decide what each one may see, sell and change, and every sale lands in a ledger.

Changelog

Developer experience

Built to be integrated

The same operations the panel offers are available to your own systems: an HTTP API with per-system keys, signed webhooks, and documented deployment.

  • Reseller API

    Create, renew, change and suspend access from your billing, LMS or property management system; every write carries a request id, so a retry never charges twice.

  • Webhooks

    Signed notifications when access is created, renewed, about to expire, expired or disabled, and when a partner's credits run low.

  • Admin API keys

    Named keys with an optional read-only flag, an IP allow-list and an expiry, each acting as the administrator who owns it, with a call log.

  • Deployment you can read

    An Ubuntu installer, systemd units, environment variables for every service, a Docker lab for development, and an OpenAPI description of the subscriber API.

List a partner's lines
curl "$API/reseller/v1?action=get_lines" \
  -H "X-API-Key: $RESELLER_KEY"
Renew one line (idempotent)
curl -X POST "$API/reseller/v1" \
  -H "X-API-Key: $RESELLER_KEY" \
  -d "action=renew_line" -d "id=1042" \
  -d "request_id=$(uuidgen)"

Webhook events

  • line.created
  • line.renewed
  • line.expiring
  • line.expired
  • line.disabled
  • credits.low

Security & ownership

Your infrastructure, your data

Nothing of your service lives with us: the panel, the database, the media and the keys are on your servers. These are the protections the code has today.

  • Self-hosted

    Every binary runs on your own Linux servers; the only outbound calls are the ones you turn on, such as the update check or a TMDB lookup.

  • Data ownership and backups

    Postgres on your host, scheduled encrypted dumps, an optional off-site copy to S3-compatible storage, and a restore check on every dump.

  • Access control

    Roles and permission groups for the panel, two-factor sign-in, sealed secrets at rest, and an audit log of who changed what.

  • Operational resilience

    Nodes fall back to the origin, the origin keeps one upstream per channel, jobs run with leases and deadlines, and maintenance mode tells viewers what is going on.

  • Infrastructure visibility

    Prometheus metrics for the API, the panel and the worker, health endpoints, connection and traffic views, and alerts by mail, Telegram or webhook.

  • Viewer-side protection

    Signed, time-limited playback links bound to the viewer's address, connection limits, GeoIP and ISP rules, and automatic blocking of brute-force attempts.

Simple, transparent pricing

Start free, scale when you are ready. Plans differ by capacity and the support you get.

Free

Try the panel on a small catalogue, at no cost.

$0 / month
$0 / year

Free forever, no card needed

Start free
Streams
50
Lines
100
Server nodes
1
Support
Community

Business

No limit on streams or lines, priority support.

$99 / month
$1,069 / year

or $1,069 / year −10%

≈ $89 / month · billed yearly

Streams
Unlimited
Lines
Unlimited
Server nodes
20
Support
Priority
Migration assistance
Optional

Enterprise

A dedicated team, an SLA and integration with your systems.

Custom

Priced for your deployment

Contact sales
Streams
Unlimited
Lines
Unlimited
Server nodes
Custom
Support
Dedicated
SLA
Included
Custom integration
Included
Migration assistance
Included

Compare plans

FeatureFreeProfessionalBusinessEnterprise
Monthly$0$99/moCustom
Annual$0$1,069/yearCustom
Annual savingNot included10%Negotiated
Streams50UnlimitedUnlimited
Lines100UnlimitedUnlimited
Server nodes120Custom
SupportCommunityPriorityDedicated
SLANot includedNot includedIncluded
Custom integrationNot includedNot includedIncluded
Migration assistanceNot includedOptionalIncluded

The plan rows in plain language

The limits above count objects of the panel. This is what each one means for your service, and what happens when you grow.

Streams
A stream is one live channel or radio station in the catalogue, whatever its source. A film or an episode is not a stream; the video library is not limited by this row.
Lines
A line is one subscriber's access: a user name and password, or an activation code, with its package and expiry. A viewer with two devices still has one line; the device count is the line's connection limit.
Connections
Each line carries a maximum number of simultaneous connections, set per line or per package. The plans do not cap the total: it is your servers' capacity that does.
Server nodes
A node is an extra streaming server enrolled from the panel to carry viewers, in another building, region or country. The main server counts as the first; the row says how many you may add.
Partners and resellers
Every plan includes partner accounts (resellers) with credits, permissions and their own dashboard, up to five levels deep, and the Reseller API. The plans differ by capacity and support, not by these features.
The 90-day trial
For its first 90 days every installation has the full feature set with no limit on streams, lines or nodes. The plans apply when the trial ends; nothing you set up changes at that point.
Moving to a bigger plan
Plans are licences for the same software. Choosing a bigger plan on the order form raises the limits of your existing installation; the catalogue, the lines and the partners stay where they are, and nothing is reinstalled.

Secure payments

All payments processed over a hardened TLS pipeline.

Auto-renewal

Seamless licence renewal with reminders before expiry.

24/7 support

Round-the-clock technical support for paid plans.

Download

Install it on your server, connect it to your billing

The installation packages and the connectors each have a public site of their own, with checksums for every file and the full instructions.

download.xtream-ui.pro

Xtream UI Pro for your own server

One package holds every service, the installer and the upgrade, uninstall and reset scripts. A single command sets up PostgreSQL, Redis, ffmpeg and the system services; nginx in front of your domains is one option away.

  • Ubuntu 22.04 or 24.04, on a virtual machine or bare metal
  • Packages for x86_64 (amd64); ARM64 builds on selected releases
  • A SHA-256 checksum for every package, and an upgrade script for running servers
  • Full installation guide: main server, edge nodes, domains with TLS and every option

plugins.xtream-ui.pro

Connectors for your billing system or shop

17 open-source connectors (MIT licence) let a reseller sell lines and sub-reseller accounts from WHMCS, WooCommerce, Odoo and other systems. A paid order creates the line; renewal, suspension and cancellation follow automatically.

  • Install steps, connection test and a README for every connector
  • Archives with SHA-256 checksums and a version list for updates
  • Source code on GitHub: report problems or contribute a connector

Early versions, not yet proven in real use: try a connector on a test copy of your system before taking real orders.

Straight answers

What is Xtream UI Pro, and how does it work?

The questions people ask about the product before they install it, each answered in plain words. Every statement below describes what the software does today; the help centre goes into the details.

What is Xtream UI Pro?

Xtream UI Pro is a self-hosted OTT infrastructure and video management platform: one panel, running on your own Linux servers, that manages live channels, video on demand, subscribers, partners and distributed streaming nodes. It is made of a few Go services — the admin dashboard, the subscriber API, the background worker and the media origin — with PostgreSQL as the database and ffmpeg for probing and encoding. Viewers watch with the apps and boxes that already speak the Xtream Codes API, M3U playlists, the MAG portal or Enigma2, or in the built-in web player.

What do you need to install Xtream UI Pro?

Xtream UI Pro installs on Ubuntu 22.04 or 24.04 with one command. The installer sets up:

  • PostgreSQL, the database, and Redis, an optional cache, both tuned to the CPU count and RAM of the machine
  • ffmpeg, for probing and transcoding
  • the system services of the dashboard, the API, the worker and the media origin, under systemd
  • nginx in front of your domains, when you ask for it with one installer option

Streaming nodes are added later from the panel: the panel installs them over SSH from the same package, with nothing to prepare on the node.

Which apps and devices can viewers use with Xtream UI Pro?

A viewer can watch with any app that speaks the Xtream Codes API — IPTV Smarters, TiviMate, XCIPTV, GSE and the like — on phones, tablets, Android TV and smart TVs; with an M3U or M3U Plus playlist and an XMLTV guide in any player that reads them; on a MAG box through the portal; on an Enigma2 receiver through a playlist or plugin; and in the browser with the built-in web player. Supported formats: Xtream Codes API, M3U / XMLTV, MAG, Enigma2, HLS, MPEG-TS. Live channels are delivered as HLS or MPEG-TS, with catch-up and timeshift where the source allows.

Which billing and shop platforms have a ready connector for Xtream UI Pro?

Xtream UI Pro has a ready connector for 17 billing and commerce platforms: WHMCS, Blesta, WISECP, HostBill, ClientExec, FOSSBilling, Paymenter, WooCommerce, Odoo, PrestaShop, OpenCart, Magento, Dolibarr, ERPNext, Shopify, Upmind, Invoice Ninja. A connector is installed on the reseller's side (PHP or Python, depending on the platform), talks to the Reseller API with the reseller's own key, and creates, renews or suspends lines when an order is paid; the panel sends signed webhooks back for line.created, line.renewed, line.expiring, line.expired, line.disabled, credits.low. The connectors are open source at https://github.com/xtreamui-pro/plugins.

How does Xtream UI Pro deliver a stream to many viewers?

Xtream UI Pro delivers live and on-demand video through an origin and optional edge nodes. The origin, the media server on the main host, keeps one upstream connection per live channel and fans it out to its viewers. A streaming node, enrolled from the panel and installed over SSH, pulls each channel from the origin once and serves the viewers near it, with its own cache for on-demand files. The API routes each viewer to a node by load and by country (GeoIP) and falls back to the origin while no node is available. Playback links are signed, time-limited and bound to the viewer's address.

Is Xtream UI Pro compatible with the Xtream Codes API?

Yes. Xtream UI Pro speaks the Xtream Codes player API, get.php playlists, XMLTV EPG, the Stalker portal of MAG boxes and the Enigma2 formats, so the apps, boxes and playlists that work with an Xtream Codes panel work with it unchanged; these wire formats are kept compatible on purpose and pinned by tests. A running PHP panel can be copied into it with the import tool — categories, bouquets, packages, panel users and lines — through that panel's Admin API, read-only. The panel itself, the Reseller API and the Admin API are new.

How do resellers and partners work in Xtream UI Pro?

A partner (reseller) is a panel account with its own dashboard, credits and permissions, up to 5 levels deep. The admin defines packages — bouquets, duration, number of connections and price in credits; a reseller spends credits to create or renew a line, and hands out trials and activation codes within the rules set for its group. Everything a reseller does in the panel is also available to its own systems through the Reseller API (HTTP, the key in the X-API-Key header, idempotent request ids) and through the signed webhooks.

Where does the data of an Xtream UI Pro service live, and does it call home?

Everything lives on your servers: the database, the media files, the keys and the backups. The panel calls the publisher for one thing only, the daily update check, which sends the version number and can be switched off; every other outbound call goes to a service you configure yourself, such as TMDB for film metadata, the GeoIP database downloads, mail, Telegram or S3 storage. Backups are scheduled pg_dump files, encrypted when a passphrase is set, each one read back with pg_restore to check that the archive is intact, with an optional copy to S3-compatible storage; two-factor sign-in, sealed secrets at rest and an audit log protect the panel.

Your infrastructure. Your content. Your control.

Install the platform on your own servers, add your sources and your viewers, and keep every part of the service in your hands.

Talk to us

Questions before you start, or help getting your first server online — reach us on the channel you prefer.