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.
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:
- Multistream —
isi,plsc,plsmselect one stream on a shared DVB-S2/S2X carrier. - T2-MI decapsulation —
t2mi_pid,t2mi_plp,t2mi_pidsunwrap a DVB-T2 multiplex carried over satellite. - MPS decapsulation —
mps_pid,inner_sid,inner_pidsextract a nested inner transport stream. - Descrambling —
bisskeys 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.
| Parameter | Description | Example | Notes |
|---|---|---|---|
src | DiSEqC source / input position | 1 | Set by your tuner provisioning |
freq | Transponder frequency (MHz) | 11727 | Ku-band ≈ 10700–12750 |
sr | Symbol rate (KSym/s) | 30000 | Common: 22000 / 27500 / 30000 |
pol | Polarization | v / h | Vertical / Horizontal |
msys | Delivery system | dvbs2 | dvbs, dvbs2, dvbt, dvbt2, dvbc |
mtype | Modulation | 8psk | qpsk, 8psk, 16apsk, 32apsk |
fec | Forward error correction | 34 | See FEC notation below |
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.
| Value | Ratio | Trade-off |
|---|---|---|
12 | 1/2 | Maximum protection, lowest bitrate |
23 | 2/3 | High protection |
34 | 3/4 | Balanced — most common |
45 | 4/5 | Good efficiency |
56 | 5/6 | High efficiency |
89 | 8/9 | Max efficiency, needs strong signal |
910 | 9/10 | Ultra-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:
| ISI | Content | Channels |
|---|---|---|
1 | RAI mux MR 5 | Rai 1/2/3 HD regional variants (7) |
4 | RAI mux MR 10 | Further regional Rai variants (7) |
9 | Puglia/Basilicata Locale 1 | TeleNorba HD, TeleDue HD… (17) |
http://SERVER:8875/?src=1&freq=12536&pol=h&sr=35300&msys=dvbs2&mtype=8psk&fec=23&isi=9&pids=all
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, orcombo. Alias:pls_mode.
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
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
0whent2mi_pidis set; useautoto pick the first PLP that carries data, orallto 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=1enables 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 asplsm=gold&plsc=<code>.
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
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
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
- When
t2mi_pidis 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 outerpids=is not used to pick inner PIDs. - PMT-based SPTS selection (
pmt=/ numeric streamid) is not available in T2-MI mode — list inner PIDs witht2mi_pidsinstead. - 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).
New deployments should use mps_pid / mps_sid. The legacy ab_pid / ab_sid names remain accepted, so existing URLs keep working unchanged.
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.
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.
# 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.
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
| PID | Table / content |
|---|---|
0 | PAT — Program Association Table (always needed) |
1 | CAT — Conditional Access Table |
16 | NIT — Network Information Table |
17 | SDT — Service Description (channel names) |
18 | EIT — Event Information (EPG) |
100–8190 | Video, 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
http://SERVER:8875/?src=1&freq=11954&pol=h&sr=27500&msys=dvbs2&mtype=8psk&fec=34&pids=allMultistream with ISI
http://SERVER:8875/?src=1&freq=12536&pol=h&sr=35300&msys=dvbs2&mtype=8psk&fec=23&isi=9&pids=allMultistream with PLS gold
http://SERVER:8875/?src=1&freq=11470&pol=v&sr=27500&msys=dvbs2&mtype=8psk&fec=34&plsm=gold&plsc=131070&pids=allT2-MI — direct decapsulation
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=allMPS — nested TS extraction
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=1Channel scan — metadata only
http://SERVER:8875/?src=1&freq=11954&pol=h&sr=27500&msys=dvbs2&mtype=8psk&fec=34&pids=0,1,16,17,1812.Troubleshooting
| Symptom / mistake | Fix |
|---|---|
| No lock at all | Verify freq, pol, sr, fec against LyngSat/KingOfSat — a single wrong value fails the tune |
| Wrong scrambling params | Use plsm=/plsc= (not pls=); check gold vs root |
| ISI vs PLS confusion | Some transponders key by ISI, others by PLS — try the alternate; verify the ISI number |
| T2-MI syntax | Use query params t2mi_pid=/t2mi_plp=/t2mi_pids= — not a # URL fragment |
| Empty T2-MI output | Confirm the transponder is really T2-MI (Analyzer); try t2mi_pid=auto; check the PLP id |
| Locks but no video | Payload 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_pidwhen 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=allfirst, 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.