Dear Community,
Goal to Achieve:
Configure a server to grab RTSP streams from different cameras and then a VLC client over the network calls the stream by contacting a single server IP address. so the RTSP call looks like: rtsp://serverIp:554/stream1, rtsp://serverIP:554/stream2 etc.. and get a live video feed.
Script that was created:
I have a very basic programming skills, but after some research, I managed to create a VLM configuration file to broadcast RTSP streams out of 4 cameras on the LAN as follows:
I used the command vlc -vvv --color -I telnet --telnet-password <password> --rtsp-host 0.0.0.0 --rtsp-port 554 to enable telnet and then using puTTy, i managed to successfully load the vlm file.
new stream1 vod enabled
setup stream1 input "rtsp://administrator:@169.254.102.43/defaultPrimary?streamType=u"
setup stream1 option network-caching=500
new stream2 vod enabled
setup stream2 input "rtsp://admin:admin@169.254.192.216/defaultPrimary?streamType=u"
setup stream2 option network-caching=500
new stream3 vod enabled
setup stream3 input "rtsp://administrator:@169.254.49.166/defaultPrimary?streamType=u"
setup stream3 option network-caching=500
new stream4 vod enabled
setup stream4 input "rtsp://administrator:@169.254.143.11/defaultPrimary?streamType=u"
setup stream4 option network-caching=500
Testing Done:
1) Individual RTSP streams from the cameras are working fine
2) Local VLC player on the server streams correctly: rtsp://localhost:554/stream1, rtsp://localhost:554/stream2 etc..
Issue Faced:
When I connect another VLC player on the network on a different laptop and try to use rtsp://serverIp:554/stream1, rtsp://serverIP:554/stream2, the VLC timeline shows a connection (timer is counting), however, VLC does not display any video stream.
VLC client Logs:
core debug: adding item `rtsp://192.168.3.80:554/stream1' ( rtsp://192.168.3.80:554/stream1 )
core debug: processing request item: rtsp://192.168.3.80:554/stream1, node: null, skip: 0
core debug: rebuilding array of current - root Playlist
core debug: rebuild done - 1 items, index 0
core debug: starting playback of the new playlist item
core debug: resyncing on rtsp://192.168.3.80:554/stream1
core debug: rtsp://192.168.3.80:554/stream1 is at 0
core debug: creating new input thread
core debug: Creating an input for 'rtsp://192.168.3.80:554/stream1'
core debug: meta ok for (null), need to fetch art
core debug: looking for meta fetcher module matching "any": 1 candidates
core debug: requesting art for rtsp://192.168.3.80:554/stream1
lua debug: Trying Lua scripts in C:\Users\Michel.Daou\AppData\Roaming\vlc\lua\meta\fetcher
core debug: looking for meta fetcher module matching "any": 1 candidates
lua debug: Trying Lua scripts in C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher
core debug: using timeshift granularity of 50 MiB, in path 'C:\Users\MICHEL~1.DAO\AppData\Local\Temp'
core debug: `rtsp://192.168.3.80:554/stream1' gives access `rtsp' demux `' path `192.168.3.80:554/stream1'
core debug: specified demux `any'
core debug: creating demux: access='rtsp' demux='any' location='192.168.3.80:554/stream1' file='\\192.168.3.80:554\stream1'
core debug: looking for access_demux module matching "rtsp": 12 candidates
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher\tvrage.luac
lua debug: Trying Lua scripts in C:\Users\Michel.Daou\AppData\Roaming\vlc\lua\meta\fetcher
lua debug: Trying Lua scripts in C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher
live555 debug: version 2016.02.22
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher\tvrage.luac
lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher\tvrage.luac
core debug: no meta fetcher modules matched
core debug: searching art for rtsp://192.168.3.80:554/stream1
core debug: looking for art finder module matching "any": 2 candidates
lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher\tvrage.luac
core debug: no meta fetcher modules matched
core debug: searching art for rtsp://192.168.3.80:554/stream1
core debug: looking for art finder module matching "any": 2 candidates
lua debug: Trying Lua scripts in C:\Users\Michel.Daou\AppData\Roaming\vlc\lua\meta\art
lua debug: Trying Lua scripts in C:\Users\Michel.Daou\AppData\Roaming\vlc\lua\meta\art
lua debug: Trying Lua scripts in C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\00_musicbrainz.luac
lua debug: Trying Lua scripts in C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\00_musicbrainz.luac
lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\00_musicbrainz.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\01_googleimage.luac
lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\00_musicbrainz.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\01_googleimage.luac
lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\01_googleimage.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\02_frenchtv.luac
lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\02_frenchtv.luac
lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\01_googleimage.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\03_lastfm.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\02_frenchtv.luac
lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\03_lastfm.luac
core debug: no art finder modules matched
core debug: looking for meta fetcher module matching "any": 1 candidates
lua debug: Trying Lua scripts in C:\Users\Michel.Daou\AppData\Roaming\vlc\lua\meta\fetcher
lua debug: Trying Lua scripts in C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher\tvrage.luac
core debug: using meta fetcher module "lua"
core debug: removing module "lua"
core debug: searching art for rtsp://192.168.3.80:554/stream1
core debug: looking for art finder module matching "any": 2 candidates
lua debug: Trying Lua scripts in C:\Users\Michel.Daou\AppData\Roaming\vlc\lua\meta\art
lua debug: Trying Lua scripts in C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\00_musicbrainz.luac
lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\02_frenchtv.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\03_lastfm.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\01_googleimage.luac
lua debug: skipping script (unmatched scope) C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\03_lastfm.luac
core debug: no art finder modules matched
core debug: looking for meta fetcher module matching "any": 1 candidates
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\02_frenchtv.luac
lua debug: Trying Lua scripts in C:\Users\Michel.Daou\AppData\Roaming\vlc\lua\meta\fetcher
lua debug: Trying Lua scripts in C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\fetcher\tvrage.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\03_lastfm.luac
core debug: using meta fetcher module "lua"
core debug: removing module "lua"
core debug: searching art for rtsp://192.168.3.80:554/stream1
core debug: looking for art finder module matching "any": 2 candidates
lua debug: Trying Lua scripts in C:\Users\Michel.Daou\AppData\Roaming\vlc\lua\meta\art
lua debug: Trying Lua scripts in C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art
core debug: no art finder modules matched
core debug: art not found for rtsp://192.168.3.80:554/stream1
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\00_musicbrainz.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\01_googleimage.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\02_frenchtv.luac
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\art\03_lastfm.luac
core debug: no art finder modules matched
core debug: art not found for rtsp://192.168.3.80:554/stream1
qt4 debug: IM: Setting an input
live555 debug: authentication failed
live555 debug: retrying with user=test
live555 debug: RTP subsession 'video/H264'
core debug: selecting program id=0
live555 debug: RTP subsession 'audio/PCMU'
live555 debug: setup start: 0.000000 stop:0.000000
live555 debug: We have a timeout of 60 seconds
live555 debug: spawned timeout thread
live555 debug: play start: 0.000000 stop:0.000000
core debug: using access_demux module "live555"
core debug: looking for decoder module matching "any": 43 candidates
avcodec debug: CPU flags: 0x0107d3db
avcodec debug: trying to use direct rendering
avcodec debug: allowing 4 thread(s) for decoding
avcodec debug: avcodec codec (H264 - MPEG-4 AVC (part 10)) started
avcodec debug: using frame thread mode with 4 threads
core debug: using decoder module "avcodec"
core debug: looking for packetizer module matching "any": 23 candidates
packetizer_h264 debug: found NAL_SPS (sps_id=0)
packetizer_h264 debug: found NAL_PPS (pps_id=0 sps_id=0)
core debug: using packetizer module "packetizer_h264"
core debug: looking for decoder module matching "any": 43 candidates
g711 debug: samplerate:8000Hz channels:1
core debug: using decoder module "g711"
core debug: looking for meta reader module matching "any": 2 candidates
lua debug: Trying Lua scripts in C:\Users\Michel.Daou\AppData\Roaming\vlc\lua\meta\reader
lua debug: Trying Lua scripts in C:\Program Files (x86)\VideoLAN\VLC\lua\meta\reader
lua debug: Trying Lua playlist script C:\Program Files (x86)\VideoLAN\VLC\lua\meta\reader\filename.luac
core debug: no meta reader modules matched
core debug: `rtsp://192.168.3.80:554/stream1' successfully opened
core debug: Buffering 0%
core debug: Buffering 0%
core debug: Stream buffering done (1500 ms in 255 ms)
core debug: Decoder wait done in 0 ms
core debug: reusing audio output
directsound debug: Opening DirectSound Audio Output
directsound debug: Windows speaker config: Stereo and stream has 1 channels, using 1 channels
core debug: output 'f32l' 8000 Hz Stereo frame=1 samples/8 bytes
core debug: looking for audio volume module matching "any": 2 candidates
core debug: using audio volume module "float_mixer"
core debug: input 's16l' 8000 Hz Mono frame=1 samples/2 bytes
core debug: looking for audio filter module matching "scaletempo": 14 candidates
scaletempo debug: format: 8000 rate, 1 nch, 4 bps, fl32
scaletempo debug: params: 30 stride, 0.200 overlap, 14 search
scaletempo debug: 1.000 scale, 240.000 stride_in, 240 stride_out, 192 standing, 48 overlap, 112 search, 400 queue, fl32 mode
core debug: using audio filter module "scaletempo"
core debug: conversion: 's16l'->'f32l' 8000 Hz->8000 Hz Mono->Mono
core debug: looking for audio converter module matching "any": 12 candidates
audio_format debug: s16l->f32l, bits per sample: 16->32
core debug: using audio converter module "audio_format"
core debug: conversion pipeline complete
core debug: conversion: 'f32l'->'f32l' 8000 Hz->8000 Hz Mono->Stereo
core debug: looking for audio converter module matching "any": 12 candidates
core debug: using audio converter module "trivial_channel_mixer"
core debug: conversion pipeline complete
core debug: looking for audio resampler module matching "any": 3 candidates
core debug: using audio resampler module "samplerate"
core debug: End of audio preroll
core warning: buffer too late (-1334196 us): dropped
core warning: buffer too late (-1314196 us): dropped
core warning: buffer too late (-1294196 us): dropped
core warning: buffer too late (-1285196 us): dropped
core warning: buffer too late (-1285196 us): dropped
live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP()
core warning: buffer too late (-1286196 us): dropped
core error: ES_OUT_RESET_PCR called
core debug: Buffering 0%
core debug: End of audio preroll
core debug: Buffering 2%
core debug: Buffering 4%
core debug: Buffering 6%
core debug: Buffering 6%
core debug: Buffering 6%
core debug: Buffering 8%
core debug: Buffering 10%
core debug: Buffering 12%
core debug: Buffering 14%
core debug: Buffering 16%
core debug: Buffering 18%
core debug: Buffering 20%
core debug: Buffering 22%
core debug: Buffering 24%
core debug: Buffering 26%
core debug: Buffering 28%
core debug: Buffering 30%
core debug: Buffering 32%
core debug: Buffering 34%
core debug: Buffering 36%
core debug: Buffering 38%
core debug: Buffering 40%
core debug: Buffering 42%
core debug: Buffering 44%
live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP()
core error: ES_OUT_RESET_PCR called
core debug: discarded audio buffer
core debug: Buffering 0%
core debug: End of audio preroll
core debug: Buffering 0%
core debug: Buffering 2%
core debug: Buffering 4%
core debug: Buffering 6%
core debug: Buffering 8%
core debug: Buffering 10%
core debug: Buffering 12%
core debug: Buffering 14%
core debug: Buffering 16%
core debug: Buffering 18%
core debug: Buffering 20%
core debug: Buffering 22%
core debug: Buffering 22%
core debug: Buffering 22%
core debug: Buffering 22%
core debug: Buffering 22%
core debug: Buffering 22%
core debug: Buffering 22%
core debug: Buffering 24%
core debug: Buffering 26%
core debug: Buffering 26%
core debug: Buffering 28%
core debug: Buffering 30%
core debug: Buffering 31%
core debug: Buffering 32%
core debug: Buffering 34%
core debug: Buffering 36%
core debug: Buffering 38%
core debug: Buffering 38%
core debug: Buffering 40%
core debug: Buffering 42%
core debug: Buffering 44%
core debug: Buffering 44%
core debug: Buffering 46%
core debug: Buffering 46%
core debug: Buffering 48%
core debug: Buffering 50%
core debug: Buffering 52%
core debug: Buffering 52%
core debug: Buffering 54%
core debug: Buffering 56%
core debug: Buffering 57%
core debug: Buffering 57%
core debug: Buffering 60%
core debug: Buffering 62%
core debug: Buffering 62%
core debug: Buffering 66%
core debug: Buffering 66%
core debug: Buffering 66%
core debug: Buffering 68%
core debug: Buffering 70%
core debug: Buffering 72%
core debug: Buffering 74%
core debug: Buffering 74%
core debug: Buffering 76%
core debug: Buffering 81%
core debug: Buffering 81%
core debug: Buffering 81%
core debug: Buffering 81%
core debug: Buffering 82%
core debug: Buffering 84%
core debug: Buffering 86%
core debug: Buffering 88%
core debug: Buffering 88%
core debug: Buffering 88%
core debug: Buffering 90%
core debug: Buffering 92%
core debug: Buffering 94%
core debug: Buffering 96%
core debug: Buffering 98%
core debug: Buffering 100%
core debug: Stream buffering done (1020 ms in 1018 ms)
core debug: Decoder wait done in 1 ms
core warning: buffer too late (-127000 us): dropped
core warning: buffer too late (-107000 us): dropped
core warning: buffer too late (-87000 us): dropped
core warning: buffer too late (-67000 us): dropped
core warning: playback too late (113337): up-sampling
core warning: playback too early (-45108): down-sampling
core warning: timing screwed (drift: -90837 us): stopping resampling
core warning: playback too early (-91587): down-sampling
core debug: resampling stopped (drift: 2894 us)
core warning: playback too early (-46626): down-sampling
core debug: resampling stopped (drift: -9999 us)
core warning: playback too early (-40060): down-sampling
core debug: resampling stopped (drift: -18625 us)
Request:
Can you please advise what could be the root cause and how to fix it
Much appreciated
Michel