Skip to content

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;
  • Port5500;
  • 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:

  • Nameheadend-out. The name is the destination's identity: the push is found by it in the settings, in the statistics and in the metrics.
  • ProtocolMPEG-TS/UDP.
  • Host and Port — the group the signal is handed over to, say 239.1.1.10 and 5000.
  • 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.txt and run systemctl start mcaster.
  • The service is not running, the log mentions the database. PostgreSQL is unreachable: write a working DATABASE_URL into /etc/mcaster/secrets.env and 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