API / SDK Tutorial

By: John Honovich, Published on Dec 18, 2016

While Application Programming Interfaces (APIs) are key to 'open' platforms, they are frequently misunderstood and over-hyped in physical security. While APIs can provide great benefits, using them is much more complex than often mentioned in sales calls and magazines.

The goal of APIs in physical security is to allow different systems to work together. Examples include:

  • *********** **** ** ******* or ********* **** **** VMS
  • *********** **** ***/*** **** your ****** ******* ******
  • *********** **** ***** ****** with * ******* ********** system
  • ******** *********** **** ********** **** all **** ******** *******

*** ***** **** **** discussed ** ***-***** ********** where * ******** ** integrator **** * ******: "Does **** ****** **** with '*'?" ***** * could ** *** ****** of ******** ******* ** any ****** ** *************.

*** ******* ****** ** the ***** ****** **:

"****, ** **** ** API."

**** ** *** ** the ******** *** ********** statement ** *** ******** security. ******* ** ** so ******, ** ** a ***** ***** ** start ********* ****.

Integration ******** ******** ****

***** ** ** **** thing ** '**' ***. Numerous **** *****. ** larger *******, ******** ** APIs *****. *********, ***** is ** *** *** each ******** ** * system. **** ** ***** live *****, *** *** live ***** ***. **** to ****** *** ****, use *** **** ****** API. **** ** ******** the ***** **** *** recording, *** *** ********* frame **** ***, ***.

Not *** ********* **** ** ***

*** *** ********* **** an *** *********. *** you **** * **** of *** ****** ********** alerts **** ******* ***********. This *********** *** **** 'an ***' *** *** a ******** *** *** sending ****** ******. ** you *** ******* ******* most ******* ***** **** hundreds ** *********, ** is ****** **** ****** of ***** ********* *** not ********** *** ** API.

**** ******* ********** **** integrating ******* *** *****. A ******'* *** ***** lack ******* ******** ************* functions (**** ******* ***** codec ********, *****, ***/*****/** status, ***.). **** ** you ********* *** *** devices, *** *** **** significant ***********. **** **** to ***** **** ******** you **** ********** ** ensure **** ** *** be ****.

Having ** *** **** *** ****** *************

** *** **** ** integrate * ******* *** and ****** ******* ******, both *** **** **** but ***** ** ** guarantee **** ***** *** products **** **** ********. Both ********* ****** **** is * ***-********* *** integration *** ** ** not **********.

********* *** ***** ** make ** ********* ** integrate **** ***********. **** to ********* *********'* ******** VMS ****** ******* ******** Center? **** **** **** APIs *** ***** ** this************** **** *** ****** unlikely ** ***** ****, as **** ******* *** can ****** ***** ****. For ****, *** *** post *** ********** ** "*********** ********* **** ***** Recorders."

***** **** *** ********* free *** *** ******** or ****** * *** fee *** ***, **** security ************* ***** ****** thousands ** ******* ** even ****** ******. **** is ********** ****** ** it ** * ***** video, ****** ** ***** system.

**** ** *** **** permission ** *** ******* company's ***, ** ** not ********** ** ****. Unlike *** *** ********, like ****** ** ******, only * ***** ****** of ********* *** ***** APIs, ***** ***** **** could ** ******** ** have ************ ******. **** leads ** ** *** next *****.

Integration ***** ****

******* ***** ***** * few ***** *** ***********. This *** ****** *** often ******** *** ********* details **** ** ** worked *** **** *** take ************* ******.

******, ****** **** *** web ********, *** ****** can *** *** *** off *** ********. ** often ******** * ****** application *** ****** ** the *********** *********** *******. Plus, **** *********** **** a ******** ****** ***, you ****** ****** ****** or ****************** ***** ********. *** only ****** *** ****** can ******* *** ********* difficulties *** ****** *** security ************ **********.

** ****, ** ******* of *** **** *** dollar ****** *** ****** for **** ********. **** is *** **** ** risk **** ** ***** unknown *** ********** ***** you *** **** *** technical ******* ***** *** each ****** ********** ***** APIs. *********, ***** ******** are ********** **********, *** the **** *** **** can ****.

API ******* *** ***** ***********

**** **** * *******, over ****, **** ******. The ********** ** **** APIs, ***** ****** *** break **** ******. ******* for ****** ******* *********** bugs, ********* ***********, ****** in *** ***************.

*******, ***** ******* ****** on ***** ****. ***'* say **** ****** ***** with "****** *" ******* 3.1. *** ***'* *** "Vendor *" ***** *** with *.* *** **** version "****** *** ***". In ***** *****, *** new ******* ** *** backwards ********** **** *** old *******. **** ****** could ******** **** ******* with "****** *" ** you ******* ****** * to ******* *.*. *** result ** **** ******** command ****** ** ****** displays ***** ** ****** or ******** *** ****** that **** *** *** upgrade.

**** ******* ********** **** cameras. **** *** ******* a ****** *** ** does *** ****, ***** vendors **** ***, "** you **** *** *** firmware" **** ** ***** two ************* **** **** integrated *** *****. **** is ******* ******* ******* were **** ** *** API **** '*****' *** existing **********.

Adding ********* ** **** ****

****** *** *** * very ***** ********, *** are ***** **** ******** the *** **** ** whatever *** ** **** it. *****, *** **** you ****, **** ***** out ****. *******, ** you **** **** ****** for **** ******** *** case, **** *** ** hard ** **********. **** sure ******* ** **** technical **** ***** ************ what *** *** *** and ****** ** ** you *** ********** *** potential ******** ** *****. If * ****** ***** to ** ****, *** change **** ******* **** a *** ** **** and ******* ******* *** vendor **** ****** **** they ** *** ***** the ***** ** ***** security ************* ***** **** API. ****, ** **** believe **** *** ****** needs ****, ** **** be ********** *** ******** unless *** *** ******** a ******* **** ** the ***** ** * briefcase ****** **** ****.

Examples ** ****

*** **** **** ***** and **** **** ************ API ** ***** ************ is ****'* *****. *** current ******* ********* **** **+ ********* sections**** ******** ********* ****** each. *** ********, ****'* their** **** *** *** document. ** ** **** 24, ******* *.*.* ** see *** ** ******* the *** ********* **** parameters *** ****** *** need ** ***, ****, zoom *** ****.

** ***** ******* ** Axis ** ****** *** require ******** ** ********* operations *** ************** ** numerous ***************.

** *** ***, ***** are ********* ********* ** different **** *********. *** this********* ** **,***+ ****. * *** ******** include ******* **** [**** no ****** *********],***** ****,******* ****, ***., ***.

APIs ** ****

*****, *** ***** *** and *** *** **** in *********** **** ********** software ***********.

  • *** - *********** *********** Interface - *** ****** code ***** *************, ********* you **** **** ** integrate *** *******
  • *** - ******** *********** Kit - *** ************* and *********** ***** **** support *** **** *** parties ** *** *** API

*** **** **** **** on**** ** ****.

*** ******** *** ************ systems, *** ********* **** and **** ** *** along **** *** *** to **** *** ********** how ** *** **. Plus, ****** *** **** that *** ****** ***** weight *** **** ** call **** ********* *********/**********, security ******* ***** ******* (or ** ***** *****) using * ******** ********* (often .*** ** ****) and ******* ***** ** make ** ****** ** use ***** **********.

