Show multiple Kerberos.io surveillance camera streams next to each other in a browser. Each stream links to the separate Kerberos.io dashboard. Recent camera events show as a timestamp overlay ontop of each stream.
-
We assume you are already running multiple Kerberos.io camera instances. If not, then you need to start there first. I like to match port numbers with camera numbers and leave port 80 free for the webcam dashboard (see end of doc).
#!/bin/bash # Script to boot multiple Kerberos surveillance instances. # Build a local camera docker image (takes a while!) docker build -t cameras -d kerberos/kerberos # Start camera 1 docker run --restart always -d -p 81:80 -p 91:8889 --name camera1 camera docker run --restart always -d -p 82:80 -p 92:8889 --name camera2 camera docker run --restart always -d -p 83:80 -p 93:8889 --name camera3 camera docker run --restart always -d -p 84:80 -p 94:8889 --name camera4 camera
-
Checkout this repo:
git clone [email protected]:dtbaker/kerberos-dashboard.git
-
Adjust the camera configuration in
app/config.json
(these are the cameras that will show up on your dashboard, the username and password is required to get access to the recent camera events to show on the screen){ "servers": [ { "name": "Cam 1", "ip": "192.168.0.142", "port": "81", "streamport": "91", "username": "USERNAMEHERE", "password": "PASSWORDHERE" }, { "name": "Cam 2", "ip": "192.168.0.142", "port": "82", "streamport": "92", "username": "USERNAMEHERE", "password": "PASSWORDHERE" }, { "name": "Cam 3", "ip": "192.168.0.142", "port": "83", "streamport": "93", "username": "USERNAMEHERE", "password": "PASSWORDHERE" }, { "name": "Cam 4", "ip": "192.168.0.142", "port": "84", "streamport": "94", "username": "USERNAMEHERE", "password": "PASSWORDHERE" } ] }
-
Build a Dashboard docker image:
docker build -t cameradashboard -f Dockerfile .
-
Start the dashboard:
docker run --restart always -d -p 80:80 --name dashboard cameradashboard
The "recent history" overlay needs some work. Sometimes it works and sometimes it doesn't. I need to make some changes to the kerberos web
PHP code to make the API a bit easier to get this information. Once those changes have been made I'll update this repo with instructions.