You are on page 1of 9

DVTEL Latitude Version 7.

0
SDK Overview

Document Version: 1

1
Table of Contents
1. About........................................................................................................................................... 3
DVTEL Latitude Version 7.0 SDK Overview ......................................................................... 3
2. Functional Specifics .................................................................................................................. 4
2.1 Live Video / Audio ............................................................................................................... 4
2.2 Video / Audio Playback....................................................................................................... 4
2.3 Alarm Query/Clearing/Forwarding/Snoozing ................................................................. 4
2.4 Display different contents on CC and analog monitor ................................................... 4
2.5 Events.................................................................................................................................... 4
2.6 Events Query ........................................................................................................................ 5
2.7 Entity Management ............................................................................................................ 5
2.8 Event-Based Recording Start/Stop ................................................................................... 5
2.9 PTZ Control ........................................................................................................................... 5
2.10 Incidents ............................................................................................................................. 5
2.11 DSF Direct Show Source Filter ...................................................................................... 5
2.12 Streaming video to non DVTEL clients ........................................................................... 5
2.13 Metadata ............................................................................................................................ 6
2.14 Application Server ............................................................................................................. 6
2.15 Multi User API.................................................................................................................... 6
3. SDK APIs ...................................................................................................................................... 7
3.1 Login API ............................................................................................................................... 7
3.2 Administration API .............................................................................................................. 7
3.3 Alarm API .............................................................................................................................. 7
3.4 Device API............................................................................................................................. 7
3.5 Export API ............................................................................................................................. 8
3.6 Events API ............................................................................................................................. 8
3.7 Incidents API ........................................................................................................................ 8
3.8 Recording API....................................................................................................................... 8
3.9 Player API ............................................................................................................................. 8
3.10 Control API ......................................................................................................................... 9
3.11 Case API .............................................................................................................................. 9
3.12 Multi User API.................................................................................................................... 9
3.13 Playback API ....................................................................................................................... 9
3.14 Latitude DirectShow SourceFilter ............................................................................ 9
4. Disclaimer ................................................................................................................................... 9

2
1. About

DVTEL Latitude Version 7.0 SDK Overview


The Latitude SDK provides the ability to integrate Latitude NVMS with external systems,
hardware devices and build custom applications. This document serves to provide a conceptual
overview of the integration and application possibilities available through the Latitude SDK.

The Latitude SDK is an Application Programming Interface (API) enabling 3rd party applications to
easily interact with the Latitude system. It contains two main parts:
1. A .NET API allowing programs written in any .NET language to interact with Latitude.
2. An industry standard DirectShow source filter (video provider) allowing any DirectShow
compatible application to receive video, live or archived, from the Latitude system.

The SDK APIs are used by the core product itself and are integral part of the Latitude NVMS
software. Consequently, the SDK is as robust and as frequently updated as the core product. New
core product features are accompanied by new SDK APIs. The SDK APIs allow the developer to
monitor the majority of the events dispatched in the system, whether they originate from manual
user operations or internal system events.

Using these APIs, the SDK developer can reduce ROI costs by creating a familiar and streamlined
user experience (shorter training period) in addition to reusing existing hardware (the SDK
applications and integrations can reside on the same operator workstations).

3
2. Functional Specifics
This section lists the functions/features that are made available through the SDK. Detailed
information can be found in the actual documentation.
Unless otherwise specified, all references to client applications in this section refer to SDK clients,
i.e. client applications written using the SDK.

2.1 Live Video / Audio


Live video and audio streams can be displayed on the SDK client GUI. Video can also be displayed
via DSF or can be streamed to a non-SDK application. The choice of audio stream is optional.

2.2 Video / Audio Playback


Archived audio and video clips can be queried, retrieved and played back using the SDK. As with
live streams, archived audio and video can be utilized independently.
One common application of the query/playback functionality is for instant replays, which allow
users to replay relevant media streams following an event. Instant replay video can be displayed
side-by-side with live video. Playback of recorded video is also supported via DSF and can be
streamed to non-DVTEL applications.

2.3 Alarm Query/Clearing/Forwarding/Snoozing


Alarms raised in Latitude can be displayed in the client application, with the capability to handle
the alarm either by accepting, forwarding, clearing or snoozing the alarm. Actions taken in the
client application will be reflected throughout the Latitude system.

2.4 Display different contents on CC and analog monitor


Allow the SDK user to display different content such as live and recorded video on Control Center
monitors and analog monitors.

2.5 Events
The SDK application can listen to many events in the system. For example, an SDK client can listen
for video signal loss events and react to them by triggering appropriate events and or alarms. An
SDK application can also trigger certain events into the Latitude system.

4
2.6 Events Query
Automatically or manually created Latitude events can be queried and displayed in the client
application. Events that can be queried include motion and incident/bookmark events. (Event
Auditing must be enabled in the system).

2.7 Entity Management


