Skip to content

Documentation

SAT>IP URL Builder & T2-MI / MPS Decapsulation

Complete technical reference for SAT>IP URL construction, multistream parameters, T2-MI encapsulation, and professional decapsulation workflow.

  • 2026-03-31 15:22
  • 2026-07-21 11:46

SATLINE · Technical reference

Complete reference for SAT>IP URL construction — multistream ISI/PLS, and direct, server-side T2-MI and MPS decapsulation.

Published 2026-03-31 Updated 2026-07-14 Applies to SAT>IP Server Pro v3.0.0+
New

Direct decapsulation is now built in

SAT>IP Server Pro now performs T2-MI and MPS decapsulation server-side — the inner transport stream is unwrapped and delivered straight over HTTP, RTSP or SRT. The old two-step workflow (stream the raw container, then decapsulate with external Astra-SM) is no longer required. Add the t2mi_* or mps_* parameters to your URL and the server returns the ready-to-play inner stream.

1.Overview

SAT>IP streams DVB content over IP using HTTP. The URL is how you tell the server which transponder to tune and how to process the signal — from a basic transponder to complex multistream and T2-MI configurations that simpler tools can’t handle.

Every URL carries tuning parameters (frequency, polarization, symbol rate, modulation, FEC) plus, when needed, advanced parameters:

  • Multistreamisi, plsc, plsm select one stream on a shared DVB-S2/S2X carrier.
  • T2-MI decapsulationt2mi_pid, t2mi_plp, t2mi_pids unwrap a DVB-T2 multiplex carried over satellite.
  • MPS decapsulationmps_pid, inner_sid, inner_pids extract a nested inner transport stream.
  • Descramblingbiss keys for BISS-scrambled contribution feeds.
  • PID filtering & duration — request specific channels; bound a scan.

Properly constructed URLs work with any SAT>IP client — TVHeadend, VLC, Enigma2, Cesbo Astra — and, for T2-MI/MPS, the decapsulated stream plays directly with no post-processing.

2.Basic parameters

Mandatory tuning parameters for any satellite transponder.

ParameterDescriptionExampleNotes
srcDiSEqC source / input position1Set by your tuner provisioning
freqTransponder frequency (MHz)11727Ku-band ≈ 10700–12750
srSymbol rate (KSym/s)30000Common: 22000 / 27500 / 30000
polPolarizationv / hVertical / Horizontal
msysDelivery systemdvbs2dvbs, dvbs2, dvbt, dvbt2, dvbc
mtypeModulation8pskqpsk, 8psk, 16apsk, 32apsk
fecForward error correction34See FEC notation below
Basic DVB-S2 URL
http://SERVER:8875/?src=1&freq=11727&pol=v&sr=30000&msys=dvbs2&mtype=8psk&fec=34&pids=all

This tunes 11727 MHz Vertical, 30000 KSym/s, DVB-S2 / 8PSK / FEC 3⁄4, and streams the full transponder (pids=all).

3.FEC notation

FEC values use a compact two-digit notation — numerator then denominator.

ValueRatioTrade-off
121/2Maximum protection, lowest bitrate
232/3High protection
343/4Balanced — most common
454/5Good efficiency
565/6High efficiency
898/9Max efficiency, needs strong signal
9109/10Ultra-high efficiency (DVB-S2X)

Rule of thumb: higher ratios (8/9, 9/10) give more usable bandwidth but demand a stronger signal; lower ratios (1/2, 2/3) spend more on error correction and tolerate weaker signals.

4.Multistream — ISI

DVB-S2/S2X multistream carries several independent transport streams on one carrier. The isi parameter (Input Stream Identifier, 0–255) selects which one.

isi
Input Stream Identifier — selects the stream. Range 0–255. Alias: plp.

Real example — Eutelsat 5°W, 12.536 GHz H

One frequency, multiple regional Italian streams selected by ISI:

