IPTV platform · one product

Catena

Television that runs on your network

A hand-managed fleet of media servers needs a dedicated engineer, and the glue you wrote yourself gets rewritten every time you grow. Catena is one managed cluster: ingest, transcode, archive, and TV delivery to set-top boxes, phones, and Smart TVs — with subscriber packages, EPG, and billing integration. On your own hardware, starting from one Ubuntu server.

−70%of the operations engineer's time freed after moving off a hand-managed Media Server fleet
36 → 20servers for the same 163 channels and 80,000 viewers
~1 monthmigration channel by channel, with no interruption for viewers
100 Gbit/sof encrypted HLS delivered from a single streamer server

The first three figures come from one installation — a Northern European IPTV operator that replaced 36 hand-managed nodes with Catena. The 100 Gbit/s is a separate measurement on a single streamer: Xeon Gold 6240, 64 GB RAM, PCIe gen3. See the case study →

Case study

36 to 20 nodes: an IPTV operator on Catena

A regional IPTV operator in Northern Europe, 163 channels and 80,000 viewers, moved off a fleet of Flussonic Media Server nodes it had been holding together by hand.

Before

163 channels for 80,000 viewers on 36 standalone Flussonic Media Server nodes. Media Server had no real clustering, so the team wrote its own: regional placement and separate monitoring for every node. Maintenance took a dedicated person, and finding a fault meant walking the servers one by one.

After

  • 36 → 20 servers, the same 163 channels and 80,000 viewers
  • 70% of the operations engineer's time freed
  • One console points straight at the fault — no walk through 36 servers
  • Migration took about a month, channel by channel, without taking viewers off air
Read the case study

A different shape of the same engine: a hotel chain in Cyprus serves guests around 2,000 channels without feeding them into every hotel. Read the hotel case →

scenarios

Where are your viewers?

One product, one engine. The answer decides the scenario — on your ISP network or over the open internet.

Middleware already chosen?

Keep a stalker-like portal or your own apps — connect Catena underneath as the delivery engine over API, without replacing the product layer.

what to pick

If your job is a different one

Said up front, so a call does not end with «this is not for us». In these cases you need another product of ours, not Catena.

  • No home viewers, channels come from SDI/ASI. If there are no subscribers at the end of the line and the job is to take SDI or ASI and prepare TV channels around the clock, that is Mcaster

  • You broadcast inside your own company. Live streams to every employee, private streams, emergency notification and training in a closed perimeter — that is Agora

  • You need an engine, not a packaged product. Catena comes with a fixed pipeline. If you are building your own product on top of a streaming core, that is Sapsan

pipeline

From any source to every screen

Four stages of one product. Channels go in from the operator network or a content provider — and come out as a TV service for subscribers.

01 · INGEST

Ingest

Multicast straight off the operator network, SRT over lossy links, feeds from content providers. Source priorities per channel with automatic failover.

What changes: a dead source is swapped without a human — nobody gets woken up to switch an input by hand.

Works when: a channel has a second source that fails independently of the first.

MPEG-TS/UDPSRTHTTPRTMP
channel-source
02 · TRANSCODE

Transcode

A quality ladder from 2160 to 360 with a unified GOP — or take a ready-made ladder from the encoder without spending a single CPU core.

What changes: channels that already arrive with a usable ladder skip the transcoder — the same machine carries more of them.

Works when: the encoder keeps a consistent GOP across qualities; a mismatched one makes switching between them ragged.

H.264HEVCAV1ABR/MBR
transcoder
03 · RECORD

Record

Catch-up and rewind on every channel. The archive writes across independent disks: losing a disk costs only that disk's share, not the archive.

What changes: a failed disk becomes a scheduled replacement instead of a night-time incident.

Works when: archive depth and channel count are sized to the disks you actually have.

DVRcatch-uprewindJBOD
dvr
04 · DELIVER

Deliver

HLS and DASH for every device, viewer routing by network zones, session authorization — you always know who is watching and from where.

What changes: a complaint about a channel is answered from the console — who watched it, from where, and on which streamer — instead of by grepping logs.

Works when: viewers reach the streamers through Catena's session authorization rather than a bypass route.

HLSLL-HLSDASHCDN zones
cdn-zones

architecture

One brain. Any number of streamers.

