If your head is full of ideas on how to organize something with lots of users, multiple IP cameras and some sound profit, step right up — we’ll tell you how we help with launching mass video surveillance services on our Flussonic Watcher.
Flussonic Watcher is
a ready-made carrier-class software package, that provides multi-user access to video records and archives from thousands of IP-cameras via browsers and mobile devices.
Flussonic Watcher includes:
- Video streaming core — Flussonic server;
- Web portal, that provides admins and users with the access to the cameras and video archives without using any plug-ins;
- Mobile apps;
- Agent installed to a camera for getting access to it from behind NAT without setting ports, Mirai and txt messages;
- System of integration with the external billing services and authorization servers;
- Set of ready-made business processes and technical guidelines for the preparation and sales of cameras for client video surveillance.
What is Watcher required for?
We have developed Watcher as an answer to the demands of our customers, so our package can be useful in the following cases:
- for the creation of subscription surveillance service based on the Internet provider or OTT, i.e. without the involvement of the Internet provider;
- as a solution for the municipal cameras aimed at the enhancement of security level in districts, cities, towns, etc.;
- for the creation of a service that provides online access to cameras for the customers of the cameras manufacturer;
- in-house remote access to the surveillance cameras with the accessibility for the general public;
- for audio and video recording of the production processes in industries.
We will describe some interesting cases of the integration as the story unfolds, and meanwhile we’ll explain the details of Flussonic Watcher organization.
Watcher is not a new tool for video transmission: video transmission is carried out by Flussonic video streaming server, where many customers have already launched their services, dealing with IP cameras.
Flussonic is really good at video streaming, and the entire structure of Watcher is arranged in such a way, that heavy traffic goes only to the servers with Flussonic installed. There is no proxying via balancers, and actually there is no need for that. And this works for the agent on the cameras as well, but we’ll turn to it a bit later.
One of the nice features for the local nets is as follows: we have added cameras search by Onvif (and six other special protocols) to Flussonic, so you can try to find all your cameras.
Watcher has two modes: “just to try” and “serious business”, i.e. plug-in mode and service mode.
In the first case the entire unit, that consists of one Watcher and Flussonic, works on one server only, and the Watcher does not store the information about streams in its database, but totally commits this information to the Flussonic instance it works with. The peculiarity of this convenient, but limited, solution is the possibility to correct stream settings in Flussonic interface and immediately see these changes in Watcher.
In the second case there is no video traffic on the server with Watcher, there is only Flussonic instance (controlling server), that ensures the interconnection with the streaming Flussonics cluster, on it. In this case the editing of the configuration on the streamer won’t work, since Watcher will re-record the changes right away. On the other hand, the automatic migration of cameras from one server to another is possible.
Users in Watcher
Before we’ve made Watcher, users had to develop a web-site (over Flussonic or any other video streamer), where people should log in to see the cameras. Such a front-end development is always expensive and is associated with major problems related to optimization and correct transfer of video from media server to browser and mobile application. We have greatly smoothened things down for our customers and created a ready-made solution for the end users over Flussonic Media Server.
Watcher is a web application on Python, started by Flussonic. It can store its data in SQLite or postgresql database. SQLite is used to make it easier to try, while postgresql is required for the full-scale work, including cluster setup. Cluster mode of work will not do with SQLite, that would be a really bad idea to use it this way.
We have tried to implement the necessary set of functions, required for the modern online video surveillance service. The only thing we don’t have yet is video analytics, but we plan to start working on it early in 2017.
Groups of users
From the very beginning there appears the necessity to group users and cameras. In general the task of cameras and users grouping, as well as the access privileges configuration can be monstrous and have a tremendously complicated solution.
I.e. as a bad variant there can be trees of users, trees of cameras and some odd connections between users, cameras, groups of users and groups of cameras.
We have thoroughly considered all that, have drawn a scheme on the wall and then implemented a simpler variant: cameras, groups and users. The huge scary scheme stays on the wall, since it was too large for the whiteboard, and we could not stop the flight of our imagination; so in case we ever need it, we can always turn to our monstrous plan.
A small operator has thousands of users. Their manual transfer from one web-interface to another may sound funny, but, well, we are not a bank to give our customer such a hard time.
We have an integration mechanism with billing services, external user bases, etc. and it looks quite handy: simple IDL, from which one can generate CORBA stubs for the access via OLE.
Don’t worry, everything is actually easy as pie: there are two addresses to which you can upload CSV files with the list of users and list of cameras by means of curl.
In some cases cameras can be stored in the operator’s billing system as inventory items, and the reference to the users can be stored there as well. However, much more often we face a situation, when it is clearly indicated that the operator’s billing is so flexible and customizable, that all we can do is log in to get the balance and make a transaction.
For such cases we are already developing our own rating system, so hope we will be able to demonstrate it soon and make everyone happy.
If you are going to launch a service for general public, you will definitely need your logo in the top left corner.
Watcher allows you to change some elements of the interface for the whole site to look like your own.
We even let you add your logo to the mobile apps. By the way, we have made and uploaded them as well.
We have uploaded mobile apps for Android and iOS under the name of “peeklio” (that’s the name of our IP cameras hosting). You can use them with your own Watcher installation.
Video viewing from cameras, access to the archive, favorites, etc. — we already have all that, and all that can already be used.
However to make the picture complete and our OTT service perfect we need some icing on the cake: the ability to hang the camera to the wall, turn it on and immediately see the video from it on a smartphone. We have already considered that as well and developed an agent that is installed on a camera.
Agent on camera
Yes, we have a solution for that. We have created such an agent and found a way to upload it onto a camera. This agent goes online, gets connected to your Watcher and then gets connected directly to Flussonic.
Our way to get video from camera is better than OpenVPN, because it does not create any virtual interfaces and does not require equipment doubling. Our agent is pretty small: about 200 KB, so it can be installed on any Linux-based camera, it can encode video, and by the way it significantly improves the quality of delivery: where the image, transmitted by OpenVPN, gets corrupted, our agent delivers it fine.
To be continued
In our next articles we’ll do our best to tell you about the processes of camera preparation we’ve come up with, about these cameras sales procedures and their accounting.
We will also share our plans for the future and would be happy to receive any feedback. You are welcome to try Flussonic Watcher right now by requesting its trial at: https://flussonic.com/watcher