Axis Communications offer a great SDK for all their application development partners that allows anyone to create applications that runs on the cameras.
The SDK itself comes with a set of libraries and compilers for the different chipsets in the Axis devices that let you:
- Capture frames from the devices
- Control device parameters
- Create web pages/CGIs
- Create event triggers
- License key management (if you considered commercial use)
Axis also created the RAPP (Rasterizing Processing Primitives library) that allow the developer to do low level processing image operations. It’s licensed under GPL v3.
All Axis devices runs Linux as the operating system, so it’s really up to you what you want to do in the operating system and there’s really no limit what you can do. The main language to develop the applications in is C but C++ is supported as well.
I had a task where i had to monitor changes that was being made on the camera over time and Axis already have a great feature to get information about the whole system that can be grabbed from their APIs, this is called the “Server report”. So what I came up with is an application that grabs a Server report of the camera and saves it to the preferred location. The default is the SD card slot in the camera but any directory or even mounted network devices can be used. It’s not a fancy app that does all this kinds of analytics. But it’s working as expected.