There is a number of integration options are several options for how to integrate the Cloud VMS depending on the development time.
#1. White-label
...
Web and Mobile with VSaaS template
This is the fastest integration method and it could be as simple as changing the logo and colors in the VXG web client:
...
For example:
...
White-label web client and mobile apps
The same as above plus mobile applications will be the Web front-end and Mobile apps. All you need is to send us your logo, colors, and other changes that you want us to make on your copy of the web front end and we’ll create it for you within hours.
You can just copy it to your web server and you’ll have the Web client up and running under your domain name, and with full source code that you can change according to your product needs.
...
See more information on how to deploy the web client package here.
Mobile applications will be also re-branded. This will require publishing new mobile applications on Google Play and Apple App Store under the customer’s Customer’s name. VXG will guide you through the this process and assist with publishing.
White-label web and mobile clients with your authentication & authorization services
VXG Cloud VMS is detached from authentication and authorization services. VXG web and mobile clients use Google Firebase for authentication and a simple PHP backend code for the authorization of users . The easiest way to change the authentication service will be to just change the Google Firebase account to the account managed by a customer. Another approach will be to completely - assigning permissions to watch cameras. You can keep using Firebase (under your own Firebase account) or replace the authentication mechanism. VXG will provide the full source code of the authorization backend. It can be hosted on any web server that supports PHP.
#2. Integration with existing front-end
It’s very easy to integrate VXG Cloud VMS with any existing UI. You For example, you can just publish an iframe on your website by copying and pasting it from the integrator’s dashboard:
...
The iframe contains a reference to the channel’s “access token”.
...
A better approach will be to use the VXG Web SDK https://github.com/VideoExpertsGroup/VXG.WebPlayer. SDK and integrate the web player with your existing UI. The Web SDK comes with a number of samples that show how to play live or recorded videos from selected cameras.
...
The Web SDK can be used for integration with an existing UI or for building a new UI by just copying the codes from VXG samples into your existing code.
For integration with mobile applications, VXG provides Mobile SDKs SDK for Android https://github.com/VideoExpertsGroup/VXG.Media.SDK.Android and for iOS https://github.com/VideoExpertsGroup/VXG.Media.SDK. and Mobile SDK for iOS. In all the cases, the SDKs will need to know the channel channel’s “access token” to access live and recorded video videos and other resources and information associated with the channel.
#3. Integration with existing front and back-end
A back-end should know a list of “access tokens” (channels or cameras) that a user should have access to. Usually, this list Often our customers already have front and back-ends and they need to add IP cameras (Cloud VMS) to the existing service.
Adding Cloud VMS usually means implementation of the following 3 steps:
Adding VXG Web SDK to the front-end. The Web SDK is an HTML player for playing live and recorded video from VXG Cloud VMS. It includes all common UI controls that can be configured.
Adding VXG non-admin REST API calls to the front-end for calling any functions of the VXG Cloud VMS, for example retrieving a list of images for motion events.
Adding VXG admin REST API calls to the back-end. These calls usually go through a secure server-to-server channel and are used to create or delete channels (add or remove cameras). Once a camera is added, its access token is stored in the back-end database.
...
Here is an example of the sequence of operations.
The authenticated front-end instructs the back-end
...
to add and a new camera.
The back-end calls the Admin REST API function
POST /channels/
...
that returns a channel access token that is stored in the back-ends database.
The front-end requests the back-end
...
for available channels and receives a list of
...
channel access tokens.
The front-end
...
calls Non-admin REST API functions, for example,
GET /live/image
to retrieve the latest snapshot.The front-end
...
calls the VXG Web
...
SDK function
play()
to playback live or recorded video.
...
The Admin REST API calls should be authorized with a Cloud Key that can be found on the Integrator’s dashboard. We strongly recommend using Admin API only through a server-to-server secure channel.
The Non-admin REST API calls should be authorized with the Channel Access Token. The Channel Access Token is generated once the back-end creates a new channel (adds a new camera) and stored in the back-end’s database. The Channel Access Token can be invalidated and thus it’s safe to call Non-admin REST API from the front-end.
The Web SDK also uses the Channel Access Token to play video.
...
You can find a number of HTML and Python samples showing how to use VXG REST API on the GutHub.