VIDEO ARCHIVE REPLICATION IN MANAGED MODE VIA VIINEX API
Viinex managed replication receiver is in fact an agent that receives replication tasks via API and then performs them. Replicated stream can be connected both by RTSP protocol (when URL, login-password and transport for replication to Viinex are specified) and by proprietary SDK of various VMS (if those VMS are already integrated in Viinex)
Here are some examples of requests via API:
- 1. Receiving VMS video archive timeline for replication evaluation;
- 2. Transferring video data fragment to Viinex video archive starting from specified time, when Viinex takes video from specified sources according to replication tasks. A key difficulty is to insert an external archive with any random time period into corresponding place in Viinex video archive. Viinex API allows to paste in new video fragments when Viinex archive has free time slots for them, and it also provides functionality to delete already existing video fragments in Viinex video archive if it is necessary. In case of a request to Viinex instance video export or playback within this interval will be uninterrupted, as if there were no pasting together.
- 3. Replication speed control. Index “speed” in replication task sets data transmission rate of receiving video frames from replication source. For instance, speed index 8 means that Viinex will request speed rate of 8, which will lead to eight-fold increase of replication speed in comparison to normal playback speed (i.e. 10 minutes of video will be transmitted in 1 minute 15 seconds at rate 8). In other words, with this setting one doesn’t have to wait for an hour to send an hour-long video archive streamed by VMS via RTSP protocol. It is possible to set several replication tasks simultaneously to provide maximum replication speed by dividing big video archives into fragments.
- 4. A request for deletion of data fragment related to specified time period allows data replacement in Viinex (instead of adding new data to existing data) when it is necessary. This allows managing video archives by software that is external to Viinex, which means you can apply any data relevance policy instead of Viinex logic of replacing the oldest data with the new data.
ROLLING VIDEO ARCHIVE REPLICATION
In rolling mode a replication source automatically sends video data from one Viinex instance where this data is consistently created/collected (for example, with live video sources connected directly to Viinex) to the other Viinex instance, where a replication receiver should be deployed.
A replication source connects to its peer replication receiver, “comes to an understanding” on what video data, from the oldest to the newest, is missing at central host, and then automatically sends this data out. Then these steps are repeated until there is no new data to be uploaded to replication receiver, and after that the source interrupts its work.
It is important that it is a replication source that initiates the connection and all data available for the source is copied to replication receiver in control center. It is critical because remote sites may be connected by different communication service providers and their IP addresses may even dynamically change in the Internet at any time.
In case of connection breakdown between automatic replication source and receiver the video archive download will resume after reconnection.
Please note that a replication source processes in the same manner all video streams in video archive it is connected to, and sends this video data to its replication receiver. And one replication receiver, in its turn, can work simultaneously with several sources, which allows collecting video data from several archives in one archive at central host. You can connect replication source to any Viinex video archive that contains consecutive records, and this scheme allows to provide necessary number of levels of video storage.
For example, this mode is essential when there’s a need to additionally save only alarm records at second level of the surveillance system, when video should be automatically sent to central video archive for incident investigation.
Optionally you can change settings of video archives that rolling replication sources are connected to – not only perform standard video archive rerecording on absolute or relative time, but also delete records that have already been replicated to monitoring center right away.
Rolling replication security tools
To set up rolling replication it is necessary to specify replication receiver address and credentials. When replication source connects to a receiver, it always uses some credentials for authentication validation, which are specified in configuration. Evidently, if objects are in the Internet, this data should be transmitted securely and without possibility of spoofing or interception, i.e. credentials should be known only to replication source and receiver.
Additionally, for automatic data transmission you can create a dedicated web server for automatic data transmission and allocate a unique TCP port for this server, especially if replication receiver is opened in the Internet to receive video data from remote Viinex instances.
Solving problem of rolling replication with consecutive numbering of cameras
Sometimes it’s quite difficult to maintain consecutive numeration of cameras at separated sites that need to be unified. That’s why credentials used to connect automatic replication source and receiver include, among other things, names of video sources and objects. Replication receiver uses these credentials to define prefixes which will help identify videos stored at the central host side.
For example, when replication source connects to the receiver and sends video data from local cameras named cam1 and cam2, these video sources will get names site1.cam1 and site1.cam2 in video archive which is connected to replication receiver. And if any other replication source uploads video from cameras also named cam1 and cam2, this source will get names site2.cam1 and site2.cam2 on replication receiver side.
This simple scheme allows using any names for video streams on replication sources side and it does not require maintaining difficult consecutive camera numeration. At the same time it guarantees unique identification of video streams for all replication sources (like cam1, cam2) and prevents mixing video data from various cameras on replication receiver side at the central host.
We develop all these schemes and mechanisms in such a way that Viinex as a middleware could provide our partners with convenient tools for video management, while partners are free to define Viinex usage policy in their applications. Such an approach allows our PSIM developer partners to use Viinex for video management on wide variety of objects, including airports, sea ports and city traffic safety systems.