Page 1 of 1

--programs confuses audio tracks

Posted: 13 Dec 2008 13:23
by Lorni
What can i do to stream 10 channels?
I can execute 10 instances of VLC. Like this:

Code: Select all

1) vlc.exe udp://@224.244.244.244:15567 --program=18 --sout=#duplicate{dst=std{access=http,mux=ts,dst=10.200.200.6:8081}} 2) vlc.exe udp://@224.244.244.244:15567 --program=13 --sout=#duplicate{dst=std{access=http,mux=ts,dst=10.200.200.6:8082}} ... 10) vlc.exe udp://@224.244.244.244:15567 --program=17 --sout=#duplicate{dst=std{access=http,mux=ts,dst=10.200.200.6:8090}}
It works pretty good. But it is hard to monitor. So I'd like to use --programs like this:

Code: Select all

vlc.exe udp://@224.244.244.244:15567 --sout-ts-es-id-pid --programs=18,13,22,14,16,23,15,20,21,17 --sout-standard-access=http --sout-standard-mux=ts --sout=#duplicate{^ dst=std{dst=10.200.200.6:8091},select="program=18",^ dst=std{dst=10.200.200.6:8092},select="program=13",^ dst=std{dst=10.200.200.6:8093},select="program=22",^ dst=std{dst=10.200.200.6:8094},select="program=14",^ dst=std{dst=10.200.200.6:8095},select="program=16",^ dst=std{dst=10.200.200.6:8096},select="program=23",^ dst=std{dst=10.200.200.6:8097},select="program=15",^ dst=std{dst=10.200.200.6:8098},select="program=20",^ dst=std{dst=10.200.200.6:8099},select="program=21",^ dst=std{dst=10.200.200.6:8100},select="program=17"}
In this case (with --programs) at least one channel plays wrong audio (not from this channel)!
As you can see --sout-ts-es-id-pid does not help.

Re: --programs confuses audio tracks

Posted: 13 Dec 2008 21:13
by VLC_help
If you have a way to replicate this, you can open trac ticket for bug report. (please test with 1.0.0 build before doing any reports)
http://trac.videolan.org/vlc/

Re: --programs confuses audio tracks

Posted: 14 Dec 2008 02:17
by thannoy
If I remember correctly, you have to use --ts-es-id-pid for --sout-ts-es-id-pid to do what you want.
In fact, you ask VLC to not mess PIDs while "sout-ing", but also earlier in the module chain. (maybe in the demux, I don't know).

I think I have read it in the command line help. To check that, try "-H --advanced" parameters and read the help of --sout-ts-es-id-pid.

regards

Re: --programs confuses audio tracks

Posted: 14 Dec 2008 11:44
by Lorni
still does not work.
How can I set audio tracks manually for each program?

Re: --programs confuses audio tracks

Posted: 14 Dec 2008 12:15
by thannoy
You can search for a command-line argument containing "mux-pmt" iirc. One argument exist to manualy set PMTs giving them ES PIDs they contain.

Re: --programs confuses audio tracks

Posted: 19 Jan 2009 15:39
by mismis
Hi all!

Using VLC media player 0.8.6h Janus under debian lenny AMD64, I am able to split an incoming MPTS to multiple SPTS with selected PIDs:

The incoming stream is a multicast multiprogram transport stream received via RTP, each program has one video track and 2 or more audios tracks.

So the commandline is the following:

Code: Select all

vlc -I dummy rtp://@239.0.0.110:5110 --ts-es-id-pid --programs=1,2,3,4,5,8,9,10,11,13 --sout #duplicate{dst=std{access=rtp,mux=ts,dst=localhost:5001},select="es=100,es=101", dst=std{access=rtp,mux=ts,dst=localhost:5002},select="es=200,es=201", dst=std{access=rtp,mux=ts,dst=localhost:5003},select="es=300,es=301", dst=std{access=rtp,mux=ts,dst=localhost:5004},select="es=400,es=401", dst=std{access=rtp,mux=ts,dst=localhost:5005},select="es=500,es=501", dst=std{access=rtp,mux=ts,dst=localhost:5008},select="es=800,es=801", dst=std{access=rtp,mux=ts,dst=localhost:5009},select="es=900,es=901", dst=std{access=rtp,mux=ts,dst=localhost:5010},select="es=1000,es=1001", dst=std{access=rtp,mux=ts,dst=localhost:5011},select="es=1100,es=1101", dst=std{access=rtp,mux=ts,dst=localhost:5013},select="es=1300,es=1301"}
So with the --programs commandline switch you can choose which programs to retransmit, and in each dst you can specify which PID to stream from the selected program.

I hope it helps,

regards mihaly

Re: --programs confuses audio tracks

Posted: 14 Apr 2009 00:29
by Lorni
vlc udp://@224.244.244.244:15567 ^
--programs=13,14,15,16,17,18,19,20,21,22,23,47,48,49,53 ^
--sout-keep ^
--ts-es-id-pid ^
--sout-standard-access=http ^
--sout-standard-mux=ts ^
--sout=#duplicate{
dst=std{dst=127.0.0.1:8500},select="es=680,es=529",
....}
Something wrong with es=680,es=529
ignore unknown option 'es'