This is just a simple, no frills, multi-camera/client dashboard display of my three ESP32CAM boards (AI_Thinker).
Each is currently in a test position and has a different cam/lens component, from left to right, Normal, Wide Angle IR Sensitive, and Fisheye.
The key factor to making these meaningful for my needs was this multi-client streaming firmware. I am using the rtos
variant.
The install procedure can be a bit confusing... at least to me it was... but I also had posted an "issue" topic about that, and that topic has some clarifying details you might want to read.
And although it is very simple, here is the flow.
[{"id":"1f25a30f35ee2aab","type":"comment","z":"a64adde9.d2f4e","name":"ESP32 CAM Surveillance System","info":"","x":330,"y":220,"wires":[]},{"id":"0b80df98cb437bf8","type":"ui_template","z":"a64adde9.d2f4e","group":"8c0164eb.bb0d58","name":"","order":1,"width":10,"height":7,"format":"<!DOCTYPE html>\n<html>\n<style>\n img {\n border: 10px solid #000;\n border-radius: 8px;\n padding: 2px;\n width: 400px;\n }\n</style>\n\n<center>\n <table>\n <tr>\n <!-- Row 1 -->\n <td style=\"text-align: center\"><img src=\"data:image/jpg;base64,{{msg.payload}}\" /></td>\n </tr>\n </table>\n</center>\n</html>\n","storeOutMessages":false,"fwdInMessages":false,"resendOnRefresh":false,"templateScope":"local","x":820,"y":300,"wires":[[]]},{"id":"9aa0349346ecc9c3","type":"ui_template","z":"a64adde9.d2f4e","group":"5ff8146b.937ccc","name":"","order":1,"width":10,"height":7,"format":"<!DOCTYPE html>\n<html>\n<style>\n .img {\n border: 10px solid #000;\n border-radius: 8px;\n padding: 2px;\n width: 400px;\n }\n</style>\n\n<center>\n <table>\n <tr>\n <!-- Row 1 -->\n <td style=\"text-align: center\"><img src=\"data:image/jpg;base64,{{msg.payload}}\" class=img /></td>\n </tr>\n </table>\n</center>\n</html>\n","storeOutMessages":false,"fwdInMessages":false,"resendOnRefresh":false,"templateScope":"local","x":820,"y":260,"wires":[[]]},{"id":"8c6c05ee.777618","type":"base64","z":"a64adde9.d2f4e","name":"Encode","x":660,"y":300,"wires":[["0b80df98cb437bf8"]]},{"id":"c6f7e63c.ae32e8","type":"multipart-decoder","z":"a64adde9.d2f4e","name":"","ret":"bin","url":"http://10.10.3.185/mjpeg/1","tls":"","delay":0,"maximum":"10000000","blockSize":"1","x":470,"y":300,"wires":[["8c6c05ee.777618"]]},{"id":"ca446394.5fb1f","type":"multipart-decoder","z":"a64adde9.d2f4e","name":"","ret":"bin","url":"http://10.10.3.123/mjpeg/1","tls":"","delay":0,"maximum":"10000000","blockSize":"1","x":470,"y":260,"wires":[["afb3033f.6195"]]},{"id":"afb3033f.6195","type":"base64","z":"a64adde9.d2f4e","name":"Encode","x":660,"y":260,"wires":[["9aa0349346ecc9c3"]]},{"id":"327e228.322b0de","type":"ui_template","z":"a64adde9.d2f4e","group":"fc50ae98.16d65","name":"","order":1,"width":10,"height":7,"format":"<!DOCTYPE html>\n<html>\n<style>\n img {\n border: 10px solid #000;\n border-radius: 8px;\n padding: 2px;\n width: 400px;\n }\n</style>\n\n<center>\n <table>\n <tr>\n <!-- Row 1 -->\n <td style=\"text-align: center\"><img src=\"data:image/jpg;base64,{{msg.payload}}\" /></td>\n </tr>\n </table>\n</center>\n</html>\n","storeOutMessages":false,"fwdInMessages":false,"resendOnRefresh":false,"templateScope":"local","x":820,"y":340,"wires":[[]]},{"id":"63f146b1.5c72c8","type":"base64","z":"a64adde9.d2f4e","name":"Encode","x":660,"y":340,"wires":[["327e228.322b0de"]]},{"id":"48765e51.f91f","type":"multipart-decoder","z":"a64adde9.d2f4e","name":"","ret":"bin","url":"http://10.10.3.191/mjpeg/1","tls":"","delay":0,"maximum":"10000000","blockSize":"1","x":470,"y":340,"wires":[["63f146b1.5c72c8"]]},{"id":"6184c3f7a1b135ac","type":"ui_ui_control","z":"a64adde9.d2f4e","name":"","events":"all","x":260,"y":300,"wires":[["ca446394.5fb1f","c6f7e63c.ae32e8","48765e51.f91f"]]},{"id":"8c0164eb.bb0d58","type":"ui_group","name":"ESP Cam 2","tab":"73890071.f55b","order":2,"disp":true,"width":10,"collapse":false},{"id":"5ff8146b.937ccc","type":"ui_group","name":"ESP Cam 1","tab":"73890071.f55b","order":1,"disp":true,"width":10,"collapse":false},{"id":"fc50ae98.16d65","type":"ui_group","name":"ESP Cam 3","tab":"73890071.f55b","order":3,"disp":true,"width":10,"collapse":false},{"id":"73890071.f55b","type":"ui_tab","name":"ESP32CAM Surveillance System","icon":"camera","order":2,"disabled":false,"hidden":false}]
Enjoy