Page 1 of 1

ts-es-id & programs parameters

Posted: 09 Nov 2007 15:15
by SteveCZ
Hello,
do parameters --ts-es-id-pid and --programs work in Windows in VLC 0.8.6c? I'm trying to split recieved TS (from VLC 0.9.0 which is able to capture DVB in Windows) into particular programs but with no success. All programs show themselves in separate windows. But I want to have each program on a separate port, not all programs on all ports.

I use these commands:
in VLC 0.9.0:

Code: Select all

vlc dvb-t:// :dvb-frequency=506000 :dvb-bandwidth=8 --ts-es-id-pid --programs=1,2 :sout=#std{access=udp,mux=,dst=127.0.0.1:1234}
in VLC 0.8.6c:

Code: Select all

vlc udp://@:1234 :sout=#duplicate{dst=std{access=udp,mux=ts,dst=192.168.1.2:1235},select="program=1",dst=std{access=udp,mux=ts,dst=192.168.1.2:1236},select="program=2"}
Thank you for your replys in advance, any solutions are invited.

SteveCZ

Re: ts-es-id & programs parameters

Posted: 13 Nov 2007 16:04
by SteveCZ
No one streams the whole multiplex to network and no one want to split particular programs?:-)

Re: ts-es-id & programs parameters

Posted: 21 Nov 2007 16:09
by SteveCZ
I cant't believe no one has never needed to stream the whole multiplex and split it by a client in Windows.

Re: ts-es-id & programs parameters

Posted: 21 Nov 2007 18:21
by Arite
I have tries out your suggestion, and various other alternative strings, however have not been able to stream a source (in this case I used a video file) to two different port via UDP.

I opened one instance of VLC (used only 0.8.6c) and streamed a video to port 1234 via UDP:

Code: Select all

:sout=#duplicate{dst=std{access=udp,mux=ts,dst=192.168.1.64:1234}}
I then opened another instance of VLC and streamed the from port 1234 (UDP) to ports 1235 and 1236 with the code:

Code: Select all

:sout=#duplicate{dst=std{access=udp,mux=ts,dst=192.168.1.64:1235},{dst=std{access=udp,mux=ts,dst=192.168.1.64:1236}}
I then opened up a third instance of VLC and opened network stream from 1235, then 1236. 1235 worked, but 1236 didn't. I also tried this with an additional instance of VLC (one streaming from 1234 to 1235, and one streaming from 1234 to 1236), however only the one which was executed first would work - if the other conflicting instance was stopped, then the other would begin working.

Not sure why that is happening, since if one sets up 4 instances of VLC in series, streaming:
File >> udp://@1234 >> udp://@1235 >> udp://@1236 >> Play locally

It works, just when you try to stream from one port in parallel to two different ones that it fails.

The only thing that did work was streaming from two separate instances of VLC to two other separate instances of VLC.

So, you could try (using 1st instance of 0.9.0):

Code: Select all

vlc dvb-t:// :dvb-frequency=506000 :dvb-bandwidth=8 --ts-es-id-pid --programs=1 :sout=#std{access=udp,mux=,dst=127.0.0.1:1234}
And (using 2nd instance of 0.9.0):

Code: Select all

vlc dvb-t:// :dvb-frequency=506000 :dvb-bandwidth=8 --ts-es-id-pid --programs=2 :sout=#std{access=udp,mux=,dst=127.0.0.1:1235}
Then open two instances of 0.8.6c, one opening udp://@1234, and the other opening udp://@1235 (or multicast UDP).

I am not sure whether that will work with DVB though (I don't have a card to test myself).

Cheers, Arite.