Choosing platform and tools

Choose your own approach depending on the type of application you intend to develop.

Video management system (VMS)

You have different options available depending on your requirements:

  • To develop a Windows application you can use our SDKs, in which much of the hard work has been done for you, and which also include plenty of sample code. We have several SDKs that can be used for different purposes, and in combination with each other:
    - Use AXIS Media Control (AMC) SDK for live video.
    - Use AXIS Media Parser (AMP) SDK for recordings and playback of recorded material. The AMP SDK can also be used to rende live video, but the AMC SDK is a much better choice for live video since it is optimized for the purpose.
    - Use AXIS Dewarping SDK to zoom into 360°/180° video.
    - Use AXIS Joystick SDK to add support for Axis joystick and control boards.

  • You can use VAPIX and/or ONVIF directly. VAPIX is Axis own API, and ONVIF is an API standardization initiative in which Axis is deeply involved. Using the APIs directly gives you more freedom, but also requires more programming skills.

  • You can develop an ACAP application, i.e. an application that runs onboard the Axis product. Utilizing the power of the open platform provides many benefits, for example, there's no need for extra hardware, you reduce the network consumption, and you get scalability and easy deployment, etc. However, camera resources such as processing power, memory, storage, etc. are limited when compared to running the VMS as a client/server solution. Product characteristics can be found in the product selector.

Video analytics

Running analytics as an ACAP application, i.e. onboard the product, provides many benefits when compared to running the analytics as a client application. However, the product's resources, e.g. the processing power, memory, storage, etc. are limited as compared to running the analytics on a separate computer. It's important to make sure that the camera has what it takes to run your application. Please see the product selector to learn about our products’ characteristics.


Video motion detection

Video motion detection functionality has been included in Axis products for a very long time. The first built-in video motion detection is very basic, and it currently co-exists with the ACAP application; AXIS Video Motion Detection 4 (VMD 4), which will replace the old version in an upcoming firmware, although exactly when has not yet been decided. The VMD 4 application is pre-installed in cameras with firmware version 6.50 and later, but needs to be manually started before use. The APIs are available in the Application section in VAPIX Library.


Axis Zipstream technology reduces bandwidth and storage requirements by an average 50% or more, and is thus a highly requested feature among our customers. We strongly recommend that you make sure to support it in your VMS. Unlike most compression technology, Zipstream doesn’t just limit the bitrate - instead, three kinds of intelligent algorithms ensure that relevant forensic information is identified, recorded and sent in full resolution at full frame rate. 

You can find out if your product supports Zipstream in the Product selector, or by using VAPIX and checking for the parameter Properties.Zipstream.Zipstream=yes

On-Screen Controls API

The On-screen Controls API allows you to receive information about various features in the product, and to dynamically add support for new features in your VMS solution.


SRTP was introduced in firmware 7.30 and thereby also support for encrypted multicast streams. Axis SRTP Integration Guide describes at a "bits and bytes" level how to use Secure RTP.

HTML 5 video player – open source code

We've now made it easier to develop great web applications with support for our products. The video player used in our products’ web interface is now open source and available on the Axis GitHub repository. The JavaScript component supports all major browsers, with H.264 video using the browser decoder (no plugins). The decoding is automatically offloaded to hardware where supported.