My company has an end-to-end encryption product, which we are integrating onto an Axis camera to encrypt their video stream. We would like to maintain our level of encryption in transit and at rest in your VMS. What APIs do you offer to support this?

Devices that use a driver from Milestone will use the communication the driver implements, and you cannot change this.

It would be possible to refrain from using the dedicated driver developed by Milestone and develop your own driver using the driver framework but I do not think this is advisable.

Thanks for the response Rie.

Could you point me to where we can find information about the driver framework that you reference above?

Please see this link - Introduction to the MIP Driver Framework -

https://doc.developer.milestonesys.com/html/index.html?base=gettingstarted/intro_driverframework.html&tree=tree_1.html

This sample might be also helpful for you - Demo Driver sample -

https://doc.developer.milestonesys.com/html/index.html?base=samples/demodriver.html&tree=tree_1.html

Thanks very much Rie, we will check out the information at the links you have provided.

Thanks Rie, the driver framework reference you supplied has been very helpful.

In our research of this set of APIs we see how the driver framework interacts with the camera to receive the video stream. However, it isn’t clear how much interaction a custom driver can have with your storage platform. Specifically, can it store the data directly onto disk in your platform, and if so, how would the rendering of the data and access by other non-Ubiq interfaces be handled in this case?

We have also found the API functions below related to encryption and were wondering if we could use these to encrypt/decrypt our Ubiq data stream on disk in your platform.

https://doc.developer.milestonesys.com/html/MIPhelp/class_video_o_s_1_1_platform_1_1_configuration_items_1_1_enable_encryption_server_task.html

https://doc.developer.milestonesys.com/html/MIPhelp/class_video_o_s_1_1_platform_1_1_license_1_1_crypto_helper.html

There is no way for you to control how the Recording Server saves the data, I guess this will make it impossible for you to do end-to-end encryption.

It is possible for you to change the communication with the camera by a new driver developed by you, but once the data has been given to the Recording Server you cannot control how the data is handled or stored.

The recording server does have built-in capabilities of signing and encryption of the data however you cannot extend these capabilities.