ISIContentChannels
1RAI mux MR 5Rai 1/2/3 HD regional variants (7)
4RAI mux MR 10Further regional Rai variants (7)
9Puglia/Basilicata Locale 1TeleNorba HD, TeleDue HD… (17)
Select ISI 9
http://SERVER:8875/?src=1&freq=12536&pol=h&sr=35300&msys=dvbs2&mtype=8psk&fec=23&isi=9&pids=all
Multiple ISIs at once

A single physical demod streams one ISI at a time. To serve several ISIs from the same dish concurrently, provision one tuner per ISI (each locks the same transponder with a different isi=).

5.PLS code & mode

Some multistream carriers are separated by a Physical Layer Scrambling (PLS) code rather than — or together with — ISI.

plsc
PLS code. Range 0–262143.
plsm
PLS mode: gold (default, most common), root, or combo. Alias: pls_mode.
PLS gold code
http://SERVER:8875/?src=1&freq=12606&pol=v&sr=35300&msys=dvbs2&mtype=8psk&fec=23&plsm=gold&plsc=131070&isi=5&pids=all
Correct parameter names

The scrambling parameters are plsm (mode) and plsc (code) — not pls=. Gold and root are two notations for the same sequence: a gold code index and its root are interchangeable (e.g. gold 131070 ≡ root 16416), so either plsm=gold&plsc=131070 or plsm=root&plsc=16416 tunes the same stream.

6.T2-MI decapsulation

T2-MI (T2 Modulator Interface) encapsulates a full DVB-T2 multiplex inside a DVB-S2 carrier — the satellite-to-terrestrial gateway used to distribute DTT muxes to regional transmitters. SAT>IP Server Pro decapsulates it and returns the inner DVB-T2 transport stream directly.

t2mi_pid
Outer PID carrying the T2-MI packets. Use auto (tries 4096, then 4095) or an explicit PID (typically 4096).
t2mi_plp
DVB-T2 Physical Layer Pipe to extract. Default 0 when t2mi_pid is set; use auto to pick the first PLP that carries data, or all to merge every PLP (e.g. a common PSI PLP + data PLPs). Most feeds only carry PLP 0.
t2mi_pids
PID selection on the extracted inner TS. Default all; or a CSV list for an SPTS-style output.
bbframe
bbframe=1 enables raw DVB-S2 BBFrame input mode for STiD135-based tuners on multistream (MIS) carriers whose bursty T2-MI the demod drops (~9% loss) when de-encapsulating in hardware — the inner mux is then undecodable despite perfect RF. The demod emits raw BBFrames instead and the server rebuilds the outer TS losslessly, then decapsulates T2-MI as usual. Applied per-tune, so the same card still serves normal-TS transponders at the same time. For MIS carriers set the PLS as plsm=gold&plsc=<code>.
Decapsulate — full inner multiplex
http://SERVER:8875/?src=1&freq=11727&pol=v&sr=30000&msys=dvbs2&mtype=8psk&fec=34&pids=all&t2mi_pid=auto&t2mi_plp=0&t2mi_pids=all
Decapsulate — selected inner PIDs (SPTS)
http://SERVER:8875/?src=1&freq=11727&pol=v&sr=30000&msys=dvbs2&mtype=8psk&fec=34&pids=all&t2mi_pid=auto&t2mi_plp=0&t2mi_pids=0,1,17,18,4112,4128
Raw BBFrame mode — MIS T2-MI the demod drops (e.g. RAI 4K, 5°W)
http://SERVER:8875/?src=1&freq=12606&pol=v&msys=dvbs2&mtype=8psk&sr=35300&fec=23&ro=0.35&isi=5&plsm=gold&plsc=131070&bbframe=1&pids=all&t2mi_pid=4096&t2mi_plp=0
How it behaves
  • When t2mi_pid is set, the output is the inner TS — decapsulated and ready to play. Works over HTTP, RTSP and SRT.
  • Inner PID selection is controlled by t2mi_pids; the outer pids= is not used to pick inner PIDs.
  • PMT-based SPTS selection (pmt= / numeric streamid) is not available in T2-MI mode — list inner PIDs with t2mi_pids instead.
  • Only add T2-MI parameters for transponders that actually use T2-MI. Use the Channels Analyzer to confirm.

7.MPS decapsulation