The Latitude V7 SDK allows client application to perform administrative functions, such as
retrieving, modifying and adding entities.

2.8 Event-Based Recording Start/Stop


Client application can trigger the start or stop of a recording, either by triggering alarms that
control recording or based on events (e.g. motion on).

2.9 PTZ Control


PTZ control of dome cameras can be executed from within the client application. This, coupled
with the alarm notification, can provide powerful instant visual information of the activity.

2.10 Incidents
The ability to add an incident at any time gives the client application an unparalleled feature of
tracking events/activity. Users can then query archived clips based on incidents, view incidents
on the timeline, etc.

2.11 DSF Direct Show Source Filter


Allow SDK application to get live and archived video from Latitude in a format compatible with
the industry standard Direct Show filter, which can then be used by any application that is capable
of processing DSF-format video.

2.12 Streaming video to non DVTEL clients


MJPEG over HTTP API Allow SDK application to get live and archived video directly from the
Transcoder in MJPEG over http format, which can then be used by any application that is capable
of processing this format.

5
2.13 Metadata
OSD and binary metadata can be added over video and audio stream. The metadata can originate
from any external source to the system using a plug-in that mux the data during recording or live
video. OSD metadata is displayed in ControlCenter/SDK applications and binary metadata can be
retrieved using SDK. It can be used to enhance Analytics integrations, POS integrations and any
other integration that requires embedding OSD or binary metadata information on top of
Latitude streams.

2.14 Application Server


Application server is a hosting server to run Latitude plug-ins. This provides an alternative to
Directory running plug-ins in order to achieve better scalability and performance.

2.15 Multi User API


SDK users can manage several users logged in via one SDK application. The API includes: login
(including authentication), logout, license enforcement, privileges, and perform operations
within a specific user context. It can be very useful for services to provide a middleware between
Latitude system and external applications which requires Latitude users management and
interface.

6
3. SDK APIs

3.1 Login API


1. Logon to a Latitude system
2. Logoff from a Latitude system

3.2 Administration API


Administration API allows the SDK client to add, update and remove entities from Latitude.
1. Cache and Retrieve entities configured in Latitude.
2. Add entities (sites, maps)
3. Update entities
4. Remove entities.
5. Listen to administrator events in the system (such as entity updated). The application can
listen to an event on a specific entity or entity type.

3.3 Alarm API


Alarm API allows the user to work with alarms.
1. Trigger alarms.
2. Accept alarms.
3. Clear alarms.
4. Snooze/Forward alarms.
5. Query open alarms in the system
6. Listen to alarm events (such as alarm triggered, alarm acknowledged, etc)

3.4 Device API


The Device API provides the means for controlling hardware devices, such as:
1. PTZ devices
2. Relays get/set output pin status
3. Input pins get status
4. Encoders and decoders (for example: connect encoder to decoder)
5. Get data from Serial Port
6. Send data to Serial Port

7
3.5 Export API
Export API provides the means for exporting video from the Latitude system to a video file
which can be viewed externally to the Latitude system.
1. Exporting video to DVTEL's format results in a *.dvt files which are playable through
DVTEL's player.
2. Exporting video to AVI files results in *.avi encoded with selected codecs.

3.6 Events API


Allow the SDK application to handle events in the Latitude system.
1. Subscribe (e.g. add a listener for camera start recording events).
2. Unsubscribe
3. Dispatch
4. Query

3.7 Incidents API


1. Add incidents
2. Query incidents
3. Rename incidents and add descriptions

3.8 Recording API


Recording API provides the means for:
1. Archiving media in the Latitude Archiver.
2. Query for archived media based on a number of parameters such as camera, date and
time, recording trigger, etc.
3. Locking and unlocking archived media clips (or clip segments) to prevent them from being
overwritten.
4. Start a playback stream of an archived media.

3.9 Player API


1. Create controller (a C# GUI that enables easy video display functionality).
2. Get controllers
3. Play live and recorded video
4. Display OSD

8
3.10 Control API
1. Control Analog monitor and Control Center content.

3.11 Case API


1. Create new cases or query for archived cases.

3.12 Multi User API


1. User login (including authentication) via the SDK application.
2. User Logout.
3. Enforcement of license during the login and logout.
4. Check privileges of logged in user of the SDK application.
5. Perform operations, within a context of logged in user.

3.13 Playback API


1. Start live or archived video stream flow from the Transcoder and retrieve the video
stream URL via which a non-DVTEL client can display Latitude live or recorded video.
MJPEG support only.

3.14 Latitude DirectShow SourceFilter


1. Display live or archived video

4. Disclaimer
The above functional list is by no means exhaustive. For detailed information, please see the
Latitude SDK documentation and samples.

2015 DVTEL, Inc. All rights reserved.


By providing this document, DVTEL, Inc. is not making any representations regarding the
correctness or completeness of its contents and reserves the right to alter this document at any
time without notice.

You might also like