IPTV platform · one product

Catena

Television that runs on your network

Catena ingests channels from your headend, transcodes them, records the archive, and delivers TV to set-top boxes, phones, and Smart TVs — with subscriber packages, EPG, and billing integration. On your own hardware, starting from one Ubuntu server.

1command from bare Ubuntu to a playing channel: apt install catena
0restarts when central comes back — the cluster knits itself together
100 Gbit/sof video delivered from a single streamer server
N−1/N−2database compatibility window: staged upgrades, rollback without restoring backups

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.

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.

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.

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.

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. 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. install

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.

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.