APIs *** *********

*** *** ******** ** far ** **** **** been *********** ****, ********* and ********** ** ******** companies. **** *** ** typically (** ***** ********) different **** ****** **** if **** *** ***** the **** ****** (********** a **** ***** ****, getting ** *****, ***.). Because ** ****, ** is **** **** ********* to ********* **** ******** systems ** *** **** needs ** ** **** over *** **** ***** for **** *** ******, VMS, ********, ***.

**** '*********' *** ********* in ************, *********, ***** *** **** that * ***** ***** section ** ************* *** use. ** **** *********** API ** *** *** 'language', ** ******** **** ONVIF ** ***** ** be * ********* ********. If **** ************ ****** that ******** (***), **** they *** *** *********** without ****** ** ***** every ****** ******** ** the *****. ********* *** still ****, **** *** that, *********, *** ******* will *** ** '***********' how ******* ***********. ****, see ******** ********.

[**** *** ********** ******* in **** *** ******** / ******* ** ****.]

Comments (20)

It would be somewhat helpful to have a quantifiable ranking of what manufacturers will make availalbe in their API/SDK and if access is restricted.

We purchased 100 cameras from one manufacturer who claimed there was an API, then they decilined to release the API to anyone.

Which companies have none/good/great API and VMS support?

Michael, it's very rare to have an IP camera manufacturer 'decline to release the API to anyone.' The only exception would be for those who manufacturer cameras and enterprise VMSes. That said, I don't understand why you would ever buy IP cameras from those companies unless you wanted a 'full package solution.'

We could do some research into support but, like I said, camera companies are typically pretty open, as they want more partners.

Restricted API's bother the crap out of me. All things being equal, I lean towards companies that offer open or low-barrier API's (even though those options are woefully lacking). I don't understand the tendency to restrict access. What is the rational?

They figure they can sell more by forcing you to use their own complimentary products rather than a rival's.

Why has Twitter and Instragram been in an API restriction battle over the last year? Same thing :)

Very good/cool breakdown of a very misunderstood part of our industry.

