Project

General

Profile

Feature #3477

Multistream T2-MI

Added by usuf negro almost 9 years ago. Updated almost 2 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
2016-01-05
Due date:
% Done:

0%

Estimated time:

Description

Hello, is it possibly to add T2 MI stream settings to Satellite to use on this transponder: Astra 4A & SES 5 at 4.9°E Provider ZEONBUD 12188 H 30000-3/4 8PSK DVB-S2 multistream stream 20 T2-MI PLP 0
type = "S2",
mac = "00:xx:xx:xx:xx:xx",
tp = "12188:H:30000",
lnb = "9750:10600:11700",
modulation="PSK8",
stream_id="20",
t2mi = true,
t2mi_pid=4096,
t2mi_plp=0,

History

#2

Updated by usuf negro almost 9 years ago

is it not already maked for DVB-T on Tvheadend?

#3

Updated by Jaroslav Kysela almost 9 years ago

From my understanding, t2-mi is the 'raw' DVB-T/T2 stream encapsulated to the MPEG-TS which is used as input to DVB-T/T2 transmitters (modulators).

TVH accepts MPEG-TS streams only at the moment, so the parser for the 'raw' DVB-T/T2 stream is required to extract the useable MPEG-TS from it.

DVB-S2 multistream (multistream handled in hw decoder): DVB-S2 MPEG-TS (received by TVH): T2MI stream at PID 4096: 'raw' DVB-T/T2 stream: DVB-T/T2 MPEG-TS (you need this)

#4

Updated by usuf negro almost 9 years ago

