MPTS Demux

MPTS Demux #

The MPTS Demux transformation enables demultiplexing a Multi-Program Transport Stream (MPTS) into its individual programs. This transformation is useful when you need to extract specific programs from a larger stream for further processing or distribution. It also enables basic modifications of PIDs in the stream.

Service filter #

The service filter allows you to select specific services (programs) from the MPTS for demultiplexing. Only specified services will be included in the output stream. All other services will be removed.

If the stream is active, the list of services is populated automatically based on the current content of the stream. You can also manually enter service IDs if the stream is not active, or if you want to select services that are not currently present in the stream.

graph TB subgraph Input["Input MPTS"] P1["Program 1 (Service ID: 100)
Video: PID 256
Audio: PID 257"] P2["Program 2 (Service ID: 200)
Video: PID 512
Audio: PID 513"] P3["Program 3 (Service ID: 300)
Video: PID 768
Audio: PID 769"] end Input --> Filter[Service Filter
Select: 100, 300] Filter --> Output["Output Stream
Program 1: PIDs 256, 257
Program 3: PIDs 768, 769"] style Input fill:#e1f5ff style Output fill:#d4edda

Limitations #

Constant bitrate transport streams will become variable bitrate transport streams when a service filter is applied.

PID remapping #

The PID remapping feature enables three operations: Map, Delete and Set null.

  • Map: Change the PID of specified streams to new values
  • Delete: Drop specific PIDs from the output. (Saves bandwidth)
  • Set null: Replace data packets from specific PIDs with null packets in the output stream. (Keeps same bandwidth)

graph LR subgraph Input["Input Stream"] I1["Video: PID 256"] I2["Audio 1: PID 257"] I3["Audio 2: PID 258"] end subgraph Remap["PID Remapping"] R1["256 → 100"] R2["257 → 101"] R3["258 → Delete"] end subgraph Output["Output Stream"] O1["Video: PID 100"] O2["Audio 1: PID 101"] end I1 --> R1 --> O1 I2 --> R2 --> O2 I3 --> R3 style Input fill:#e1f5ff style Output fill:#d4edda