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:
-
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. Specifyprogram
(program ID of the channel) to make it work.mpts-http://
is ingest HTTP MPTS. Specifyprogram
(program ID of the channel) to make it work.mpts-https://
is ingest HTTPS MPTS. Specifyprogram
(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.
-
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).
-
For DVB-T2 MI, incapsulated in MPEG-TS also specify the stream ID PLP (Physical Layer Pipe) using the
?plp=
in the source URL. - 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: