Code: Select all
vlc mux1.ts --demux=ts --noaudio --novideo --play-and-exit --intf dummy --sout-all --sout '#duplicate{dst="transcode{senc=dvbsub}:transcode{vcodec=h264,acodec=aac,vb=200,venc=x264{profile=baseline,preset=superfast},soverlay,deinterlace,audio-sync,ab=96,width=466,height=240,samplerate=44100}:std{access=file,mux=ffmpeg{mux=flv},dst='s.flv'}",select="program=213"'
dvbsub titles through. Also I need to use duplicate/select because --sout-all means that --program doesn't seem to work.
My remaining problem is that I actually have two dvbsub tracks and this command line overlays both of them which looks dreadful. I haven't been able to find any clever way to pick only one or the other. In particular, --sub-track seems to be just ignored or is overruled by --sout-all. So to get one or other track I need to specify the precise pid of the track I want, e.g.
Code: Select all
vlc mux1.ts --demux=ts --intf dummy --play-and-exit --noaudio --novideo --sout-all --sout '#duplicate{dst="transcode{vcodec=h264,vb=200,venc=x264{profile=baseline,preset=superfast},soverlay,deinterlace,audio-sync,ab=96,width=466,height=240,samplerate=44100,acodec=aac,threads=0}:std{access=file,mux=ffmpeg{mux=flv},dst=s.flv'}",select="es=0x83f,es=0x849,es=0x858"'
Code: Select all
ffmpeg -i mux1.ts