VLC Streaming - Transcoding from a DVB multiplex
Posted: 09 Oct 2010 02:08
Hi all - hoping someone can help here. I'm using VLC 1.1.4 on Linux to stream individual channels from a multiplex in Australia. Transcoding once, and then duplicating the output for each individual channel using select="program=x" works perfectly.
However, this breaks down when I try to use unique transcode settings for each stream. We need to do this because in the below example, the SID 1315 is broadcast in HD rather than SD like the others and we want to be able to modify the settings for that stream.
Although it should work, VLC seems to launch 9 encoders (rather than 3) and will open up each program stream if you hit any of the unique specified http output ports. EG connecting to http:ip:9071/stream.ts below will open all 3 SID streams in VLC Player on a client machine.
My command line at the moment is:
But, I've tried all sorts of combinations including running a single transcode with all the video / audio encoding and then just a transcode{scale} on each stream. I've also tried a variety of different single and double quotes around the transcode string for each stream.
Has anyone ever tried doing this and had any success? Or does VLC not support multiple stream transcoding using select="program=x"?
However, this breaks down when I try to use unique transcode settings for each stream. We need to do this because in the below example, the SID 1315 is broadcast in HD rather than SD like the others and we want to be able to modify the settings for that stream.
Although it should work, VLC seems to launch 9 encoders (rather than 3) and will open up each program stream if you hit any of the unique specified http output ports. EG connecting to http:ip:9071/stream.ts below will open all 3 SID streams in VLC Player on a client machine.
My command line at the moment is:
Code: Select all
cvlc dvb-t://frequency=xxx000000 --dvb-adapter=0 --dvb-bandwidth=7 --programs=1301,1302,1303 \
--sout-transcode-audio-sync --sout-transcode-deinterlace --sout '#duplicate{dst="transcode{vcodec=h264,venc=x264,vb=600,acodec=mp4a,ab=128,channels=2,samplerate=44100,deinterlace,audio-sync,scale=0.6}:standard{access=http,mux=ts,dst=:9071/stream.ts},select=\"program=1301\"",dst="transcode{vcodec=h264,venc=x264,vb=600,acodec=mp4a,ab=128,channels=2,samplerate=44100,deinterlace,audio-sync,scale=0.6}:standard{access=http,mux=ts,dst=:9072/stream.ts},select=\"program=1302\"",dst="transcode{vcodec=h264,venc=x264,vb=600,acodec=mp4a,ab=128,channels=2,samplerate=44100,deinterlace,audio-sync,scale=0.3}:standard{access=http,mux=ts,dst=:9073/stream.ts},select=\"program=1303\""}'
Has anyone ever tried doing this and had any success? Or does VLC not support multiple stream transcoding using select="program=x"?