Catena is a managed cluster, not a pile of media servers. One console, one API, one desired state — and machines that do the heavy lifting.

central

The control plane: configuration of every channel, statistics, web console, and API. Its only state is PostgreSQL — an intact database backup is an intact installation.

database-backup

layouter

Decides which channel runs on which streamer — predictably and with recorded reasons. You can always answer "why is this channel here".

layouter

streamers

Servers that ingest, transcode, record, and serve viewers. They keep no configuration of their own — they receive it from central.

streamers
A streamer needs central to change its configuration — not to work.

failover

Kill the control plane. The air stays on.

A central outage is a management incident, never an on-air one. Channels keep broadcasting, DVR keeps recording, viewers keep watching. When central returns, the cluster knits itself back together — no restarts.

central down

The air continues

A streamer restarted during the outage comes back instantly: warm start from the local cache of its applied configuration, without waiting for a single answer from central.

central-outage
streamer down

Channels move on

The layouter re-plans the lost machine's channels onto the surviving streamers automatically. Every move is journaled with its reason.

reliability
source down

Inputs switch carefully

Ordered source priorities: a dead source switches immediately, a degraded one only if something better exists. A recovered primary must first serve a clean window — no flapping.

input-failover

day two

Healthy is gray-green

Daily work happens in one console. The operator opens the dashboard and reads it at a glance: any red spot means work, everything else means coffee.

  • Live registry. Streamer telemetry every 2.5 seconds, per-channel error heatmap, disk and certificate warnings before they become incidents. dashboard

  • Sessions. Who is watching, which channel, from which streamer — with force-close when you need it. sessions

  • Your monitoring, not ours. Prometheus-compatible metrics and a Grafana data source built in; Retroview for deep stream analysis.

  • Upgrades on your schedule. apt install the new version, restart at a moment you choose — warm start brings channels back right after. One machine at a time across the cluster. The database keeps an N−1/N−2 compatibility window, so a staged upgrade can be rolled back without restoring a backup. upgrade

catena — dashboard
Catena dashboard
catena — channels
Catena channels list

scaling

Growth means adding machines

The smallest installation is one machine running everything. When it gets tight, you add streamers through a join window in the UI — the installation you have stays where it is, nothing gets rebuilt.

  • Permit join opens a one-hour window; the new machine enters with a token — no config file editing. Unattended rollout via Ansible is supported. add-streamer
  • Retiring a machine is just as deliberate: revoke access, delete with channel re-planning, or purge permanently. remove-streamer
  • Plain Ubuntu, deb packages, systemd. No orchestrator to learn before you can broadcast television. One command takes a bare Ubuntu box to a playing channel: apt install catena. install

adoption

How you get there — and what happens after

Catena goes in beside the service you run today, not instead of it. Channels move in groups, and a group that misbehaves goes back.

01 · PILOT

Pilot

One or two channels on Catena next to the setup you already run. The portal hands out links to the pilot only — nobody else is affected.

02 · MOVE

Move in groups

Channels migrate by group or by region. If a group does not behave, it goes back to the old setup — the move is reversible at every step.

03 · PORTAL

The portal stays

Your portal, apps, and billing stay where they are — only the access hand-off is re-pointed. Subscribers watch the way they always have.

04 · RETIRE

Retire the old fleet

Machines freed by the move get re-used in new roles rather than written off.

In the Northern European installation the whole move took about a month, channel by channel, without taking viewers off air. See the case study →

  • Support from the vendor. Your ticket is registered and diagnosed; a confirmed defect goes to the development team and comes back to you as part of a release, with notice of the fix.

  • Upgrading stays your decision. Catena never updates itself — there is no forced-update mechanism. The version changes only when your administrator changes it, through the package manager.

procurement

What you actually buy

A subscription to the platform, not licences for servers.

  • Channels and viewers. The price follows the number of channels and the number of viewers — what you actually put on air, not the size of your machine fleet.

  • Servers are not charged for. You run as many machines as suits your delivery. Adding a streamer, spreading the load across sites, or keeping spare capacity does not change the subscription.

Start with a pilot region

Tell us about your network, channel list, and subscriber count. Our engineers will lay out the architecture, server sizing, and a phased launch — in parallel with the service you run today. We agree up front on the metrics that decide whether the pilot succeeded.

Counting the money first? What the move actually costs →