I can say with considerable expierence in this area that dev in our industry can be a nightmare and is always very expensive, someone put it to me once that its not SDK its $DK!

The biggest issue is the lowest common denominator, say you have three video systems that you want to integrate into another thrid party VMS or PSIM every feature available to the front end has to be available on every connected system so you end up not using lots of features on some system because of weakness/lack of API functions in others.

The backwards compatability is the next biggest issue, you can end up stuck on a version because you know if its upgraded it will break the thrid party connectivity. My advice would be go in with your eyes open, and generally software companies like Genetec, Milestone, Onssi etc will have better and more accessable SDK packages than combined soft & hardware vendors like say Avigilon, Honeywell, Tyco etc as their core offering is a combined solution versus just software which the more open guys base their whole existance on.

I find that about 70% of the time when an end user thinks they need dev it turns out they dont, somtimes ripping out kit/changing software can be cheaper and give you a better and more future prof solution, of course sometimes dev is required and when carried out correctly with good underlaying products can yield very impressive results but it always costs, if not in dev hours and specification then in integrator hours and I guareente nothing ever works properly first time, by version 3 or 4 and sometimes 100's of hours later you have something useable.

Phil, great feedback!

"Its not SDK its $DK!" - Classic!

Good point about lowest common denominator. People are sometimes surprised why PSIM video management capabilities are so rudimentary but that is certainly a key barrier.

Interesting point about ripping out old systems. For sure, if you only have a few old DVRs, it is better to rip and replace, unless the integration is bulletproof and available off the shelf. However, if any custom work needs to be done, for sure, it's better to just upgrade. The trickier issue is what happens when you have dozens or hundreds of old units. To replace those could cost hundreds of thousands or millions of dollars/pounds/euros.

I immediately stop listening when someone even mentions API or SDK. If something does not do what I need right now, I have zero faith that "someone somewhere" will write the particular functionality I am looking for. I am also not going to pay for it to be written when there are other products that are out there already that do what I need.

The only thing that turns me off more than the whole API and SDK pitch is when sales folks say something like, "Everyone includes our cameras in their software and they always write them in."

Ross, good feedback and good advice for other end users.

The only caveat I would add is that sometimes vendors know they have you trapped. For instance, if the vendor is an incumbent at your site, he knows how much of their product you already have and can reasonably calculate that you don't have any other realistic option. It's too expensive and complex to switch so he can force you to either pay up or go without any integration.

You MUST be talking about $iemens and their $INVR :-)

Funny you should mention that John because that is exactly the boat we are in now with our #1 in the world integrator with the fancy old/new name. They have had us over a barrel for years and the only thing we could control was the video option. Now that we have moved away from them with video it is on to access control and then, eventually, BA/FA…

Great atricle it very useful

Got it. But I am still looking forward to hearing the class. Sounds like anyone can claim almost anything to sell you a camera. Even though a lot of really amazing stuff is out there it still seems like buyer beware. It sounds like...Sure our stuff will work with yours, as far as you know. When in reality it may be way more trouble than you expect.

Great breakdown of this often misunderstood topic.  I find a lot of people not only do not understand API, but often think SDK is the same thing.   Whenever I am working with another manufacturer on an integration of products, hearing them describe API or SDK tells me whether I am actually dealing with the technical expert I need to do the work.  The scary part is when the most technical person on their team does not know either.

Any tutorials on how to actually get started using these APIs?

I have an EDI installed on my pc... just need some basic direction...

For example... what language are these in?  Some practical examples etc...

Thanks

Kenny try, getting into API programming for SPLUNK. There are some ACAM and VMS integrations you might find interesting.

There is much support in the SPLUNK environment for tying business intelligence together in the security world. You will find a lot more robust software hooks to simulate with.

Good Luck.

There is much support in the SPLUNK environment for tying business intelligence together in the security world

What security / surveillance products / APIs are supported by SPLUNK?

RE ... "...how to actually get started using these APIs..."

Do you have any programming experience? if not you need to get some.

Next question would be , what programming languages the APIs support.

You would also need experience in that language. However if you have experience in one language than it may be easier to learn another programming language.

A definition of SDK from elsewhere on internet is

A software development kit (SDK) is a collection of software development tools in one installable package. They ease creation of applications by having compiler, debugger and perhaps a software framework. They are normally specific to a hardware platform and operating system combination.

You need to understand what a compiler, debugger and perhaps a software framework. and how you would use them. This will give you the knowledge to use the provided tools for the camera SDK.

As you can see the list is getting long and is why developers are higher paid .... An experienced developer could/should probably install the SDK and test setup with some same programs ( hopefully provided ) by hardware manufacturer. How quickly the developer could start programming is influence by the quality of the supplied SDK and API, example programs and the support provided.

Good article on API.

