Guide to working with your own cloud video surveillance service Xeoma Pro Your Cloud
Xeoma Pro Your Cloud is Xeoma’s special mode of work powered by Xeoma Pro licenses. Designed to enable easy and quick work with subscribers, it automatizes the work to the maximum.
Read here to understand what Xeoma Pro Your Cloud is and why you need it
How to start:
Xeoma Pro Your Cloud Manual
1. Work through web interface.
Launch Xeoma. Use the Install Cloud-server to the autostart option in Main Menu -> Install:
The program will offer to choose the place to put Xeoma files. Press ОК. You’ll see a warning that the installation will take some time. You can also get a system about permission to install the service. Click Allow or OK.
As soon as the program is installed, the admin page will be opened in browser by default. Default credentials for browser access are admin/admin. We recommend to change these credentials to stronger ones. You can do that by clicking the username in the top panel.
The landing page – Main window – has the top panel with tabs Xeoma Cloud, List of users, Global Settings, Logged-in User, and Exit.
Xeoma Cloud will take you back to the Main page.
List of users is a window where you can view and change current users and their permissions.Global settings is where you can activate licenses and set up general rules for the cloud service.
Logged-in User will always let you know as what user you are logged in. Click on it to change the access data.
Exit is a log out button. It lets you re-login as a different user.
Global general settings for your Cloud can be set in the Global settings tab. Attention: to save changes you made don’t forget to click the Save button under the block with the changes.
List of users has a list of all current users, their connection data, number of available sources, etc. An new tab called Preferences will be added in top panel which is used to add or delete a user account.
Next to user name in the list you’ll see these icons: Box (for bulk actions), Pen (to change settings of a user account), Trash Bin (to delete a user account), and Camera (for view of a user’s cameras).
Press the Pen button to edit a user’s account data, including log-in information, number of available sources, disk space, etc. Take a look at registration data here as it will be used for connection under a user.
Enter your subscriber’s email in Registration data: user email. This email will become web page login username for this user. Please mind that for login the @ sign and point will be replaced with “_”.
You can set name for this user account in users list in User data block of user settings under Registration name: user name.
To view a user’s cameras, you will need to re-log in using user’s access data. To do that, click the Exit button. Enter user’s access data in the authorization prompt.
Among other wonderful posibilities, Xeoma Pro Your Cloud web interface offers setup of the Email Sending and SMS Sending modules that have been added to the chain.
Web interface differs slightly for a user. Read more about user web interface in Xeoma here.
2. Work through configuration files.
Launch Xeoma with -cloud:
When launched through Terminal, you will see this output. Please take time to read it thoroughly:
For example, these commands can be used with the -cloud command:
-nohup is for ignoring the HUP (hangup) signal;
-noguard is for disabling the process that restarts cloud server if it is stopped;
-sampleconfig is for generation of a sample config;
If you run top in the same Terminal, or close the Terminal, Xeoma Pro Your Cloud will be stopped. If you want to check that Xeoma has launched, open another Terminal and see if Xeoma is there:
When you first launch Xeoma with -cloud, it creates sample configuration and is ready to work with these demo settings from the start:
Config folder has only default users so far – adminUser and demoUser. Both are just for example, you can remove them when you want. You can create new user configs there.
Available settings for the user configs are reviewed in details below. Here’s how a user config looks like:
In xeoma_cloud.log file you will get information about events and users.
The data folder is where the users’ archives and settings are to be found, arranged by username. User.dat is the settings file, for Xeoma’s internal use.
Cloud.config file (also referred to as the main config file) allows you to set general settings such as ports, storage time of invalid users’ data, and activate licenses:
Please note that if set in the main config file, a parameter will be only applied to those user’s config files that have this parameter commented or not present at all.
Activation of Xeoma Pro Your Cloud licenses:
Open the cloud.config file. Paste the serial numbers you want to activate after the “Serial codes for automatic activation…” line and save the file:
Commands in user configs:
Registered user name and User email are registration info that you get when licenses are bought.
User is valid until this date: set the time when user subscription expires. If automatic prolongation is required, use scripts to set this parameter to a later time.
User password: the password that the user will use to connect to Xeoma Cloud. The password cannot be the same as for another user.
Cameras/videosources limit: how many cameras the user is allowed to connect.
Disk space limit: how much of the disk space the user is allowed to take with their recordings. In megabytes. For 1 Gygabyte type 1000, etc.
Maximum network speed limit: with this option you can set how much of the bandwidth the user is allowed to take.
IP addresses/domains to redirect connected clients: works like browser redirect. If you need to have this user processed by another server, specify here its address.
TrialMode=0: if set to 1, trial mode will be activated for this user. You will have 1 hour to test Xeoma Pro Your Cloud for this user before the default settings will be restored thus resetting the specified settings. Please note that if you haven’t yet activated any Xeoma Pro licenses in the main config, your Xeoma Pro Your Cloud for all users will be in the trial version anyway.
Enable/disable FFMPEG (rtsp) for this client (FFmpegEnabled=0): means enabling or disabling for this user possibility to connect RTSP streams from the camera. The thing is that RTSP streams usually give much greater load than MJPEG streams, you might want to restrict using RTSP streams to keep processor load low and thus connect more cameras to a single server. If required, uncomment this parameter and set to 1.
Following is the block dedicated to the settings of a Web server module. You can restrict how many clients can be connected under this user account at the same time, from how many various IP addresses, and set password to protect access to the stream.
Next is the block allowing to restrict certain modules (Email, SMS), schemes or features (like possibility to change settings, access to the Users menu) from the list. Here are some comments:
Disable client add and remove buttons: if set to 1, ‘Add’ (‘+’) and ‘Remove’ (‘X’) buttons will not be available for this user.
Allow storing to archive only if there is motion detector in the chain: if uncommented, motion detector will be required to record to the archive. The thing is that some users would want continuous recording, without motion detection which can be disk space consuming. With this option archive won;t work at all unless the users adds a motion detector to the chain. The minimum sensitivity threshold value will not be able to be less than the specified value in the MinDetectorSensitivity parameter.
The ListOfEnabledModules parameter introduced in the 22.3.16 version can be used to list modules that are allowed to be used by a subscriber or subscribers. (See name of modules here)
The EditArchivePaths parameter introduced in the 22.3.16 version can be used to allow subscribers to input the path to save recordings to. Use the parameter for a subscriber or subscribers, and they will see a corresponding field in the ‘Preview and Archive’ module settings.
The next block is the chains settings configuration. If you uncomment the ConfigSerial=1 parameter, all chains set up via client connection will be disabled. Instead the chains set up in this file (below) will be used.
Here’s the instruction how to work with these configs:
Uncomment the needed lines (red 1).
All the following settings can be divided into 2 groups. These are modules’ settings (green 2) and module connections (blue 3).
Correct syntax for the group #2 would be: Name of the module(point)Parameter name(equals)Parameter value. One line – one parameter (see the sample chain). Available modules, their names and the names of available parameters are listed below. If parameter goes without a value, the = sign should be the last in the line.
Correct syntax for the group #3 would be: Name of the module on the left(point)connected(equals)Name of the module to the right. Another connection – next line. One module can be connected to several others (for example, in the default sample the Universal camera module is connected to the Marking and Web Server modules). Follow the example.
Take a special note of the numbers of modules. If you have several motion detectors, the numbers should be different – that will help Xeoma Pro Your Cloud to connect the right modules to where you’d like to.
You can also “lock” some connections – make certain modules impossible to delete from the scheme. To do that, add .locked to a module name before “=” or to a connection description after .connected and before “=” (the latter will make both modules in connection undeletable).
Settings of Universal Camera, Preview and Archive and Motion Detector modules can be made read-only. Just list their names after ListOfLimitedModules.
You can save your recording to a file at your machine. Just enable File output module.
Integration with billing
There is a subscription script template for your convenience. You can find it in the created folder.
It can be used for integration with your billing to add, delete or extend users’ subscriptions automatically. You can also use your own utility to replace value to the lines like ValidUntil, SourceLimit or the like changeable parameters.
You can use these parameters for integration with billing:
1) Generate user config by template:
xeoma_cloud.php -a username useremail password days months sources storageGB clients bandwidthMbits templatePath
Example: ./xeoma_cloud.php -a “User Name” “some@email” “123456” 0 1 4 50 5 10 “/home/xeomacloud/cloud_config_template.dat”
2) Change user config
xeoma_cloud.php -c username useremail password days months sources storageGB clients bandwidthMbits templatePath
Example: ./xeoma_cloud.php -c “User Name” “some@email” “123456” 0 1 4 50 5 10 “/home/xeomacloud/cloud_config_template.dat”
3) Block user account
xeoma_cloud.php -b useremail
Example: ./xeoma_cloud.php -b “some@email”
4) Delete user config and data
xeoma_cloud.php -d useremail
Example: ./xeoma_cloud.php -d “some@email”
User email is used for defining a user. When a new user is added (1), if such email already exists, the existing user’s config will be changed.
Syntax explanation using command #1 as an example:
Send command to the script xeoma_cloud.php for creation of a user (-a) with username User Name, email myEmail@email and password 123456 whose subscription time will be 1 month (‘0’ for days and ‘1’ for months). This user will have 3 cameras available (number ‘3’), 50 GB disk space (number ’50’), recordings kept for the last 5 days (older recordings are overwritten with newer ones), up to 10 simultaneous user connections (number ’10’). A default chain of modules for the user will be taken from the cloud_config_template.dat file that is to be found in the /home/xeomacloud/ folder.
(here you an find more parameters for the command)
How do you run the script remotely:
To run a script you need to send a HTTP request to the WEB port of Your Cloud (default is 10090) with administrator’s username and password.
Besides, two addtional parameters should be stated:
scriptname (script’s name)
scriptparams (parameters to run the script with)
The HTTP request to run the “test.php” script with “-a username useremail password days months sources storageGB storageDays clients bandwidthMbits path_to_cloud_config_template.dat” parameters when the administrator’s login and password are “admin/admin” will look like this:
Xeoma OEM/ODM, customization and rebranding is easy with our free of charge utility. This utility can be used for rebranding of Xeoma to have a different name, customization to have your company’s address, support business hours, links to your site, etc.
You can create client-only-version that can connect to one specific Server (your Cloud). You’ll need to use the following parameters in customization file oem_info.xml:
<ServerAddress>Cloud_address:Cloud_port</ServerAddress> (e.g.: <ServerAddress>mycloud.xeoma.com:8090</ServerAddress>)
Also you can disable icons in the bottom panel, for example, switching to the window of detailed settings or adding new cameras:
You can disable necessary options in the Main menu (e.g. Remote access):
You can even disable left panel:
Also some options can be disabled in Users’ .config files.
For instance, disable setting changing:
Disable possibility to change camera’s setting:
Disable adding or deleting cameras and other sources:
Enable forced decoding on Client’s side:
How to move Cloud to another Server:
1) stop Xeoma on your older server
2) reset your license here
3) delete licenses from cloud.config file on your older server
4) run Xeoma on your new server in Cloud mode: sudo ./xeoma.app -cloud
5) indicate both licenses using “;” semicolon in ActivationKeys field in cloud.config file in the main Xeoma’s directory
6) stop Xeoma (you can simply close the console that was used for step 4)
7) move config folder from your older server to the same folder on your new server
8) move everything from data folder from your older server to the same folder on your new server
9) install Xeoma on your new server in Cloud mode: sudo ./xeoma.app -install -cloudauto
This way all users and cameras should become available on the new server.
Q: I’m interested in creating my own Cloud service. How much will it cost?
A: You need to purchase and use Xeoma Pro licenses to create your own Xeoma Pro Your Cloud, for as many cameras as you’d like to start with, even for just one camera. Licenses are for lifetime, they are self-repaid in about half a year. Volume discounts are applied to licenses for bigger number of cameras. Rent of Xeoma Pro licenses is also available. See prices here
Q: What equipment will I need for Xeoma Pro Your Cloud?
A: Xeoma is flexible so the choice of equipment will depend on the number of cameras connected to the server, their parameters (stream format, resolution, etc.) and features that will be used there. Please use our online calculator to get more precise information.
Q: What operating system should I choose for my Xeoma Pro Your Cloud? Any recommendations?
A: Regularly, Xeoma works in Windows, Linux, Mac OSX, Linux/ARM, and Android machines, so the same goes for Xeoma Pro Your Cloud. However, since the Cloud system will require long uptimes and good management abilities, we recommend you to choose from 2 families: Windows or Linux (either with or without graphical shell). Among them choose the operating system that you are more familiar with. See list of officially supported OSes
Q: How will my clients connect to my Cloud? Are there any mobile apps available?
A: Your customers will be able to connect to your Cloud server using Xeoma software for desktop machines (free rebranding is available) or Xeoma mobile app (paid rebranding is available). Search for desktop version in our Download page, search for Xeoma in Google Play for Android devices, in AppStore for iOS devices, in Huawei AppGallery for Huawei devices. Client connection is the main connection method. Alternatively, customers can connect through a web browser to view camera live streams or archive recordings.
Q: Can different subscription plans and limitations be set in Xeoma Pro Your Cloud?
A: Sure, various templates can be set up to be used upon receiving a payment, with their own permissions and limitations.
Q: How can I create integration with billing system?
A: You can use special scripts for integration with billing. For more information about scripts please see here or contact us.
Q: I’m trying to add camera to the user’s account but I’m receiving a message that I need more licenses/subscriptions. What is wrong?
A: You need to check if you’re logged in under necessary User and not Administrator, because Administrator doesn’t have possibility to use cameras. Also, please check SourceLimit parameter in configuration files for all users.
Q: How is Xeoma Pro Your Cloud licensed? Can we buy an unlimited license for an unlimited number of cameras?
A: You need to purchase and use Xeoma Pro licenses to create your own Xeoma Pro Your Cloud, for as many cameras as you’d like to start with, even for just one camera. Licenses are for lifetime, they are self-repaid in about half a year. There is no unlimited license but you can buy and add licenses for as many cameras as needed “as you go” – for example, combining several licenses for 1024 cameras. There is a convenient admin page for quick licenses generation. Volume discounts are applied to licenses for bigger number of cameras. Rent of Xeoma Pro licenses is also available. See prices here
Q: Can we add links to purchase into Xeoma Pro Your Cloud?
A: For desktop Xeoma versions: purchase link can be added with free rebranding tool.
For web interface: you can modify the web interface of your Xeoma Pro Your Cloud, including adding links or scripts.
For smartphone apps: only with paid development
Q: Created a user but can’t log in, why?
A: Please check that you’re using correct login. Login is created according to the email that you indicated when you created the user. Email address’ symbols (@, – etc.) should be transformed into underscore “_” , e.g. email@example.com should be transformed into this login: test_user_test_com
Q: Why can’t I add more cameras?
A: You need to check SourceLimit parameter for all users. This parameter shows how many cameras you can add.
Q: Is video analytics available in Xeoma Pro Your Cloud?
A: Yes, Xeoma Pro Your Cloud can boast all video analytics included into Xeoma Pro. More about Xeoma Pro features
Q: All Users’ settings got reset. What is wrong here? (License got lost. What should I do?)
A: Please check if licenses still have renewal period for this version of Xeoma that is being used on the server (that it’s not over yet). Also, if you have Xeoma files on a mounted disk or RAID, please do check if it is working and available.
Q: How can I move my Cloud to another Server?
A: Find detailed instruction here
Q: What ports do I need to open in my server?
A: 8090 is the port for client-to-server connection in Xeoma so a port for users to connect to your server from a client;
10090 is the port for connection through web page.
Q: Can I use Xeoma Standard licenses instead of Xeoma Pro licenses to create a Xeoma Pro Your Cloud service? Or at least for a part of the cameras?
A: No. Xeoma Pro Your Cloud, with all its automation and optimization, is powered only by Xeoma Pro licenses that cannot be combined or substituted by Xeoma Standard licenses. Only with Xeoma Pro licenses you can run the Your Cloud mode and sell access to it.
The Standard mode doesn’t have the automated work with accounts (prolongation or auto removal of accounts based on billing information on payments), web portal for administration. If you go with Standard, you will have to manage user accounts, their expiration, their extension, manually. Besides, your service will lack the Xeoma Pro’s professional modules. In other words, Xeoma Standard-based video surveillance system is not so good for selling accounts/access but can be a good one for usual video surveillance system where you create user accounts once and for lifetime.
For quick start with low budget we’d recommend rent of Xeoma Pro licenses, and for true economy we recommend to buy bigger Xeoma Pro licenses where there’s a volume discount.