Video SDK UserGuide PDF
Video SDK UserGuide PDF
en
Users Manual
Table of Contents | en
iii
Table of Contents
1 1.1 1.2 1.3 1.4 1.5 1.6 2 3 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.9.1 4.9.2 4.9.3 4.10 4.10.1 4.10.2 4.10.3 4.11 4.12 4.13 4.14 4.15 4.16 Introduction Features Provided by the Video SDK Device Version Compatibility Supported Technologies Intended Users Sample Applications System Requirements Installing the Video SDK on a Development PC Redistributing the Video SDK with a Client Application Using the Video SDK Components of the Video SDK Discovering Devices on a Network Connecting to a Device Discovering Device Capabilities Working with Relays Working with Alarm Inputs Receiving Device Events Controlling Cameras Working with Live Media Streaming Live Video from a Device Streaming Live Audio from a Device Streaming Live Audio to a Device Working with Media Databases Searching Media Databases Accessing Recorded Media Performing Trick Play Operations Capturing Still Images Capturing Media Streams Streaming Video Directly into a Client Application Diagnostic Logging Controlling a Devices Video Outputs MPEG ActiveX 3 3 3 3 4 4 5 6 6 7 7 8 8 8 9 9 9 9 10 10 10 10 10 10 11 11 11 12 12 12 12 13
Users Manual
iv
en | Table of Contents
Users Manual
Introduction | en
Introduction
This user guide describes how software applications can leverage the Bosch Video Software Development Kit (Video SDK) to interact with networked CCTV devices.
1.1
1.2
1.3
Supported Technologies
The Video SDK is designed to be used in the following ActiveX containers: Applications developed with: Visual Studio 2003, 2005, and 2008 Microsoft Visual C++ 6.0 Microsoft Visual Basic 6.0
NOTICE! You may also use the Video SDK with ActiveX containers not listed here.
Users Manual
en | Introduction
1.4
Intended Users
The Video SDK is intended to be used by software developers with experience in at least one of the technologies listed in Supported Technologies. In addition, developers should have experience writing client-side code for ActiveX Controls and COM objects within their chosen technology. Developers can learn how to use the Video SDK even without previous COM experience by referring to the included sample applications.
1.5
Sample Applications
The Video SDK includes simple and advanced sample applications. The simple applications demonstrate how to perform basic operations like connecting to a device and displaying live video. A simple sample is included for each type of application listed in Supported Technologies. The advanced applications demonstrate how to perform complicated operations like detecting devices, connecting to devices asynchronously, displaying playback video, and searching for events. The Video SDK includes one advanced sample written in C#. For Windows XP and earlier the samples are located in: <PROGRAM FILES>\Bosch\VideoSDK\Sample Applications For Windows Vista and later the samples are located in: <USERPROFILE>\Documents\VideoSDK\Sample Applications
NOTICE! When the SDK is installed to a non-default location or on an operating system other than English or German, a reference path to the Video SDKs installed interop DLLs must be added in order for the C# samp compile.
Users Manual
Introduction | en
1.6
System Requirements
The following table lists both required and recommended system requirements for end-users or client-application developers. End-User Client Application Developer
Required
Pentium 4, 2GHz CPU (3GHz for Vista and later) Microsoft Windows 2000 SP4 or later 256 MB RAM (2GB for Vista and later) 50 MB hard disk capacity 100 Mbps Ethernet card DirectX 9.0c One of the following video cards that supports DirectX 9.0: NVIDIA GeForce 6600 (128 MB, driver version 93.71) NVIDIA Quadro FX 4500 PCIe (512 MB, driver version 162.62) NVIDIA GeForce 7950 GT (512 MB, driver version 93.71) NVIDIA Quadro FX 3500 PCIe (256 MB, driver version 162.62) NVIDIA Quadro FX 1500 PCIe (256 MB, driver version 162.62) NVIDIA Quadro FX 4500 PCIe (512 MB, driver version 162.62) VER4.30: NVIDIA Quadro NVS 285 PCIe (128 MB, driver version 162.62) VER4.30: NVIDIA Quadro NVS 440 PCIe (256 MB, driver version 162.62) ATI FireGL V7200 PCIe (256 MB, driver version 8.323) ATI FireGL V3300 PCIe (128 MB, driver version 8.323) ATI Radeon X1300 (256 MB, driver version 6.12) Microsoft.NET Framework 1.1 is required to run the C# sample applications. Microsoft.NET Framework 3.0 is required to support DiBos8.
Recommended Mouse (required for In-Window Pan/Tilt and context menu) Mouse with a mouse wheel (required for In-Window Zoom) 512 MB RAM
Table 1.2
Users Manual
If the installer is running in maintenance mode and this argument is specified, the custom argument -Quiet is assumed to be enabled.
Table 3.1 Video SDK Redistributable Installer Command Line Arguments
The redistributable installer writes a return code to the string value Result in the registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Bosch\SecuritLibraryms\Video SDK Runtime Library
The return codes include: Code CANCELED FAILED INSTALLED REBOOT Description The install was canceled. The install failed. The redistributable was installed for the first time. The redistributable was finished but required the PC to be rebooted.
Users Manual
4.1
Type
COM object COM object
High-Level Description
Renders audio from a network device. Captures audio for streaming to a network device.
ActiveX Control Renders a live or playback video stream from a network device. COM object COM object COM object COM object COM object COM object Establishes a connection to a network device. Detects network devices. Manipulates a network device. Logs messages from client applications and the SDK itself. Renders a media file recorded with the MediaFileWriter. Records a media file to the local file system. Controls playback operations and trick play operations for playback streams.
The following diagram depicts the Video SDKs major components and their relationship to the client application.
Users Manual
4.2
4.3
Connecting to a Device
A client application connects to a device using the DeviceConnector component. It can be connected to multiple devices simultaneously. Asynchronous connections are established with IDeviceConnector::ConnectAsync using a URL describing the communication protocol, IP address or hostname, port number, user name (if required), and password (if required). The DeviceConnector responds with an asynchronous event via _IDeviceConnectorEvents::ConnectResult. Synchronous connections are established with IDeviceConnector::Connect which also uses a URL. When connection establishment is attempted, the client application receives a DeviceProxy for the device. Its IDeviceProxy::ConnectionState property indicates if connection establishment was successful. If so, the DeviceProxy can be used to interact with the device. If not, it should be immediately discarded. If an established connection is lost or re-established, the DeviceProxy issues an asynchronous event via _IDeviceProxyEvents::ConnectionStateChanged.
4.4
Users Manual
Capability
VideoJet 1000
VideoJet 8000
VideoJet 8004
VideoJet 8008
VideoJet 100
Video Jet 10
Dinion IP
VIP 1000
Alarm inputs Audio inputs Audio outputs Media database Relay control Video inputs Video outputs
AlarmInputs collection AudioInputs collection AudioOutputs collection MediaDatabase property Relays collection VideoInputs collection VideoOutputs collection
x x
x x
x x
x x x
x x x
x x x
x o o
x o o o o x
x o o o o x x
x o o o x x x
x x x
x x x
x x x x x x x x x x x x x x x x
o o o o x x x x x x x x x o x
x x x
x x x
4.5
4.6
4.7
4.8
Controlling Cameras
A client application controls cameras using either the Camera Control API or the In-Window PTZ feature. The Camera Control API is accessed with the DeviceProxy components IDeviceProxy::VideoInputs collection. It contains IVideoInputs which provide access to camera functions via IVideoInput::CameraController. The In-Window PTZ feature is provided by the Cameo ActiveX Control and enabled by default. When enabled, cameras can be operated using the mouse. The Cameo also supports a context menu for camera operations.
Users Manual
VIP 1600
DivarXF
Divar 2
VIP 10
DiBos
VIP-X
NVR
x x
o x x
10
4.9
4.9.1
4.9.2
4.9.3
4.10
4.10.1
Users Manual
11
A client application specifies a timeline search by passing steTimeline to IMediaDatabase::CreateSearchSession. A search can be constrained by a time interval, granularity (how many seconds each column represents), a particular set of track identifiers, and/or a set of events to locate on the tracks. An asynchronous _ISearchSessionEvents::TimelineAvailable event returns an ITimeline.
4.10.2
4.10.3
4.11
Users Manual
12
4.12
4.13
4.14
Diagnostic Logging
The Video SDK supports diagnostic logging which is disabled by default. The output logs are used by Bosch to diagnose the VSDKs behavior. Log files are circular, fixed length, tabdelimited text files with a default size of 2MB. They can be viewed with spreadsheet applications. A client application controls logging with the DiagnosticLog components IDiagnosticLog interface. Logging is enabled via IDiagnosticLog::SetLoggingLevel. A client application can add its own runtime information to the log via IDiagnosticLog::LogMessage.
4.15
Users Manual
13
items, from first to last, would be the left-top, right-top, left-bottom, and right-bottom cameos. Note: not all devices video inputs and outputs are compatible. Consult the device documentation for more information.
4.16
MPEG ActiveX
The MPEG ActiveX control only supports the VideoJet, VIP, and NVR devices. It is included so existing client applications can access the Video SDKs functionality with minimal development. It supports the same features as the version 3.0 MPEG ActiveX control with the exception of the following APIs: CameraFilter ConnectPPP DisconnectPPP OpenPlayback (only works for local files, not HTTP server files) SetMPEG4Overlay SetLocalMuxMode
Stubs of the APIs are provided for backwards compatibility, but do nothing. The MPEG ActiveX control extends the version 3.0 MPEG ActiveX control API with a method called GetCameo to provide access to its internal ICameo interface. This facilitates additional Cameo-related functionality without forcing the client application to directly integrate the core Video SDK.
Users Manual
14
Users Manual
Bosch Security Systems, Inc. 850 Greenfield Road Lancaster, PA 17522 USA Telephone +1 800-366-2283 Fax +1 800-366-1329 www.boschsecurity.com Bosch Security Systems, Inc., 2008; F01U082397 | 4.0 | 2008.04; Data subject to change without notice.