Mosaic/grid view of RTSP streams with ffmpeg

Finally found a solution for grid/mosaic playback of RTSP streams.

ffmpeg -rtsp_transport tcp \
-i rtsp://smartiptv:PASSWORD@192.168.2.3:6911/Streaming/Channels/101 \
-i rtsp://smartiptv:PASSWORD@192.168.2.3:6911/Streaming/Channels/201 \
-i rtsp://smartiptv:PASSWORD@192.168.2.3:6911/Streaming/Channels/301 \
-i rtsp://smartiptv:PASSWORD@192.168.2.3:6911/Streaming/Channels/401 \
-filter_complex "
nullsrc=size=1920×1080 [base];
[0:v] setpts=PTS-STARTPTS, scale=960×540 [upperleft];
[1:v] setpts=PTS-STARTPTS, scale=960×540 [upperright];
[2:v] setpts=PTS-STARTPTS, scale=960×540 [lowerleft];
[3:v] setpts=PTS-STARTPTS, scale=960×540 [lowerright];
[base][upperleft] overlay=shortest=1 [tmp1];
[tmp1][upperright] overlay=shortest=1:x=960 [tmp2];
[tmp2][lowerleft] overlay=shortest=1:y=540 [tmp3];
[tmp3][lowerright] overlay=shortest=1:x=960:y=540
" \
-c:v libx264 -preset superfast -crf 18 -f matroska – | ffplay –

Source: https://trac.ffmpeg.org/wiki/Create%20a%20mosaic%20out%20of%20several%20input%20videos

EZVIZ C3W IP cam RTSP URL

Finally got the stream URL

$ mpv rtsp://admin:VERIFICATION_CODE_FROM_CAMERA@CAMERA_IP/
Playing: rtsp://admin:JFORKE@192.168.2.70/
[ffmpeg/demuxer] rtsp: Missing PPS in sprop-parameter-sets, ignoring
(+) Video --vid=1 (h264 1920x1080 15.000fps)
(+) Audio --aid=1 (aac 1ch 16000Hz)
File tags:
Title: Media Presentation
AO: [pulse] 16000Hz mono 1ch float
VO: [gpu] 1920x1080 yuv420p

Just replace CAMERA_IP with IP and VERIFICATION_CODE_FROM_CAMERA with your code from camera

More info at https://www.ispyconnect.com/man.aspx?n=EZVIZ

ezviz stream