Skip to content

MPTS ingest

MPTS stands for Multi-Program Transport Stream (MPEG-TS) that carries many TV programs. MPTS widely used in DVB networks (satellite, cable, or terrestrial broadcasting). Flussonic Media Server can create MTPS as well.

Within DVB networks, such as satellite, cable, and terrestrial, with no IP and any other way to divide the communication channel between separate video streams MPTS is used. Flussonic Media Server can make MTPS.

Usually MPTS is received via UDP multicast from the headend that receives the DVB signal and sends the stream to the IP network. Less often, MPTS is received over HTTP.

On the page:

Requirements

  • Meet the requirements for SPTS multicast ingest.
  • Program number of the required channel within the MPTS. You can ask your content provider or check the stream yourself using the FFprobe tool:
ffprobe http://FLUSSONIC-IP/STREAM_NAME/mpegts

In the output, find the Program and next to it is the program number:

Input #0, mpegts, from 'http://FLUSSONIC-IP/STREAM_NAME/mpegts':
  Duration: N/A, start: 86814.877644, bitrate: N/A
  Program 1
    Metadata:
      service_name    : Service01
      service_provider: FFmpeg
    Stream #0:0[0x100]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(top first), 720x576 [SAR 16:11 DAR 20:11], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 59 kb/s
...

How to configure MPTS ingest in Flussonic Media Server

For each channel that you want to ingest, do the following steps:

  1. In the Flussonic UI, create a stream by moving to Media > Streams and clicking + in the upper left corner. Specify the input using mpts-udp://, for example, mpts-udp://239.0.0.1:1234.

    Depending on the protocol, use one of the following types of source URLs:

    • mpts-udp:// is ingest UDP MPTS. Specify program (program ID of the channel) to make it work.
    • mpts-http:// is ingest HTTP MPTS. Specify program (program ID of the channel) to make it work.
    • mpts-https:// is ingest HTTPS MPTS. Specify program (program ID of the channel) to make it work.
    • udp:// isn't recommended.

      Warning

      If you set MPTS ingest with the same configuration as SPTS multicast ingest with udp://, the server will capture the same stream with high bitrate several times.

    • mpts-dvb:// is ingest from a DVB card.

  2. Open the stream settings by clicking the stream name and go to the Input tab. Open the source settings by clicking Options next to the source URL. In the Headers section, find the MPEG-TS program: select only specific program from MPTS MPEG-TS field and specify the program number (PNR).

    MPTS program ID

  3. For DVB-T2 MI, incapsulated in MPEG-TS also specify the stream ID PLP (Physical Layer Pipe) using the ?plp= in the source URL.

  4. Save the settings.

Repeat the steps for each program in the MPTS stream.

Find all available MPTS ingest parameters in the Flussonic API Reference.

See the example of configuration for ingesting three programs, as it appears in the configuration file /etc/flussonic/flussonic.conf:

stream one {
  input mpts-udp://239.0.0.1:1234 program=2001;
}

stream two {
  input mpts-udp://239.0.0.1:1234 program=2002;
}

stream three {
  input mpts-udp://239.0.0.1:1234 program=2003;
}

Here:

  • mpts-udp://239.0.0.1:1234 is the UDP MPTS source.
  • program=2001 is the program number.

Note

When using the mpts-udp:// source, Flussonic Media Server captures the MPTS stream once. This way, each stream receives the required program. This makes mpts-udp:// stand out from the other sources, including udp://.

If you use the mpts-udp:// source instead of udp:// to ingest UDP MPTS, the server captures MPTS once without overloading the CPU. Here is the Pulse diagram of CPU usage when ingesting 12 programs from the MPTS:

CPU load when ingesting UDP MPTS diagram