Here's my scenario :-
Ubuntu Hardy Heron 64Bit with standard apt-get of vlc version 0.8.6e Janus - Compiler: gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7).
I have three DVB-T tuners :
1 x PCI "Tiger"
1 x USB MSI Mega sky 580 - Zarlink MT352
1 x USB Grand Tech - DiBcom 3000MC/P
Each USB tuner has it's own ECHI controller (on onboard & 1 add in PCI).
I select a transponder and stream each of the available channels to a port on localhost with something like :
Code: Select all
vlc --ts-es-id-pid --programs=8258,8325,8294,8353,8384 dvb: --dvb-adapter=2 --dvb-frequency=665833330 --dvb-srate=27500000 --sout-standard-access=udp --sout-standard-mux=ts --sout '#duplicate{dst=std{dst=127.255.255.255:8000},select="program=8258",dst=std{dst=127.255.255.255:8001},select="program=8325",dst=std{dst=127.255.255.255:8002},select="program=8294",dst=std{dst=127.255.255.255:8003},select="program=8353",dst=std{dst=127.255.255.255:8004},select="program=8384"}' &
vlc --ts-es-id-pid --programs=12866,12992 dvb: --dvb-adapter=0 --dvb-frequency=650166670 --dvb-srate=27500000 --sout-standard-access=udp --sout-standard-mux=ts --sout '#duplicate{dst=std{dst=127.255.255.255:9000},select="program=12866",dst=std{dst=127.255.255.255:9001},select="program=12992"}' &
vlc --ts-es-id-pid --programs=4173,4237,4351,4415,4671 dvb: --dvb-adapter=1 --dvb-frequency=641833330 --dvb-srate=27500000 --sout-standard-access=udp --sout-standard-mux=ts --sout '#duplicate{dst=std{dst=127.255.255.255:7000},select="program=4173",dst=std{dst=127.255.255.255:7001},select="program=4237",dst=std{dst=127.255.255.255:7002},select="program=4351",dst=std{dst=127.255.255.255:7003},select="program=4415",dst=std{dst=127.255.255.255:7004},select="program=4671"}' &
Code: Select all
vlc udp://@:8000 --sout '#duplicate{dst=std{access=udp,mux=ts,dst=10.250.250.69:7000}}'
Code: Select all
vlc udp://@:7000
1) The main vlc instances that talk to the tuners seem to be leaking memory like a sieve (Seems worse on transponders with moving channels - see 3).
2) When a badly corrupted stream is read the client freezes displaying the that data it could decode and will NOT always restart of it's own accord.
3) Some of the dvb-t channels on my local multiplexes "swap" depending on time of day - that is to say during the day you may see one channel (kids tv for example) in a slot, but at night the channel changes to more mature content. Vlc does not seem to notice this change in the streams apart from losing the departing channel.
4) I have yet to discover the root cause, but vlc also seems at times to incorrectly identify the audio pid as some channels start without audio on the main channel - a restart or two of the backend vlc usually gets it to pick the correct audio.
I have no C or C++ skills but will be glad to follow up and try to help diagnosing these further.
Thoughts / advice ?
Thanks in advance