there are 2 transponders on Astra 4A & SES 5 at 4.9°E Provider ZEONBUD, with 4 streams and only one stream encapsulated with t2-mi to transmitt then by DVB-T2. This stream can be watching on DVB-S2 by astra-sm (https://gitlab.com/berdyansk/astra-sm) config showing top.

#6

Updated by usuf negro almost 9 years ago

so is it possibly to add to TVH?

#7

Updated by Jaroslav Kysela almost 9 years ago

Everything is possible, but my interest is low for this.

#8

Updated by Adam W over 8 years ago

I think this system (T2-MI) is likely to be used more and more over time, as countries (especially here in Europe) move to DVB-T2 from DVB-T.

Spain have already apparently tested T2-MI for their terrestrial feeds via Hispasat 30W, and this may be the replacement for their current proprietary encrypted "Full TS" system (one full DVB-T multiplex TS which is encapsulated within a data PID on the DVB-S2 transponder and encrypted with BISS) which actually seems to have similarities with T2-MI. It's unknown whether Spain will move to T2-MI or ACM/VCM Multistream, but they have done tests with T2-MI.

It's already used a lot in Russia (on 90E) and for the Ukrainian channels mentioned on this feature request. If more and more interesting channels become available using this modulation it might be more interesting to implement! :D

#9

Updated by Adam W over 8 years ago

There's a simple command line tool here -

https://github.com/newspaperman/t2-mi

This takes the T2-MI PID as input (I guess there could be a section on the mux settings in TVH to set the T2-MI PID and PLP? A bit like the multistream settings), then outputs the TS.

One way you can do it with that tool is to take the transponder URL from TVHeadend, remove "/play" from it, and do on the command line -

You need the dvbstream package (for ts_filter tool) and also the 'precise' version of VLC (Ubuntu 12.04 version, any newer won't accept input from a pipe)

curl [TVH Transponder URL] | ts_filter 4096 | ./t2-mi 4096 1 | cvlc - --ts-out 239.255.100.1:5004

This dumps out the final stream to a UDP stream on your LAN. You can then add this stream as an IPTV multiplex in TVHeadend.

I use something similar to this for the full TS feeds on 30W (curl TVH transponder URL | ts_filter PID | cvlc BISS decrypt PID | Python script to strip TS packet headers | cvlc Output to UDP stream).

#10

Updated by usuf negro over 8 years ago

it is simply to use astra-sm

#11

Updated by Smit Whm over 4 years ago

how can i play T2Mi on tvheadend on ubuntu server?

#12

Updated by Chris G over 2 years ago

Even more channels have popped up recently on 14.0W that require this.
Seems its becoming more popular.

#13

Updated by Mario Sat about 2 years ago

Inspired by newspaperman I have created similar command line tool
what reads a MPEG TS containing a T2-MI data stream from STDIN and output the extracted MPEG TS to STDOUT.
https://github.com/marios8/t2-mi

Looking also to put it inside the tvheadend but it is not so easy task to find proper place and way for it.
Maybe there exists some architecture or data flow diagram of tvheadend what could help me to faster understand it.
It could be somewhere in /input/mpegts/ files.
The principle could be to read MPEG TS stream by PID what contains T2-MI data then put extracted MPEG TS back to MUX.
Maybe there already exists hole in tvheadend for it?

Documentation:
ts_102773v010301p.pdf - T2-MI packet format
https://www.etsi.org/deliver/etsi_ts/102700_102799/102773/01.03.01_60/ts_102773v010301p.pdf

en_302755v010401a.pdf - BBFrame stream format for High Efficiency Mode for TS
https://www.etsi.org/deliver/etsi_en/302700_302799/302755/01.04.01_20/en_302755v010401a.pdf

Wiki MPEG transport stream
https://en.wikipedia.org/wiki/MPEG_transport_stream

#14

Updated by Flole Systems about 2 years ago

Mario Sat wrote:

Looking also to put it inside the tvheadend but it is not so easy task to find proper place and way for it.

I would guess you could look at the descrambler and see how that works. That's just a wild guess though and might be too late.

Maybe there exists some architecture or data flow diagram of tvheadend what could help me to faster understand it

Unfortunately there isn't such a thing as far as I know.

It could be somewhere in /input/mpegts/ files.
The principle could be to read MPEG TS stream by PID what contains T2-MI data then put extracted MPEG TS back to MUX.
Maybe there already exists hole in tvheadend for it?

I don't think there's a hole that needs to be filled/can be filled easily. When working with the /input/mpegts files keep in mind that those are for several different input types. You don't want to implement it in all of them, that would just cause duplicate code.

If I understood you correctly (I don't have time to read through the specification right now) the T2-MI is in the MPEG-TS and contains MPEG-TS data aswell? Is there a single T2-MI stream per PID or is there a single T2-MI stream with a single PID and the T2-MI then has several PIDs in it?

#15

Updated by Mario Sat about 2 years ago

T2-MI packet format is used as transport to transfer DVB-T2 data over DVB-S2 to Terrestrial stations.
This means instead of pushing DVB-T2 Baseband Frame data to modulator
it is packed to T2-MI then pushed to MPEG-TS identified by particular PID.
On 53E and 14W there are used only one PID on DVB-S2 transponder for T2-MI data transfer.
But on 4.9E 12073H there are transferred two DVB-T2 Muxes on separate PIDs 4095 and 4097.
There is also possibility to use several PLP (Physical Layer Pipe) identifiers in T2-MI but I have found only one PLP currently.
Thanks for a clue, I will check how descrambler works.

#16

Updated by Flole Systems about 2 years ago

If it's only a single PID that basically needs to be unpacked before further processing the descrambler is probably not the right place....

#17

Updated by Chris G almost 2 years ago

Thanks for looking in to this guys.
Even more T2-MI streams have popped up since my last comment.
It is indeed becoming more popular.

#18

Updated by Luka Karinja almost 2 years ago

You could pipe the mux from tvheadend to tsfilter and t2-mi

t2mi.sh

#!/bin/bash
curl -s http://127.0.0.1:9981/stream/mux/$1 | tsfilter $2 | t2-mi $2 $3

and then pipe it as a iptv mux in tvheadend:
pipe:///home/hts/t2mi.sh ee65e5724a39f1bcc8fbb9247b5adca5 4646 0

Also available in: Atom PDF