MPS feeds wrap a nested inner transport stream inside an outer PID (a different encapsulation from T2-MI). SAT>IP Server Pro extracts the nested TS server-side, with optional BISS descrambling for protected contribution feeds.

mps_pid
Outer PID carrying the nested inner TS. Enables MPS decapsulation.
mps_sid
Optional outer service-ID hint.
inner_sid
Optional inner service / program number to extract.
inner_pids
PID selection on the extracted inner TS (default all).
Parameter names

New deployments should use mps_pid / mps_sid. The legacy ab_pid / ab_sid names remain accepted, so existing URLs keep working unchanged.

MPS — extract nested inner TS
http://SERVER:8875/?src=1&freq=12226&pol=v&sr=30000&msys=dvbs2&mtype=8psk&fec=56&isi=20&pids=all&mps_pid=8001&inner_sid=1

Multiple MPS sub-streams often share one physical frequency on different mps_pid values (e.g. 8001 / 8002 / 8003) — each is its own decapsulation, so provision one tuner per mps_pid to serve them concurrently.

8.Encrypted feeds & BISS

Decapsulation unwraps the container — it does not, by itself, decrypt content. If the inner stream is scrambled, it must be descrambled to produce a playable TS.

biss
BISS key for BISS-scrambled feeds (contribution links, some MPS or T2-MI payloads).
biss_mode
BISS mode selector.
biss_refresh
Key-refresh interval control.
Scrambled ≠ decodable without keys

A transponder can lock perfectly and still yield no playable content if the payload is encrypted. BISS feeds decapsulate once a valid biss key is supplied; CA-system (DVB-CSA) services require an authorized CAM/OSCam path. Without legitimate keys, no receiver — ours or any standard tool — can extract usable video. Encryption status per service is shown by the Channels Analyzer (C = encrypted, F = free-to-air).

9.T2-MI / MPS Channels Analyzer

The Channels Analyzer scans an encapsulated stream and returns every service, PID, bitrate and encryption flag — so you know exactly what to decapsulate before you build the playback URL.

Access: Admin Panel → Tools → T2-MI Channels Analyzer. Input: a full-transponder URL (pids=all). Output: a formatted service list.

Analyzer output — Ukrainian DTT mux (T2-MI, PID 4096, PLP 0)
# Source: .../?freq=12226&msys=DVBS2&mtype=8psk&fec=56&isi=20&sr=30000&pol=V&pids=all
# Scanner: T2MI (PID=4096, PLP=0)
 Srv Id   Service Name     Access   Bitrate
 0x0015   Новий канал      C       2,145,803 b/s
 0x0016   TET              C       2,694,486 b/s
 0x0017   2+2              C       2,666,440 b/s
 0x0019   НТН              C       2,692,994 b/s
 0x001B   ПЛЮСПЛЮС         C       1,717,507 b/s
 0x001E   ICTV2            C       1,702,291 b/s

Access: C encrypted (conditional access) · F free-to-air. Feed the discovered PIDs into t2mi_pids (or inner_pids for MPS) to stream individual programs.

Analyzer + direct decapsulation

Discovery and playback are now one platform: analyze once to map the mux, then let the server decapsulate the stream you want. The separate external Astra-SM step is no longer part of the workflow.

10.PID filtering & duration

By default the server streams the whole transponder. Request specific PIDs to save bandwidth, and bound scans with a duration.

  • pids=all — entire transponder (default)
  • pids=0,1,16,17,18 — metadata only (PAT, CAT, NIT, SDT, EIT)
  • pids=0,17,100,101,200,201 — metadata plus specific channel PIDs
PIDTable / content
0PAT — Program Association Table (always needed)
1CAT — Conditional Access Table
16NIT — Network Information Table
17SDT — Service Description (channel names)
18EIT — Event Information (EPG)
100–8190Video, audio, subtitle, teletext

Scan duration: use 10–15 s for reliable channel discovery (enough to capture PAT/PMT/SDT/NIT); 20–30 s for full EPG and names.

11.Complete examples

Standard DVB-S2 transponder

