Master SAT>IP URL construction and advanced DVB-S2/S2X configuration including T2-MI encapsulation, multistream ISI/PLS parameters, and professional tuning for SATLINE.TV SATIP Servers Pro. This guide covers everything from basic frequency parameters to advanced Physical Layer Scrambling codes.
SAT>IP (Satellite IP) is a standardized protocol that allows satellite tuners to stream DVB content over IP networks using HTTP protocol. The SAT>IP URL is the key to telling a SAT>IP server exactly which satellite transponder to tune to and how to process the signal.
When you connect to a SATLINE.TV virtual tuner or any SAT>IP server, you're essentially sending instructions via a specially formatted URL. This URL contains all tuning parameters: frequency, polarization, symbol rate, modulation type, and advanced features like multistream ISI/PLS codes for DVB-S2X.
Every SAT>IP URL starts with fundamental tuning parameters. These are mandatory for any satellite transponder.
| Parameter | Description | Example Values | Notes |
|---|---|---|---|
| IP Address | SAT>IP server IP address | your-satip-server-ip |
Provided by SATLINE.TV when you provision a tuner |
| Port | SAT>IP server port | 8875 (default) |
Standard SAT>IP port; rarely changes |
| Freq (Frequency) | Transponder frequency in MHz | 11727 |
Typically 10700-12750 MHz for Ku-band |
| SR (Symbol Rate) | Symbol rate in KSym/s | 30000 |
Common: 22000, 27500, 30000 KSym/s |
| Pol (Polarization) | Signal polarization | V or H |
V = Vertical, H = Horizontal |
| Msys (Delivery System) | Satellite/terrestrial standard | DVBS2 |
DVBS, DVBS2, DVBT, DVBT2, DVBC |
| Mtype (Modulation) | Modulation scheme | 8psk |
qpsk, 8psk, 16apsk, 32apsk, 256apsk |
| FEC (Forward Error Correction) | Error correction ratio | 34 (3/4) |
12, 23, 34, 45, 56, 89, 910 |
This URL tells the SAT>IP server at your-satip-server-ip to tune to 11727 MHz Vertical with
30000 KSym/s symbol rate, using DVB-S2 with 8PSK modulation and 3/4 FEC.
FEC (Forward Error Correction) values use a compact notation where two digits represent the numerator and denominator:
| FEC Value | Actual Ratio | Error Protection |
|---|---|---|
12 |
1/2 | Maximum protection, lower 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 | Maximum efficiency, requires excellent signal |
910 |
9/10 | Ultra-high efficiency (DVB-S2X) |
DVB-S2 multistream allows multiple independent transport streams to share the same frequency using different Physical Layer Scrambling (PLS) codes. This dramatically increases satellite bandwidth efficiency.
The ISI parameter selects which stream you want to receive from a multistream transponder. Each stream has
a unique ISI value from 0 to 255.
| Parameter | Description | Range | Example |
|---|---|---|---|
| ISI | Input Stream Identifier | 0-255 | isi=9 |
This transponder carries multiple regional Italian streams on the same frequency:
Total: 31+ channels on one frequency. To access Stream 9, you'd add &isi=9 to your SAT>IP URL.
Some multistream transponders use PLS codes instead of (or in addition to) ISI. The PLS system has three modes:
| Parameter | Description | Values |
|---|---|---|
| PLSC | Physical Layer Scrambling Code | 0-262143 (depends on mode) |
| PLS Mode | Scrambling mode type | gold, root, combo |
T2-MI (T2 Modulator Interface) is a technology that encapsulates DVB-T2 terrestrial signals inside DVB-S2 satellite streams. This allows satellite operators to distribute DVB-T2 content to terrestrial transmitters or gateways.
T2-MI is used in specific scenarios:
| Parameter | Description | Default | Range/Values |
|---|---|---|---|
t2mi_pid |
T2-MI encapsulation Packet Identifier | 4096 |
4095-4099 (typically), or auto to detect it |
t2mi_plp |
DVB-T2 Physical Layer Pipe ID | 0 |
0-255 (typically 0 or 1), or all for every PLP |
bbframe |
Raw DVB-S2 BBFrame input mode โ see below | off | 1 to enable |
Those are the literal query-string spellings. Earlier revisions of this page named these
parameters only in prose as “T2MI PID” and “T2MI PLP”, which is not
what you type โ the URL takes t2mi_pid and t2mi_plp.
The T2MI PID (Packet Identifier) tells the tuner which PID in the satellite MPEG-TS stream contains the T2-MI encapsulated data. Think of it as pointing to the "container" that holds the DVB-T2 signal.
The T2MI PLP (Physical Layer Pipe) is the DVB-T2 stream identifier within the T2-MI container. A single T2-MI stream can carry multiple PLPs (similar to how multistream works).
This URL requests T2-MI data from PID 4096, extracting PLP 0 (the primary DVB-T2 multiplex).
SAT>IP Servers Pro runs the T2-MI demux itself, in real time as the stream passes through,
and delivers the inner transport stream. Set t2mi_pid, and optionally
t2mi_plp or t2mi_pids, and the inner DVB-T2 multiplex comes out of the
server. There is no separate decapsulation stage, no extra hop and no store-and-forward buffering
step between the tuner and your output โ the demux sits inside the streaming path rather than
alongside it.
An earlier version of this page said the opposite: that the server “does not perform T2-MI decapsulation” and that you “must decapsulate using external software or hardware”. That was wrong, and it contradicted our own T2-MI processing comparison, which correctly describes native handling. The workflow below is still useful for discovering what is inside a T2-MI carrier, but treat external decapsulators as an option for existing signal chains, not a requirement.
To work with T2-MI transponders on SATLINE.TV SAT>IP Server Pro, follow this professional workflow:
Create a SAT>IP URL that requests the entire transponder with pids=all. This captures the
complete T2-MI encapsulated stream:
Parameters explained:
Use the SATLINE.TV T2-MI Channels Analyzer in the admin panel to scan the T2-MI encapsulated stream. This tool extracts all channels, PIDs, bitrates, and service information from the T2-MI container.
Access: Admin Panel โ Tools โ T2-MI Channels Analyzer
Input: Paste the full transponder URL from Step 1
Output: Complete channel list with Service IDs, PIDs, bitrates, and encryption status
Below is a real example from a Ukrainian T2-MI transponder scanned with SATLINE.TV T2-MI Channels Analyzer:
#EXTM3U
# Generated: 2025-11-18T17:22:16Z
# Source: http://your-satip-server-ip:8875/?freq=12226&msys=DVBS2&mtype=8psk&fec=56&isi=20&src=1&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 |
| 0x0018 M-1 .......................................... C 1,980,959 b/s |
| 0x0019 ะะขะ .......................................... C 2,692,994 b/s |
| 0x001A ะะตะณะฐ ......................................... C 1,395,130 b/s |
| 0x001B ะะะฎะกะะะฎะก .................................... C 1,717,507 b/s |
| 0x001C ะะ-ะฃKะ ะะะะ+ .................................. C 2,663,009 b/s |
| 0x001D ROZPAKUY ..................................... C 1,771,212 b/s |
| 0x001E ICTV2 ........................................ C 1,702,291 b/s |
| 0x0034 ะะฆะ .......................................... C 2,269,920 b/s |
Legend:
With the service list from the T2-MI Channels Analyzer you know what is inside the carrier. From here there are two routes, and the first one is the short one:
t2mi_pid โ plus t2mi_plp or
t2mi_pids if you want a specific pipe โ and the server delivers the inner DVB-T2
multiplex directly. No extra stage, no extra boxEither way the analyzer's PID data is what tells you which service and pipe you are after.
t2mi_pid and t2mi_plp then point atbbframe)Some DVB-S2 multistream (MIS) transponders carry a bursty T2-MI feed that the demodulator’s hardware MIS→TS de-encapsulation drops โ typically around 9% packet loss, which leaves the inner DVB-T2 multiplex undecodable with near-100% T2-MI CRC failures even though the RF is perfect. That combination is the tell: excellent signal quality, unusable output.
On STiD135-based tuners with the raw-bbframe driver patch, bbframe=1 tunes the adapter
so the demodulator emits raw DVB-S2 BBFrames instead of de-encapsulating in hardware.
SAT>IP Servers Pro then reconstructs the outer transport stream losslessly in software
and feeds it to the normal t2mi_pid demux. It applies to HTTP, RTSP and SRT outputs alike.
| Behaviour | Detail |
|---|---|
| Enabling it | bbframe=1 โ default off. Combine with pids=all and the
t2mi_pid / t2mi_plp parameters above |
| Driver requirement | The patched STiD135 driver. It sets the reserved DTV_STREAM_ID bit
0x40000000 per tune, so the same card keeps serving
normal-TS transponders concurrently |
| If the driver does not support it | Ignored โ the tune falls back silently to normal mode. Nothing errors, so a card without the patch simply keeps losing the ~9% |
| Pairing | The reconstructed outer TS is handed to the T2-MI demux, so bbframe=1 is
normally combined with t2mi_pid= (for example 4096) to deliver
the inner TS |
plsm takes a name, not a number. For multistream carriers pass the
physical-layer scrambling as plsm=gold&plsc=<code>. The literal word
gold is required โ a numeric plsm is parsed as root
mode and re-derives the code, so you silently tune the wrong scrambling sequence and get no lock.
Scenario: 5ยฐW, 12606 MHz Vertical, DVB-S2 8PSK 2/3, 35300 KSym/s, roll-off 0.35, ISI 5, gold scrambling code 131070, T2-MI PID 4096, PLP 0.
Reading it as a pipeline: tune the multistream carrier (isi, plsm,
plsc), take raw BBFrames rather than hardware de-encapsulation
(bbframe=1), pass the whole stream through (pids=all), then extract the
inner DVB-T2 multiplex (t2mi_pid, t2mi_plp).
If you are analysing this from a shell rather than a player, quote the URL โ the ampersands are shell operators, and on bash an unquoted SAT>IP URL fails silently and wrongly. The TSDuck cookbook documents that trap with the verified before-and-after.
By default, SAT>IP streams the entire transponder (all PIDs). You can optimize bandwidth by requesting only specific PIDs for the channels you want.
pids=all โ Stream entire transponder (default)pids=0,1,16,17,18 โ Stream only PAT, CAT, NIT, SDT, EIT (metadata)pids=100,101,102 โ Stream specific channel PIDspids=0,100,101,200,201 โ Combine metadata + specific channelsThe duration parameter controls how long the SAT>IP server streams/scans a transponder. This is crucial for channel discovery tools.
| Duration | Use Case |
|---|---|
5s |
Quick scan (minimum) |
10-15s |
Recommended for reliable channel discovery |
20-30s |
Full metadata capture (EPG, channel names) |
10-15 seconds for channel scanning. This gives the tuner enough time to
capture PAT, PMT, SDT, and NIT tables, ensuring accurate channel detection.
Because PID selection is a runtime parameter you control rather than something applied upstream, bandwidth planning has to follow the request you actually intend to make. Sizing against the wrong one of these is a common and avoidable planning error:
pids=all โ budget the full multiplex bitrate of the transponder. The whole
carrier crosses your link, because nothing is filtered on your behalf.
Use pids=all when analyzing a carrier, harvesting tables, or feeding a remultiplexer that expects the complete
stream. Use an explicit list for production delivery of a known service set. The choice can be changed between sessions
without altering the service, so it is worth measuring the real multiplex bitrate once and then selecting deliberately.
Scenario: Astra 19.2ยฐE, 11.954 GHz Horizontal, 27500 KSym/s, DVB-S2 8PSK 3/4
Scenario: Eutelsat 5W, 12.536 GHz Horizontal, 35300 KSym/s, DVB-S2 8PSK 2/3, ISI=9
Scenario: Hotbird 13ยฐE, 11.470 GHz Vertical, 27500 KSym/s, DVB-S2 8PSK 3/4, PLS Gold 131070
Scenario: T2-MI encapsulated DVB-T2, 11.727 GHz Vertical, 30000 KSym/s, DVB-S2 8PSK 3/4, T2MI PID 4096, PLP 0
Scenario: Scan Astra 19.2ยฐE transponder for 15 seconds, capturing metadata only
Scenario: All advanced parameters combined (multistream + T2MI + PID filtering + duration)
34 when transponder requires 23gold when transponder uses rootpids=all firstduration=20 for difficult transponderspids=all for first scan, then filter laterNeed help with complex SAT>IP URL construction or T2-MI configuration? SATLINE.TV provides comprehensive support: