Home
XtreamUIPro

Setup guide

Media & Content Creators setup guide

Configure the platform as the direct-to-audience service of a studio or creator: a 24/7 channel, a library of shows, supporters from your shop and affiliates as partner accounts.

These guides map an industry's concepts onto the objects the platform has today (bouquets, lines, packages, partner accounts, nodes, the API). They are conceptual mappings, not industry-specific features, and a partner account is a delegated account, not an isolated tenant.

Conceptual mapping

Nothing in the panel is called a show or a supporter. The table says which object plays which role; the chapters below set them up in that order.

In your industryOn the platformWhere in the panel
The studio's channelLive channel: a stream with its sources, EPG and output formatsStreams → add a live stream (source URL or RTMP push)
Show libraryVOD catalogue: movies and series with seasons and episodes, categories and metadataMovies and Series, or the VOD ingest job
Subscription tierBouquet: a named set of channels, films or series that a package grantsBouquets, from Streams and Movies / Series
Supporter accessLine: one access with its package, bouquets, expiry, connection limit and outputsLines → add, or activation codes, or the Reseller API
Billing periodExpiry date of the line, renewed by a package, a credit or the APIThe line's expiry date and the package's duration
Affiliate or distributor accountPartner account (reseller): a delegated dashboard with credits, permissions and its own linesUsers → add a reseller; Groups for its permissions
Shop or membership integrationReseller API and webhooks: the operations of the panel from your own systemReseller API keys and webhooks in the reseller's dashboard

Prerequisites

What to have before installing.

  1. A server (Ubuntu 22.04 or 24.04) with a public address or a domain, and enough upstream bandwidth for the audience you expect.
  2. The finished episodes, the studio's playout or encoder for the channel, and a shop on a platform with a connector, or the ability to call an HTTP API.
  3. A decision on tiers and on affiliates: what each subscription grants, and who may sell it.

Infrastructure deployment

One server first, nodes as the audience grows.

  1. Run the installer on the management server and put the panel behind a reverse proxy with TLS; set the trusted proxies so IP rules see the viewer's real address.
  2. Set the playback base URL to the public address your audience reaches.
  3. Enrol a node from Servers in a region where many supporters watch; the panel installs it over SSH and routes that region's viewers to it.
  4. Create a partner account (reseller) for each staff member who runs the catalogue or the supporters, with its own permission group.

Content organisation

Shows as series, tiers as bouquets.

  1. Create categories per genre, and one series per show with a season per release batch and one episode per video.
  2. Create a bouquet for the live channel, one for the free or entry content and one for each higher tier.
  3. Create one package per tier with the billing period as its duration, a trial package for new visitors if you want one, and a price in credits for the affiliates.
  4. Keep the back catalogue in its own category so it can be moved between tiers without touching the series.

Partner (reseller) configuration

Affiliates and distributors.

  1. Create a group for affiliates with line permissions only, so they cannot change the catalogue.
  2. Add each affiliate as a reseller with that group and a balance of credits; its package price is what the studio decides.
  3. A distributor with sub-affiliates may create sub-resellers under its own account, up to five levels deep.

Supporter access configuration

One line per supporter.

  1. Install the connector of your shop (WooCommerce, for instance) and enter the Reseller API key and the package that matches each product.
  2. On subscription the connector calls create_line with the package and a request id; the billing period is the package's duration.
  3. Set max connections to the number of devices a supporter may use, typically two or three.
  4. For a giveaway or a launch, generate activation codes in bulk or add lines from Lines → add with a trial package.

Show library

Episodes on demand.

  1. Upload each episode as a source, or ingest it with the VOD ingest job; fill in the title, the season, the episode number and the TMDB metadata if the show has any.
  2. Attach each series to the bouquets of the tiers that may watch it.
  3. Check playback with a test line of each tier before announcing a release.

The studio's channel

A channel around the clock.

  1. Add a live stream for the studio's playout (RTMP push) and place it in the bouquets of every tier that includes the channel.
  2. Load the channel's guide as XMLTV so supporters see what is on, and enable catch-up for the shows that are worth replaying.
  3. Keep the playout running between releases with the studio's own scheduled content; the panel only relays the stream.

Subscription expiry

Access follows the payment.

  1. A line expires at the end of its package's period; the shop renews it with renew_line when the next payment arrives.
  2. Subscribe the shop to the webhooks to send a reminder on line.expiring and to downgrade a supporter on line.expired.
  3. A supporter who cancels is disabled by the shop with disable_line, and the line can be renewed later without a new account.

Integration with the shop

The shop sells; the player plays.

  1. The connector creates, renews and disables lines in step with orders; any other shop uses the Reseller API and webhooks.
  2. Affiliates see their own lines in their dashboard, and the Reseller API lets them automate it.
  3. There is no single sign-on for viewers: supporters sign in to the player with the credentials of their line, which the shop sends them.

Security considerations

Protect the subscription, not only the server.

  1. Serve the panel and the playback base URL over TLS and set TRUSTED_PROXIES to your reverse proxy.
  2. Two-factor sign-in for every panel account, and permission groups so affiliates cannot change the catalogue.
  3. Signed and expiring playback links and a connection limit per line; bind a line to a country if a licence is territorial.
  4. Encrypted database backups with an off-site copy, and the audit log for every change of lines and catalogue.

Troubleshooting

The usual first checks.

  1. A new supporter cannot watch after paying: check the shop connector's call in the Reseller API log and the line's expiry date.
  2. A supporter sees content of a higher tier: check the package of the line and the bouquets it grants.
  3. The channel stops at the end of a playout cycle: check the encoder's push to the live stream and the stream's probe status.
  4. An affiliate's sale does not appear: check its credits and that the package it used belongs to its group.