Page 1 of 1

Selecting Elementary Streams and Programs from a TS

Posted: 15 Jul 2011 16:34
by tristandwane
Hi,

I’m using HTTP Live Streaming to divide up programmes from my DVB card. It works great but when remuxing the numbering sequence of the ES’s is reversed. Because each program has two audio streams, the second one from the original program becomes the default.

Here is a map of my Transport Stream
1101 - RTE1
|
1101 - Video - MPEG4/AVC
|
1201 - Audio 1 - MPEG2L2
|
1211 - Audio 2 - MPED2L2
|
1102 - RTE2
|
1102 - Video - MPEG4/AVC
|
1202 - Audio 1 - MPEG2L2
|
1212 - Audio 2 - MPED2L2
|
1103 - TV3
|
1103 - Video - MPEG4/AVC
|
1203 - Audio 1 - MPEG2L2
|
1213 - Audio 2 - MPED2L2
|
1104 - TG4
|
1104 - Video - MPEG4/AVC
|
1204 - Audio 1 - MPEG2L2
|
1214 - Audio 2 - MPED2L2
|
110.............
|
110..........
|
120..........
|
121..........

Code: Select all

…………… --programs=1101,1102,1103,1104,110……………………….. ,select=”program=1101”,dst………….
I have tried several methods to omit the second audio stream

Code: Select all

…………… --programs=1101,1102,1103,1104,110……………………….. ,select=”es=1101,es=1201”,dst………….
(Select only the ES’s I want remuxed)

Code: Select all

…………… --programs=1101,1102,1103,1104,110……………………….. ,select=”es=1101,1201”,dst………….
(Select only the ES’s I want remuxed)

Code: Select all

…………… --programs=1101,1102,1103,1104,110……………………….. ,select=”program=1101,noes=1211”,dst………….
(Select the program I want and omit the audio stream I don’t want)

I can’t use the range feature-

Code: Select all

,select=”es=1101-1201”
because it will grab video and audio streams from other programs

Does anyone have any more information on the Duplicate Module with more detail than this-
duplicate

Duplicates the stream to a new stream output chain.

Options:

dst: A new stream output chain of modules, as described earlier.

select: This option allows you to specify which programs or es you wish to stream for the previous dst, if the input stream has several ones.

Format is "program=program_id" or es="es_id". You can also use ranges, like "program=start_program-end_program". You can select only es of a given type, with :

no-audio, noaudio, audio

no-video, novideo, video

no-spu, nospu, spu

You may use several selectors, comma-separated”
I see two way of doing this-

1. Being able to select discreet, non-sequential Elementary streams

Code: Select all

,select=”es=1101,1201”
2. Forcing the ES’s to be sequenced in the same order as the original program stream

BTW: I don’t want to transcode Video or Audio as my player, Boxee Box handles the Audio and Video formats transmitted in the original Transport Stream.

Has anyone have any solution?

Thanks,

Tristan

Re: Selecting Elementary Streams and Programs from a TS

Posted: 15 Jul 2011 18:54
by tristandwane
Hi,

Here is the exact commandline

Code: Select all

"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" dvb-t://frequency=738000000 :dvb-bandwidth=8 --ts-es-id-pid --programs=1101,1102,1103,1104,1105,1106,1107,1108,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235 --sout=#duplicate{dst=std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=c:/inetpub/wwwroot/RTE1.m3u8,index-url=http://192.168.1.111/RTE1-########.ts},mux=ts{use-key-frames},dst=c:/inetpub/wwwroot/RTE1-########.ts},select="program=1101,noes=1211",dst=std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=c:/inetpub/wwwroot/RTE2.m3u8,index-url=http://192.168.1.111/RTE2-########.ts},mux=ts{use-key-frames},dst=c:/inetpub/wwwroot/RTE2-########.ts},select="program=1102,noes=1212",dst=std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=c:/inetpub/wwwroot/TV3.m3u8,index-url=http://192.168.1.111/TV3-########.ts},mux=ts{use-key-frames},dst=c:/inetpub/wwwroot/TV3-########.ts},select="program=1103",dst=std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=c:/inetpub/wwwroot/TnaG.m3u8,index-url=http://192.168.1.111/TnaG-########.ts},mux=ts{use-key-frames},dst=c:/inetpub/wwwroot/TnaG-########.ts},select="program=1104",dst=std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=c:/inetpub/wwwroot/RTE_NEWS.m3u8,index-url=http://192.168.1.111/RTE_NEWS-########.ts},mux=ts{use-key-frames},dst=c:/inetpub/wwwroot/RTE_NEWS-########.ts},select="program=1105",dst=std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=c:/inetpub/wwwroot/3e.m3u8,index-url=http://192.168.1.111/3e-########.ts},mux=ts{use-key-frames},dst=c:/inetpub/wwwroot/3e-########.ts},select="program=1106",dst=std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=c:/inetpub/wwwroot/RTE1P1.m3u8,index-url=http://192.168.1.111/RTE1P1-########.ts},mux=ts{use-key-frames},dst=c:/inetpub/wwwroot/RTE1P1-########.ts},select="program=1108",dst=display}

Re: Selecting Elementary Streams and Programs from a TS

Posted: 20 Jul 2011 20:32
by igino.manfre
Re: Streaming dvb subtitles and epg over ts (over udp, but maybe can help)

Already posted on sout thread yesterday by igino.manfre » Tue Jul 19, 2011 5:57 pm

I'm not a programmer.
I'd like to stream a program and all its related. Gatewaying from a WInTV stick, I'm able to stream (in UDP) the entire DTT MUX (using the undocumented parameter --ts-out) through the following line

c:\program files\vlc\vlc.exe" dvb-t://frequency=506000000 --ts-out=239.168.20.100:2000 ttl=3

in http probably more complex, I never use it.
It streams over udp the entire multicast composed of the following items
diff 0 video id orig 333
diff 1 audio id orig 344
diff 2 sottotitolo id orig 353
diff 3 video id orig 332
diff 4 audio id orig 342
diff 5 sottotitolo id orig 352
diff 6 video id orig 335
diff 7 audio id orig 346
diff 8 video id orig 334
diff 9 audio id orig 345
diff 10 sottotitolo id orig 354
diff 11 video id orig 520
diff 12 audio id orig 690
3411 RaiNews24
8571 RaiUno (=3401, ES: 014c, 0156, 0160)
8572 RaiDue
8573 RaiTre
8574 RaiStoria
EPG RaiStoria 8574
EPG RaiDue 8572
EPG RaiNews 3411
EPG RaiTre 8573

Opening this stream, you are able to select the program and within it you get all, teletext, EPG and whatever.
but this MPTS over IP cannot be opened by an IP SetTopBox.
In order to break it I re-stream one of its channels through the line
"c:\program files\vlc 1.1.10\vlc" udp://@239.168.20.100:2000 :udp-caching=300 :sout=#udp{mux=ts,dst=239.168.20.6:2000} --sout-ts-es-id-pid --sout-ts-muxpmt=143 :no-sout-standard-sap :no-sout-rtp-sap :ttl=3 :sout-keep
(or --sout-ts-program-pmt=8571 or in place of --sout-ts-muxpmt=8571, 8571 and 143 are synonimous)
you get the audio and video but no subtitle. Reading the stream with TS analyzer, you see there is nothing else than video and audio. The original pids aremantained by the command -sout-ts-es-id-pid
I tried to "append" other programs (--program=8571,353, the number of teletext pid), but unsuccesfully

Can anybody help me?