Reolink RTSP Stream displayed as Mosaic using VLC

After more than one year of using the Reolink Windows Application to display more than one Reolink Stream at the same time, I noticed a few negative side effects. If you have it running constantly the streams get laggy (means it is sometimes up to 5-10 seconds time shifted, or the objects in the stream are not moving fluent anymore). In my opinion or feeling it is, because the video stream is transfered not locally – it goes through the Reolink cloud or at least over the servers at Reolink.

So I was investigating a solution where the stream is consumed only through the LAN. Reolink supports consuming RTSP Streams (check your camera settings – for some cameras it was switched on, for others not) and so my idea was to use VLC as player. You can find directly at Reolink a short guide how to consume the RTSP Stream: click here

But this is only a single camera stream and for the surveillance (live) view it is not really that nice like the Reolink Application for Windows itself. But VLC offers the possibility to create a mosaic view of multiple streams. You only need to create a „script“, which is effectively a .vlm file which you call at start of VLC.

Here’s my .vlm File for displaying 4 Reolink Cameras at once at a display resolution of 1920×1080 (so Full HD):

# Background options
new   bg broadcast enabled
# bg just plain black background jpg image
setup bg input     "C:\vlc\bg.jpg"
setup bg option image-duration=-1
setup bg output #transcode{sfilter=mosaic{width=1920,height=1080,cols=2,rows=2,position=1,order="1,2,3,4",keep-aspect-ratio=enabled,keep-picture=1,mosaic-align=5},vcodec=mp4v,vb=2000,fps=15}:duplicate{dst=display}

# Input options
new   1 broadcast enabled
# RTSP string for Reolink cameras
setup 1 input "rtsp://admin:password@XX.XX.X.XXX:554/h265Preview_01_main"
setup 1 option dshow-size="960x540"
setup 1 output #duplicate{dst=mosaic-bridge{id=1,width=960,height=540},select=video,dst=bridge-out{id=0}}

new   2 broadcast enabled
setup 2 input "rtsp://admin:password@XX.XX.X.XXX:554/h265Preview_01_main"
setup 2 option dshow-size="960x540"
setup 2 output #duplicate{dst=mosaic-bridge{id=2,width=960,height=540},select=video,dst=bridge-out{id=1}}

new   3 broadcast enabled
setup 3 input "rtsp://admin:password@XX.XX.X.XXX:554/h265Preview_01_main"
setup 3 option dshow-size="960x540"
setup 3 output #duplicate{dst=mosaic-bridge{id=3,width=960,height=540},select=video,dst=bridge-out{id=2}}

new   4 broadcast enabled
setup 4 input "rtsp://admin:password@XX.XX.X.XXX:554/h265Preview_01_main"
setup 4 option dshow-size="960x540"
setup 4 output #duplicate{dst=mosaic-bridge{id=4,width=960,height=540},select=video,dst=bridge-out{id=3}}

# Launch everything
control bg play
control 1 play
control 2 play
control 3 play
control 4 play

Just replace the „password“ with your password and the XX.XX.X.XXX with the IP Addresses or your cameras and save the .vlm with a meaningful name (I named it mosaic.vlm)

For a full size background I use a white .jpg file which i stored locally in C:\vlc\ Folder.

Just run VLC using command line:
„C:\Program Files\VideoLAN\VLC\vlc.exe“ –vlm-conf=“C:\vlc\mosaic.vlm“ –fullscreen

For more comfort i finally created a Batch File (.bat) for running the command with a double click. Until now it works like a charm without any lags. Only CPU usage is quite high with around 50%, but as nothing else is running on this computer I do not care that much.