Skip to content
This repository has been archived by the owner on Jun 18, 2022. It is now read-only.

New architecture to support multiple camera configuration and visualization. #116

Open
cedricve opened this issue Mar 20, 2018 · 20 comments
Assignees

Comments

@cedricve
Copy link
Member

cedricve commented Mar 20, 2018

Purpose: A lot of users have been upvoting the multi camera approach (https://feathub.com/kerberos-io/machinery/+14).

Problem: the web repo isn't scalable for very large image sets, which is more a performance/functionaly issue when trying to visualise N cameras.

Goal: We need to brainstorm how to implement a scalable web interface which supports different kind of scenarios.

  1. Standalone on IoT device, where only 1 machinery is running.
  2. Docker, the idea is to have 1-N machinery containers and only 1 web container.

We need an architecture which can (auto)subscribe a machinery process to a web repo without to much configuration. The idea is to keep the machinery repo in place.

Technologies: Move from PHP/BackboneJS to Golang/React or Angular. Server Logic and UI is too much mixed atm, a decent REST API written in go will help.

@cedricve cedricve self-assigned this Mar 20, 2018
@AddoSolutions
Copy link

One thing that may solve this would be to do a similar approach to Ubiquiti’s camera software, where it lists the cameras and you can view the cameras that way, and then you can also assemble views in which you can pick various grids arrangements to assign cameras to to whatever size you may like.

I can send some screenshots of what I’m talking about if it’s be of help!

@Jerkysan
Copy link

I am not a programmer by trade but a system's engineer so take what I say with a grain of salt if you would like but it would seem what you could do is just have a piece of the web interface where you could add the ip's of multiple machinery instances. The "homepage" would be replaced by a live stream of all the machinery instances. Clicking on that live stream would take you to the page you currently see where you can view previous caps, live stream, and such. Eventually you could make it where you could have tabs at the top left. "Live/Date in Time" or something where you can specify a time/date and it would turn the live streams into panes that come on and off depending if it recorded something from that particular camera. An example would be at night someone broke into your car and you found foot prints from the side of your house to your car. You look through the car cam until you find a time say (1:05) and you set the date/time to the date and 1:00 - 1:05 and click play. Then you would get whatever was captured from the other cameras leading all the way up to 1:05 from 1:00. Sorry if it sounds weird or anything just trying to help. I like kerberos it seems like it could really grown into a amazing NVR type system.

@mikeys4u
Copy link

Your documentation needs work... especially on docker and multiple cameras. (I am so confused)
I have 3 IP cameras with rtsp addresses like (rtsp://admin:password@79.143.207.252:554/11), I have installed docker on my raspberry pi and used
docker run --name camera1 -p 80:80 -p 8889:8889 -d kerberos/kerberos
which lets me login, but how do I show my other cameras?
I found /environments/example1/config.xml and changed that to IPCamera and a few others like stream.xml but how do I run 3 cameras using the settings like in 'example1'?

I did try renaming example1 to camera1!
Then I found docker-compose.yml
Then you have dockeros!!!
and this!!! CAMERA 1 <<== CONTAINER1 <<== environment/cameraconfig1

How does it all fit together to use 3 cameras in one portal...
I am fast going no where, please have a raspberry pi3 image for me to download and use that has docker and three other cameras that I can just edit....that would be so handy....

@cedricve
Copy link
Member Author

hey @mikeys4u, can you please move this comment to a seperate issue on the right repository (https://github.com/kerberos-io/docker). This comment hasn't to do any thing with "New architecture to support multiple camera configuration and visualization".

@dtbaker
Copy link

dtbaker commented Jul 1, 2018

Has anybody started on a multi cam dashboard yet? I'm thinking about putting something together in PHP.

I installed Kerberos 15 minutes ago and it works out of the box. Incredible! (compared to other solutions I've tried). I only have 4 IP cameras and it would be amazing if I could see them all (and any events) from a local central dashboard.

@wicadmin
Copy link

wicadmin commented Sep 9, 2018

Given this is the top most requested feature (also for me too), it seems to me the best option would be to have a new project/repo (simaliar to how web, machinery, documentation etc. are segregated) and have a function to add cameras. It can then tile show the stream (e.g.: http://<kerberois.io ip>:/stream) and a link to go into that camera's dashboard. I would assume you'll want to navigate back out so probably some sort of centralize place to get all the camera configs from.

@fabiopbx
Copy link

Doesn't cloud already do something similar, why not have a cut down version of that?
A simple dash to view them all and some method of changing to a specific camera that would then allow us to change the actual settings of that kerberos instance.

@dtbaker
Copy link

dtbaker commented Oct 11, 2018

Oh I forgot to post what I had from July

Just uploaded it to github:
https://github.com/dtbaker/kerberos-dashboard

This is how I view my 4 Kerberos camera streams every day from desktop and mobile.

screenshot

Not perfect, the event overlay doesn't always work, but have had no time to adjust the web API so I can get this data a bit easier.

Enjoy!

@ytzelf
Copy link

ytzelf commented Jan 28, 2019

Hi everyone, has any progress been made on this since the last post? I understand that it's a much requested feature and actually the one keeping me from testing kerberos. Thanks!

@gintsmurans
Copy link

+1 for multicam support. I am currently using ubiquiti unifi video, which is more or less great, but recent news of possibly dropping support for diy install makes me take a look around. Haven't yet tested kerberos.io, but having separate dashboard for each cam sounds silly. Do I login to each web for each cam on a different ip/port, etc?

You should go with NodeJS + React.

@uthd-dev
Copy link

This issue is the top voted & has been open for almost 3 years?! Any progress? Functionality (in my opinion at least) could be nearly identical to the cloud solution but self-hosted. I have the ability to host the dashboard on a pretty beefy dedicated local server so that shouldn't be the issue. Is the cloud source code open? Could I try adapting my own version?

@cedricve
Copy link
Member Author

cedricve commented Sep 27, 2020

It is available under kerberos enterprise, and are about to release this software as open source as well. More info coming in the next few weeks.

@ytzelf
Copy link

ytzelf commented Sep 27, 2020

@cedricve do you mean this feature is making it's way into the non-enterprise version?
Thks a lot

@cedricve
Copy link
Member Author

cedricve commented Sep 27, 2020

No the different services Kerberos Open Source and Kerberos Enterprise will remain. Both options will be available free of charge. Users will be able to install both versions open source / enterprise, without a license key (which currently is the case for enterprise). The Open Source will remain the way to go for small setups (1 or 2 cams). With Enterprise we highlight the scaling capabilities (Kubernetes), however as mentioned users will be able to install, test and run this free of charge.

What will be new:

  1. Kerberos Storage: this will allow Kerberos Enterprise users to bring their own cloud. This service will be paid.
  2. Kerberos Enterprise/OpenSource Web: This will be the new web interface for both Kerberos Open Source and Kerberos Enterprise. Technology Stack (Golang + React).
  3. Kerberos Cloud Private Edition: Kerberos Cloud will link to Kerberos Storage.

We have been focussing on our cloud solutions for the past few months, to make sure we can continue the development of our open source products.

@ytzelf
Copy link

ytzelf commented Sep 27, 2020

That's quite clear but I'm not sure if the feature discussed here (multicamera) will be available on the "new web interface" you speak of :)

@cedricve
Copy link
Member Author

@ytzelf yes it is. https://doc.kerberos.io/enterprise/get-started

What will be added on top of this is a (limited) web layer, which makes it possible to review recordings from all your cameras. For extensive visualisations of course our Kerberos Cloud is the way to go..

@uthd-dev
Copy link

From my understanding of the docs & the purpose of this thread, I still don't believe that this new approach has really solved the issue yet. It seems to me that this thread is looking more for a way to see multiple camera streams, in real time, on a single dashboard page that is hosted on a (single / multiple for ha) web server. I understand that this is a feature that you would probably like to keep under cloud functionality but is at least what I'm looking for. Besides that, thank you for the replies so far! This new update is now enough for me to make the leap and deploy!

@cedricve
Copy link
Member Author

@uthd-dev, correct at the time of writing the multi camera feed is, still, missing in the open source solution. We have started working out the Kerberos Enterprise version for this (which is free or charge). At the moment you can scale your deployments (kerberos agent containers) inside a Kubernetes Cluster. Kerberos Enterprise has currently no UI for watching recordings but we'll add a solution for this in the near future.

Our main concern, with Kerberos Open Source, is that adding multi camera feature would over-complicate the solution, and drain the performance. We currently have thousands of users, using Kerberos Open Source, for just 1 or 2 cameras. Our strategy is that people who really want scale, could benefit from the Kerberos Enterprise solution and with the upcoming UI component so they could review their recordings (free of charge, on a backbone Kubernetes, which was build to scale).

However this is our vision, if anyone has remarks, tips, all welcome ;)

@uthd-dev
Copy link

Awesome, all that sounds great! I can live without the live viewing of cameras baked into enterprise as I can figure out / write my own way to view all the cameras locally. However, the UI component for viewing past recordings will be much appreciated.

Is Kerberos Cloud available similar to Kerberos Enterprise to host on-premises? Because I could just run both in parallel rather than needing more features to be built into Kerberos Enterprise.

Also, I used to use a much simpler piece of video surveillance software called MotionEye(/OS) which allowed for a similar setup to Kerberos, as far as the open-source install on Raspi + a central hub to manage it all, and did allow for live camera multi-view. I believe it was written in completely different languages to Kerberos but it might be worth looking into (if you haven't already) for how some of their stuff worked. Hope you find it useful.

Thanks for the prompt replies!

@Damix48
Copy link

Damix48 commented Dec 5, 2020

Any news on Cloud free version?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests