VLM Multiple Multicast stream issues

Discussion about configuration and usage of VLM (a stream scheduler) within VLC.
hilltopper06
Blank Cone
Blank Cone
Posts: 18
Joined: 17 Apr 2012 16:20

VLM Multiple Multicast stream issues

Postby hilltopper06 » 30 Apr 2014 15:51

I am trying to take several RTSP H.264 streams from some generic encoders and have VLM rebroadcast them as mutlicast without transcoding.

This works well if I manually stream using VLC with the GUI for a single stream. This stream works without issue for days.

If I use VLM (either by feeding a VLM conf file as a command line option, or via the web interface) only one of my streams work, and it eventually stops after 15-20 minutes.

Here is my VLM conf file contents:

Code: Select all

new MSES broadcast enabled setup MSES input "rtsp://10.168.160.253" setup MSES output #rtp{ttl=10,dst=239.255.160.253,port=59160,mux=ts,sap,name=MSES} setup MSES option network-caching=5000 new BES broadcast enabled setup BES input "rtsp://10.168.48.253" setup BES output #rtp{ttl=10,dst=239.255.48.253,port=59048,mux=ts,sap,name=BES} setup BES option network-caching=5000 new CCES broadcast enabled setup CCES input "rtsp://10.168.64.253" setup CCES output #rtp{ttl=10,dst=239.255.64.253,port=59064,sap,name=CCES} setup CCES option network-caching=5000 control MSES play control BES play control CCES play
Eventually I will have about 10 streams going simultaneously. CPU usage is very low because there is no transcoding. Network usage is low because each stream maxes out at 2150kbps. Any ideas on what might be the issue. Thanks!

hilltopper06
Blank Cone
Blank Cone
Posts: 18
Joined: 17 Apr 2012 16:20

Re: VLM Multiple Multicast stream issues

Postby hilltopper06 » 01 May 2014 17:08

I have modified my VLM file a bit, and am seeing better results, but now I have a new issue. I get no audio. If I manually set up a stream using the same source and destination then audio works fine, but with VLM I get nothing.

On a side note, if I try to manually setup all my stream I encounter issues. If I start a second VLC instance to take another input and stream to a different multicast output address, it stops my first stream (even though the instance is still there and claims to be streaming). I am basically down to having to have one dedicated machine per stream, which isn't feasible.

new VLM conf that works better, but still no audio:

Code: Select all

new MSES broadcast enabled setup MSES input "rtsp://10.168.160.253:554" setup MSES output #rtp{ttl=8,dst=239.255.160.253,port=59160,mux=ts,sap,name=MSES} setup MSES option network-caching=0 setup MSES option sout-all setup MSES option sout-keep new BES broadcast enabled setup BES input "rtsp://10.168.48.253:554" setup BES output #rtp{ttl=8,dst=239.255.48.253,port=59048,mux=ts,sap,name=BES} setup BES option network-caching=0 setup BES option sout-all setup BES option sout-keep new CCES broadcast enabled setup CCES input "rtsp://10.168.64.253:554" setup CCES output #rtp{ttl=8,dst=239.255.64.253,port=59064,mux=ts,sap,name=CCES} setup CCES option network-caching=0 setup CCES option sout-all setup CCES option sout-keep control CCES play control MSES play control BES play

hilltopper06
Blank Cone
Blank Cone
Posts: 18
Joined: 17 Apr 2012 16:20

Re: VLM Multiple Multicast stream issues

Postby hilltopper06 » 01 May 2014 17:30

Found my problem with VLM. It appears my input source had bad times set (each of my 3 had different times set and all were wrong). After setting all of them to update via NTP servers, now my streams all work with audio.

The "packet with too strange dts" warning I was getting is what led me to suspect the time out of sync issue.

hilltopper06
Blank Cone
Blank Cone
Posts: 18
Joined: 17 Apr 2012 16:20

Re: VLM Multiple Multicast stream issues

Postby hilltopper06 » 01 May 2014 17:47

I spoke too soon. I am now encountering a very strange issue.

I have 3 separate inputs, all with their own unicast RTSP address: input1, input2, input3

Each goes to its own multicast output address: output1, outptu2, output3