This tutorial helped me connect dots and understand further. Thank you much for a great job of presenting the content in a clear fashion.

Read this IPVM report for free.

This article is part of IPVM's 6,432 reports, 865 tests and is only available to members. To get a one-time preview of our work, enter your work email to access the full article.

Already a member? Login here | Join now

Related Reports

Access Credential Form Factor Tutorial on Feb 10, 2020
Deciding which access control credential to use and distribute, including...
NetApp Video Surveillance Profile on Mar 09, 2020
NetApp is increasing its efforts in video surveillance and told IPVM...
Bias In Facial Recognition Varies By Country, NIST Report Shows on Jul 15, 2020
While many argue that face recognition is inherently racist, results from one...
Facial Recognition 101 on Mar 18, 2020
Facial recognition interest, use and fear is increasing. This guide aims to...
Add Door Operators To Fight Coronavirus on Mar 31, 2020
IPVM recommends that integrators advocate and end-users consider adding door...
Milestone Presents XProtect On AWS on May 04, 2020
Milestone presented its XProtect on AWS offering at the April 2020 IPVM New...
Breaking Into A Facility Using Canned Air Tested on Jan 28, 2020
Access control is supposed to make doors more secure, but a $5 can of...
Dahua, Hikvision, ZKTeco Face Mask Detection Shootout on Jun 19, 2020
Temperature tablets with face mask detection are one of the hottest trends in...
Help Security End Users Facing Coronavirus Improve Remote Access on Mar 24, 2020
Many end-users and integrators are struggling with the impact of coronavirus...
Remote Network Access for Video Surveillance Guide on Jul 27, 2020
Remotely accessing surveillance systems is key in 2020, with more and more...
Face Shields Impact On Temperature Measurement And Mask Detection on Jul 27, 2020
First, the use of face masks, and now, plastic face shields are rising...
Access Control ADA and Disability Laws Tutorial on Feb 17, 2020
Safe access control is paramount, especially for those with...
IronYun AI Analytics Tested on Feb 17, 2020
Taiwan / US startup IronYun has raised tens of millions for its "mission to...
TVT / InVid Facial Recognition Tested on Mar 25, 2020
Facial recognition is frequently sold for thousands of dollars per channel...
Avigilon Open Analytics Tested on Apr 16, 2020
After years of effectively closed analytics, Avigilon decided in late 2018 to...

Recent Reports

SIA Coaches Sellers on NDAA 889B Blacklist Workarounds on Aug 05, 2020
Last month SIA demanded that NDAA 899B "must be delayed". Now that they have...
ADI Returns To Growth, Back To 'Pre-COVID Levels' on Aug 05, 2020
While ADI was hit hard in April, with revenue declining 21%, the company's...
Exposing Fever Tablet Suppliers and 40+ Relabelers on Aug 05, 2020
IPVM has found 40+ USA and EU companies relabeling fever tablets designed,...
Indian Government Restricts PRC Manufacturers From Public Projects on Aug 04, 2020
In a move that mirrors the U.S. government’s ban on Dahua and Hikvision...
Directory of 200 "Fever" Camera Suppliers on Aug 04, 2020
This directory provides a list of "Fever" scanning thermal camera providers...
Face Masks Increase Face Recognition Errors Says NIST on Aug 04, 2020
COVID-19 has led to widespread facemask use, which as IPVM testing has shown...
Dahua Loses Australian Medical Device Approval on Aug 04, 2020
Dahua has cancelled its medical device registration after "discussions" with...
Google Invests in ADT, ADT Stock Soars on Aug 03, 2020
Google has announced a $450 million investment in the Florida-based security...
US Startup Fever Inspect Examined on Aug 03, 2020
Undoubtedly late to fever cameras, this US company, Fever Inspect, led by a...
Motorola Solutions Acquires Pelco on Aug 03, 2020
Motorola Solutions has acquired Pelco, pledging to bring blue back and make...
False: Verkada: "If You Want To Remote View Your Cameras You Need To Punch Holes In Your Firewall" on Jul 31, 2020
Verkada falsely declared to “3,000+ customers”, “300 school districts”, and...
US GSA Explains NDAA 889 Part B Blacklisting on Jul 31, 2020
With the 'Blacklist Clause' going into effect August 13 that bans the US...
Access Control Online Show July 2020 - On-Demand Recording of 45+ Manufacturers Presentations on Jul 30, 2020
The show featured 48 Access Control presentations, all now recorded and...
Face Detection Shootout - Dahua, Hanwha, Hikvision, Uniview, Vivotek on Jul 30, 2020
Face detection analytics are available from a number of manufactures...
Sunell is The First China Manufacturer to Market NDAA Compliance on Jul 30, 2020
Most China manufacturers are going to be impacted by the NDAA 'Blacklist...