Quick start¶
This page takes a clean machine to a signal received from the network and sent back into the network — the reason a headend exists. Clustering, archive and transcoding are not configured here: they come later.
What you need¶
- A machine with Ubuntu 24.04 and root access, in the same network segment where the multicast runs.
- Internet access — the licence is activated online.
- A licence key from your account at my.flussonic.com. The installation asks for it itself.
- A live multicast group carrying MPEG-TS — say
239.255.1.77:5500. If there is none, start with the synthetic source: it exercises the whole path except the ingest.
Install¶
curl -L http://apt.flussonic.com/repo/master/dev.key > /etc/apt/trusted.gpg.d/dev.gpg
echo "deb http://apt.flussonic.com/branch/sapsan/master repo/" > /etc/apt/sources.list.d/flussonic.list
apt update
apt install --install-recommends mcaster
One package is enough: it pulls in the engine of its own version and PostgreSQL, creates the database, generates the passwords and starts mcaster.service. --install-recommends keeps the transcoder working — it arrives as a recommended dependency.
What exactly the package puts down is on the Installation page.
Log into the panel¶
The package wrote the administrator password into the secrets file:
grep EDIT_AUTH_PASSWORD /etc/mcaster/secrets.env
Open http://<server-address>/ and log in as admin with that password.
Take the multicast in¶
Go to Streams, enter the name tv1 and press Create. The stream opens on the Sources tab.
Press + Add source, choose the UDP MPEGTS protocol and fill in:
- Host — the group address,
239.255.1.77; - Port —
5500; - Peer timeout (ms) — how much silence in the group to tolerate before restarting the ingest; an empty field means the default.
Press Save. The station subscribes to the group, and within a few seconds the stream turns green: a bitrate and a track list appear.
If the group carries a multiplex rather than a single service, put the number into the Program (PNR) field — see Multicast and MPTS ingest.
Send it to the network¶
Open the Egress tab and press + Add push in the Pushes block:
- Name —
headend-out. The name is the destination's identity: the push is found by it in the settings, in the statistics and in the metrics. - Protocol — MPEG-TS/UDP.
- Host and Port — the group the signal is handed over to, say
239.1.1.10and5000. - Multicast TTL and Outgoing interface — filled in when the machine has several network cards or the packet has to survive a router.
Press Save. A live statistics line appears under the push settings: Pushing, the rate in kbit/s, errors per second, reconnects.
Check what arrived¶
From a machine standing in the target network, subscribe to the group and look at what runs in it: first whether the packets arrive at all (tcpdump -i <iface> host 239.1.1.10), then whether your receiver or transport stream analyser parses a program with the same tracks the stream card shows.
What the program number and the PIDs in its output mean, and how to set them, is on the Outgoing MPEG-TS page.
The second source of truth is the station's own statistics: the line under the push answers "we are sending", the receiver answers "it arrived". A disagreement between those two answers is exactly what a network problem looks like. The counters are explained on the Delivery monitoring page.
If something went wrong¶
systemctl status mcaster
journalctl -u mcaster -n 50
- The service is not running, the log mentions the licence. The key was not entered during installation. Put it into
/etc/mcaster/license.txtand runsystemctl start mcaster. - The service is not running, the log mentions the database. PostgreSQL is unreachable: write a working
DATABASE_URLinto/etc/mcaster/secrets.envand restart the service. - The stream is red, there is no bitrate. The group's packets do not reach the machine: a different VLAN, an IGMP request not passed by the switch, a firewall cutting UDP, a wrong group or port. Check from this machine — it is the one that subscribes.
- There is a bitrate but no tracks. The stream arrives, but it is not that service: the group carries a multiplex and a program number is needed.
- The push says "Pushing", the receiver sees nothing. The packets leave into the wrong network or die on a router: set the Outgoing interface and raise the Multicast TTL.
- The push is in the "Error" state. The reason is written right there, next to the status: connection refused, timeout, receiver rejection.
What next¶
- Add a backup input — a second source and automatic switching.
- Set the PNR, PIDs and SDT — so that the receiver sees the service under the right number.
- Get a CBR — when the signal goes to a modulator.
- Set up monitoring — alerts for delivery that stopped.