The audio from input1 is somehow getting placed with output2. This doesn't always happen. Sometimes the audio is correct. Sometimes it goes from input2 to output 3, it is random it seems. Is this a bug? See debug log below:

Code: Select all

main debug: creating VLM main debug: creating access 'file' location='/C:/Program%20Files/VideoLAN/VLC/all.vlm', path='C:\Program Files\VideoLAN\VLC\all.vlm' main debug: looking for access module matching "file": 20 candidates filesystem debug: opening file `C:\Program Files\VideoLAN\VLC\all.vlm' main debug: using access module "filesystem" main debug: Using stream method for AStream* main debug: starting pre-buffering main debug: received first data after 0 ms main debug: pre-buffering done 732 bytes in 0s - 714843 KiB/s main debug: removing module "filesystem" main debug: Creating an input for 'rtsp://10.168.64.253:554' main debug: Creating an input for 'rtsp://10.168.160.253:554' main debug: using sout chain=`rtp{ttl=8,dst=239.255.160.253,port=59160,mux=ts,sap,name=MSES}' main debug: using sout chain=`rtp{ttl=8,dst=239.255.64.253,port=59064,mux=ts,sap,name=CCES}' main debug: stream=`rtp' main debug: stream=`rtp' main debug: looking for sout stream module matching "rtp": 21 candidates main debug: looking for sout stream module matching "rtp": 21 candidates main debug: set config option: sout-rtp-ttl to 8 main debug: set config option: sout-rtp-dst to 239.255.160.253 main debug: Creating an input for 'rtsp://10.168.48.253:554' main debug: set config option: sout-rtp-port to 59160 main debug: set config option: sout-rtp-mux to ts main debug: set config option: sout-rtp-sap to (null) main debug: set config option: sout-rtp-name to MSES main debug: looking for sout mux module matching "ts": 10 candidates main debug: set config option: sout-rtp-ttl to 8 main debug: using sout chain=`rtp{ttl=8,dst=239.255.48.253,port=59048,mux=ts,sap,name=BES}' main debug: stream=`rtp' main debug: looking for sout stream module matching "rtp": 21 candidates mux_ts debug: shaping=200000 pcr=70000 dts_delay=400000 main debug: using sout mux module "mux_ts" main debug: muxer support adding stream at any time main debug: muxer prefers to wait for all ES before starting to mux stream_out_rtp debug: maximum RTP packet size: 1400 bytes main debug: set config option: sout-rtp-ttl to 8 main debug: set config option: sout-rtp-dst to 239.255.48.253 main debug: set config option: sout-rtp-port to 59048 main debug: set config option: sout-rtp-mux to ts main debug: set config option: sout-rtp-sap to (null) main debug: set config option: sout-rtp-name to BES main debug: looking for sout mux module matching "ts": 10 candidates main debug: net: connecting to [239.255.160.253]:59160 mux_ts debug: shaping=200000 pcr=70000 dts_delay=400000 main debug: using sout mux module "mux_ts" main debug: muxer support adding stream at any time main debug: muxer prefers to wait for all ES before starting to mux stream_out_rtp debug: maximum RTP packet size: 1400 bytes main debug: net: connecting to [239.255.48.253]:59048 main debug: set config option: sout-rtp-dst to 239.255.64.253 main debug: set config option: sout-rtp-port to 59064 main debug: set config option: sout-rtp-mux to ts main debug: set config option: sout-rtp-sap to (null) main debug: set config option: sout-rtp-name to CCES main debug: looking for sout mux module matching "ts": 10 candidates mux_ts debug: shaping=200000 pcr=70000 dts_delay=400000 main debug: using sout mux module "mux_ts" main debug: muxer support adding stream at any time main debug: muxer prefers to wait for all ES before starting to mux stream_out_rtp debug: maximum RTP packet size: 1400 bytes main debug: net: connecting to [239.255.64.253]:59064 main debug: net: connecting to [239.255.160.253]:59161 from [10.168.25.53]:3330 main debug: net: connecting to [239.255.64.253]:59065 from [10.168.25.53]:3332 main debug: net: connecting to [239.255.48.253]:59049 from [10.168.25.53]:3331 stream_out_rtp debug: sdp= v=0 o=- 15496018616688388639 15496018616688388639 IN IP4 BOE-IPTV-MULTI s=CCES i=N/A c=IN IP4 239.255.64.253/255 t=0 0 a=tool:vlc 2.1.3 a=recvonly a=type:broadcast a=charset:UTF-8 m=video 59064 RTP/AVP 33 b=RR:0 a=rtpmap:33 MP2T/90000 main debug: adding SAP session main debug: using SAP address: 239.255.255.255 main debug: net: connecting to [239.255.255.255]:9875 main debug: using sout stream module "stream_out_rtp" main debug: using timeshift granularity of 50 MiB, in path 'C:\DOCUME~1\USERTH~1\LOCALS~1\Temp' main debug: `rtsp://10.168.64.253:554' gives access `rtsp' demux `' path `10.168.64.253:554' main debug: creating demux: access='rtsp' demux='' location='10.168.64.253:554' file='\\10.168.64.253:554' main debug: looking for access_demux module matching "rtsp": 12 candidates live555 debug: version 2014.01.21 stream_out_rtp debug: sdp= v=0 o=- 15496018616688388639 15496018616688388639 IN IP4 BOE-IPTV-MULTI s=MSES i=N/A c=IN IP4 239.255.160.253/255 t=0 0 a=tool:vlc 2.1.3 a=recvonly a=type:broadcast a=charset:UTF-8 m=video 59160 RTP/AVP 33 b=RR:0 a=rtpmap:33 MP2T/90000 main debug: adding SAP session main debug: using SAP address: 239.255.255.255 main debug: using sout stream module "stream_out_rtp" main debug: using timeshift granularity of 50 MiB, in path 'C:\DOCUME~1\USERTH~1\LOCALS~1\Temp' main debug: `rtsp://10.168.160.253:554' gives access `rtsp' demux `' path `10.168.160.253:554' main debug: creating demux: access='rtsp' demux='' location='10.168.160.253:554' file='\\10.168.160.253:554' main debug: looking for access_demux module matching "rtsp": 12 candidates live555 debug: version 2014.01.21 stream_out_rtp debug: sdp= v=0 o=- 15496018616688388639 15496018616688388639 IN IP4 BOE-IPTV-MULTI s=BES i=N/A c=IN IP4 239.255.48.253/255 t=0 0 a=tool:vlc 2.1.3 a=recvonly a=type:broadcast a=charset:UTF-8 m=video 59048 RTP/AVP 33 b=RR:0 a=rtpmap:33 MP2T/90000 main debug: adding SAP session main debug: using SAP address: 239.255.255.255 main debug: using sout stream module "stream_out_rtp" main debug: using timeshift granularity of 50 MiB, in path 'C:\DOCUME~1\USERTH~1\LOCALS~1\Temp' main debug: `rtsp://10.168.48.253:554' gives access `rtsp' demux `' path `10.168.48.253:554' main debug: creating demux: access='rtsp' demux='' location='10.168.48.253:554' file='\\10.168.48.253:554' main debug: looking for access_demux module matching "rtsp": 12 candidates live555 debug: version 2014.01.21 live555 debug: RTP subsession 'video/H264' main debug: selecting program id=0 live555 debug: RTP subsession 'audio/MPEG4-GENERIC' live555 debug: setup start: 0.000000 stop:0.000000 live555 debug: RTP subsession 'video/H264' main debug: selecting program id=0 live555 debug: RTP subsession 'audio/MPEG4-GENERIC' live555 debug: RTP subsession 'video/H264' live555 debug: setup start: 0.000000 stop:0.000000 main debug: selecting program id=0 live555 debug: RTP subsession 'audio/MPEG4-GENERIC' live555 debug: setup start: 0.000000 stop:0.000000 live555 debug: play start: 0.000000 stop:0.000000 main debug: using access_demux module "live555" main debug: looking for packetizer module matching "any": 21 candidates packetizer_h264 debug: found NAL_SPS (sps_id=0) packetizer_h264 debug: found NAL_PPS (pps_id=0 sps_id=0) main debug: using packetizer module "packetizer_h264" main debug: looking for packetizer module matching "any": 21 candidates packetizer_mpeg4audio debug: running MPEG4 audio packetizer packetizer_mpeg4audio debug: AAC 16000Hz 1024 samples/frame main debug: using packetizer module "packetizer_mpeg4audio" main debug: starting in async mode main debug: looking for meta reader module matching "any": 2 candidates lua debug: Trying Lua scripts in C:\Documents and Settings\user three\Application Data\vlc\lua\meta\reader lua debug: Trying Lua scripts in C:\Program Files\VideoLAN\VLC\lua\meta\reader lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\meta\reader\filename.luac main debug: no meta reader modules matched main debug: `rtsp://10.168.160.253:554' successfully opened main debug: switching to sync mode main debug: Buffering 0% main debug: Buffering 0% main debug: adding a new sout input (sout_input:01b86e78) main debug: adding a new input mux_ts debug: adding input codec=mp4a pid=68 mux_ts debug: new PCR PID is 68 main debug: Buffering 2% main debug: Buffering 2% main debug: Buffering 2% main debug: Buffering 2% main debug: Buffering 4% main debug: Buffering 5% main debug: Buffering 5% main debug: Buffering 7% main debug: Buffering 8% main debug: Buffering 8% main debug: adding a new sout input (sout_input:01b88780) main debug: adding a new input mux_ts debug: adding input codec=h264 pid=69 mux_ts debug: new PCR PID is 69 main debug: Buffering 9% main debug: Buffering 10% main debug: Buffering 11% main debug: Buffering 12% main debug: Buffering 13% main debug: Buffering 13% main debug: Buffering 14% main debug: Buffering 15% main debug: Buffering 15% main debug: Buffering 17% main debug: Buffering 18% main debug: Buffering 18% main debug: Buffering 19% main debug: Buffering 20% main debug: Buffering 22% main debug: Buffering 23% main debug: Buffering 25% main debug: Buffering 28% main debug: Buffering 29% main debug: Buffering 32% main debug: Buffering 35% main debug: Buffering 36% main debug: Buffering 38% main debug: Buffering 42% main debug: Buffering 42% main debug: Buffering 45% main debug: Buffering 48% main debug: Buffering 48% main debug: Buffering 52% main debug: Buffering 52% main debug: Buffering 52% main debug: Buffering 55% main debug: Buffering 55% main debug: Buffering 58% main debug: Buffering 61% main debug: Buffering 62% main debug: Buffering 65% main debug: Buffering 68% main debug: Buffering 68% main debug: Buffering 72% main debug: Buffering 74% main debug: Buffering 75% main debug: Buffering 78% main debug: Buffering 80% main debug: Buffering 82% main debug: Buffering 85% main debug: Buffering 87% main debug: Buffering 88% main debug: Buffering 92% main debug: Buffering 93% main debug: Buffering 95% main debug: Buffering 98% main debug: Stream buffering done (1003 ms in 993 ms) main debug: Decoder buffering done in 0 ms live555 debug: play start: 0.000000 stop:0.000000 main debug: using access_demux module "live555" main debug: looking for packetizer module matching "any": 21 candidates packetizer_h264 debug: found NAL_SPS (sps_id=0) packetizer_h264 debug: found NAL_PPS (pps_id=0 sps_id=0) main debug: using packetizer module "packetizer_h264" main debug: looking for packetizer module matching "any": 21 candidates packetizer_mpeg4audio debug: running MPEG4 audio packetizer packetizer_mpeg4audio debug: AAC 16000Hz 1024 samples/frame main debug: using packetizer module "packetizer_mpeg4audio" main debug: starting in async mode main debug: looking for meta reader module matching "any": 2 candidates lua debug: Trying Lua scripts in C:\Documents and Settings\user three\Application Data\vlc\lua\meta\reader lua debug: Trying Lua scripts in C:\Program Files\VideoLAN\VLC\lua\meta\reader lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\meta\reader\filename.luac main debug: no meta reader modules matched main debug: `rtsp://10.168.64.253:554' successfully opened live555 debug: play start: 0.000000 stop:0.000000 main debug: using access_demux module "live555" main debug: looking for packetizer module matching "any": 21 candidates packetizer_h264 debug: found NAL_SPS (sps_id=0) packetizer_h264 debug: found NAL_PPS (pps_id=0 sps_id=0) main debug: using packetizer module "packetizer_h264" main debug: looking for packetizer module matching "any": 21 candidates packetizer_mpeg4audio debug: running MPEG4 audio packetizer packetizer_mpeg4audio debug: AAC 16000Hz 1024 samples/frame main debug: using packetizer module "packetizer_mpeg4audio" main debug: starting in async mode main debug: looking for meta reader module matching "any": 2 candidates lua debug: Trying Lua scripts in C:\Documents and Settings\user three\Application Data\vlc\lua\meta\reader lua debug: Trying Lua scripts in C:\Program Files\VideoLAN\VLC\lua\meta\reader lua debug: Trying Lua playlist script C:\Program Files\VideoLAN\VLC\lua\meta\reader\filename.luac main debug: no meta reader modules matched main debug: `rtsp://10.168.48.253:554' successfully opened main debug: switching to sync mode main debug: Buffering 0% main debug: Buffering 0% main debug: Buffering 0% main debug: switching to sync mode main debug: Buffering 0% main debug: Buffering 0% main debug: Buffering 0% main debug: Buffering 4% main debug: Buffering 3% main debug: Buffering 8% main debug: adding a new sout input (sout_input:01b30898) main debug: adding a new input mux_ts debug: adding input codec=h264 pid=68 mux_ts debug: new PCR PID is 68 main debug: adding a new sout input (sout_input:046caf88) main debug: adding a new input mux_ts debug: adding input codec=h264 pid=68 mux_ts debug: new PCR PID is 68 main debug: Buffering 6% main debug: Buffering 10% main debug: Buffering 12% main debug: Buffering 13% main debug: Buffering 16% main debug: Buffering 16% main debug: Buffering 20% main debug: Buffering 20% main debug: Buffering 24% main debug: Buffering 23% main debug: Buffering 28% main debug: Buffering 26% mux_ts warning: packet with too strange dts (dts=182567578891,old=182567767146,pcr=182567766776) main debug: Buffering 30% main debug: Buffering 32% main debug: Buffering 33% main debug: Buffering 36% main debug: Buffering 36% main debug: Buffering 40% main debug: Buffering 40% main debug: Buffering 44% main debug: Buffering 43% main debug: Buffering 48% main debug: Buffering 46% main debug: Buffering 50% main debug: Buffering 50% main debug: Buffering 50% main debug: Buffering 52% main debug: Buffering 53% main debug: Buffering 56% main debug: Buffering 56% main debug: Buffering 60% main debug: Buffering 60% main debug: Buffering 60% main debug: Buffering 60% main debug: Buffering 64% main debug: Buffering 63% main debug: Buffering 68% main debug: Buffering 66% main debug: Buffering 70% main debug: Buffering 72% main debug: Buffering 73% main debug: Buffering 76% main debug: Buffering 76% main debug: Buffering 80% main debug: Buffering 80% main debug: Buffering 84% main debug: Buffering 83% main debug: Buffering 88% main debug: Buffering 86% main debug: Buffering 90% main debug: Buffering 92% main debug: Buffering 93% main debug: Buffering 96% main debug: Buffering 96% main debug: Buffering 100% main debug: Stream buffering done (1001 ms in 995 ms) main debug: Decoder buffering done in 0 ms main warning: late buffer for mux input (1000) main debug: Stream buffering done (1040 ms in 1040 ms) main debug: Decoder buffering done in 0 ms

hilltopper06
Blank Cone
Blank Cone
Posts: 18
Joined: 17 Apr 2012 16:20

Re: VLM Multiple Multicast stream issues

Postby hilltopper06 » 01 May 2014 17:57

In addition, I only get one of my 3 audio streams at all. 1 audio stream will play on a random video stream. The video streams all play every time, and in their proper place. Just the audio is out of sorts. a MUX issue perhaps?

hilltopper06
Blank Cone
Blank Cone
Posts: 18
Joined: 17 Apr 2012 16:20

Re: VLM Multiple Multicast stream issues

Postby hilltopper06 » 02 May 2014 14:35

I have used a workaround for my issue. It is much less efficient, but gets the job done. I have created a virtual machine per stream and that has fixed everything. Now audio and video match up and my stream can go all night without a hiccup.


Return to “VLM”

Who is online

Users browsing this forum: No registered users and 8 guests