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.
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.
Ingest
Multicast straight off the operator network, SRT over lossy links, feeds from content providers. Source priorities per channel with automatic failover.
channel-sourceTranscode
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.
transcoderRecord
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.
dvrDeliver
HLS and DASH for every device, viewer routing by network zones, session authorization — you always know who is watching and from where.
cdn-zonesarchitecture
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-backuplayouter
Decides which channel runs on which streamer — predictably and with recorded reasons. You can always answer "why is this channel here".
layouterstreamers
Servers that ingest, transcode, record, and serve viewers. They keep no configuration of their own — they receive it from central.
streamersA 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.
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-outageChannels move on
The layouter re-plans the lost machine's channels onto the surviving streamers automatically. Every move is journaled with its reason.
reliabilityInputs 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-failoverday 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


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.
On your ISP network — IPTV
Subscribers on FTTH or a private IP network, including migration from DVB-C cable: engine plus production IPTV middleware — set-top boxes, packages, EPG, billing sync.
Cable→IPTV scenarioOver the internet — OTT
The same engine for live and catch-up at scale. The portal, apps, and monetization stay yours or a partner's.
OTT scenarioMiddleware 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.