Astra 19.2°E · 11.954 GHz H · 27500 · 8PSK 3/4
http://SERVER:8875/?src=1&freq=11954&pol=h&sr=27500&msys=dvbs2&mtype=8psk&fec=34&pids=all

Multistream with ISI

Eutelsat 5°W · 12.536 GHz H · ISI 9
http://SERVER:8875/?src=1&freq=12536&pol=h&sr=35300&msys=dvbs2&mtype=8psk&fec=23&isi=9&pids=all

Multistream with PLS gold

DVB-S2 · PLS gold 131070
http://SERVER:8875/?src=1&freq=11470&pol=v&sr=27500&msys=dvbs2&mtype=8psk&fec=34&plsm=gold&plsc=131070&pids=all

T2-MI — direct decapsulation

Inner DVB-T2 multiplex, ready to play
http://SERVER:8875/?src=1&freq=11727&pol=v&sr=30000&msys=dvbs2&mtype=8psk&fec=34&pids=all&t2mi_pid=auto&t2mi_plp=0&t2mi_pids=all

MPS — nested TS extraction

Multistream + MPS inner stream
http://SERVER:8875/?src=1&freq=12226&pol=v&sr=30000&msys=dvbs2&mtype=8psk&fec=56&isi=20&pids=all&mps_pid=8001&inner_sid=1

Channel scan — metadata only

Fast PSI/SI capture for discovery
http://SERVER:8875/?src=1&freq=11954&pol=h&sr=27500&msys=dvbs2&mtype=8psk&fec=34&pids=0,1,16,17,18

12.Troubleshooting

Symptom / mistakeFix
No lock at allVerify freq, pol, sr, fec against LyngSat/KingOfSat — a single wrong value fails the tune
Wrong scrambling paramsUse plsm=/plsc= (not pls=); check gold vs root
ISI vs PLS confusionSome transponders key by ISI, others by PLS — try the alternate; verify the ISI number
T2-MI syntaxUse query params t2mi_pid=/t2mi_plp=/t2mi_pids= — not a # URL fragment
Empty T2-MI outputConfirm the transponder is really T2-MI (Analyzer); try t2mi_pid=auto; check the PLP id
Locks but no videoPayload is likely encrypted — supply a biss key or an authorized CAM (see §08)

Diagnose incrementally: start with basic parameters and pids=all, confirm lock and SNR in the Satline.tv dashboard, then add advanced parameters one at a time.

13.Best practices

  • Document your URLs — keep a register keyed by satellite position + frequency (e.g. 5W-12536H-isi9).
  • Validate in VLC first before deploying to middleware.
  • Monitor signal — set SNR/BER alerts in the Satline.tv admin panel.
  • Prefer multistream transponders for bandwidth efficiency; provision one tuner per ISI/mps_pid when you need several concurrently.
  • Rescan periodically — broadcasters change parameters; a monthly rescan catches drift.
  • Provision redundancy for mission-critical channels.
  • Scan generously — 15–20 s captures complete PSI/SI; capture pids=all first, filter later.

14.Resources

  • LyngSat, KingOfSat, FlySat — transponder databases (frequencies, PIDs, ISI values).
  • SAT>IP Specification — protocol reference.
  • DVB-S2X (ETSI EN 302 307-2) — advanced modulation.
  • T2-MI (ETSI TS 102 773) — T2 Modulator Interface.

SATLINE · SAT>IP Server Pro technical reference. Parameters verified against server v3.0.0. For provisioning and admin tooling, see the Satline.tv control panel.

Gleb Sazanov

Chief Technology Officer at SATLINE

Gleb Sazanov is an accomplished Chief Technology Officer (CTO) with over 20 years of experience in software development, system architecture, and cloud-based solutions. As the CTO of SATLINE, a leading provider of virtual and colocation services tailored to SATCOM businesses, Gleb drives the company’s technological strategy, fostering innovation and efficiency in data center services. His expertise spans various domains, including DevOps, system scaling, and high-performance infrastructure management. With a deep passion for cutting-edge technologies, Gleb plays a pivotal role in shaping the future of the SATCOM industry.