20

Tutorial Video BOSCH-Spanish

Embed Size (px)

Citation preview

Page 1: Tutorial Video BOSCH-Spanish
Page 2: Tutorial Video BOSCH-Spanish

TABLA DE CONTENIDOS

1 Introducción ………………………………………………………………………………………………………….…..…………..3

1.1 Características proporcionadas por el SDK de vídeo ………………………………..……….…….…….….31.2 Dispositivo de compatibilidad de versiones ………………………………………….………..……….……….31.3 Tecnologías soportadas ………………………………………………………………………...…….……….….…….41.4 presuntos usuarios ……………………………………………………………………………..….…….….….…………41.5 Aplicaciones de ejemplo ……………………………………………………………………..……….……..………….41.6 Requisitos del sistema ……………………………………………………………………..…..……….………………..5

2 Instalación del SDK de vídeo en el PC de desarrollo ……………………………..……………..……..……………63 Redistribución del vídeo SDK ………………………………………………………………………………………..………..64 Utilizando el SDK Video ……………………………………………………………………………………….…….…..………7

4.1 Componentes del SDK Video ……………………………………………………………….……….…...……………74.2 Dispositivos de descubrimiento en una red ………………………………………….…….……….………….84.3 Conexión a un dispositivo …………………………………………………………………….…….…..………………84.4 Descubriendo Capacidades de dispositivo …………………………………………….….…………..………….84.5 Trabajar con relés ………………………………………………………………………………..….….………………….94.6 Trabajar con entradas de alarma ………………………………………………..…….…..…………………………94.7 Recepción de eventos del dispositivo ……………………………………….………….……….…………………94.8 Cámaras de Control …………………………………………………………………….………..….…….………………94.9 Trabajo con los medios de comunicación en vivo ……………………….……….……….…………………10

4.9.1 Transmisión de vídeo en directo desde un dispositivo de …………….…………………………104.9.2 Streaming en directo de audio de un dispositivo …………………………….……….….…………104.9.3 Streaming Audio en Vivo a un dispositivo ………………………………………….……….….………10

4.10 Trabajar con los medios de comunicación Bases de datos ………………………….……..………….10

4.10.1 Búsqueda de bases de datos de los medios de comunicación ……….…….……..………….104.10.2 Acceso a soportes grabados ……………………………………………………………….…...…………..114.10.3 realiza truco Jugar Operaciones ……………………………………………………………….…………..11

4.11 Captura de imágenes fijas …………………………………………………………………………….……………..114.12 Captura de Media Streaming ……………………………………………………………………………….………114.13 Transmisión de vídeo directamente en una aplicación de cliente ………….…….………….…….124.14 Registro de diagnóstico ……………………………….………………………………….………….……………….124.15 El control de vídeo de un dispositivo de salida …………………………..….……….……..……………..12

Page 3: Tutorial Video BOSCH-Spanish

1. INTRODUCCIÓN

Esta guía del usuario describe cómo las aplicaciones de software pueden aprovechar el Bosch Video Software Development Kit (SDK vídeo) para interactuar con los dispositivos de circuito cerrado de televisión en red.

1.1. CARACTERÍSTICAS PROPORCIONADAS POR EL SDK DE VÍDEO

El SDK de vídeo es una biblioteca de software reutilizable que exporta un alto nivel, API orientada a objetos basado en objetos COM y controles ActiveX. Ofrece las siguientes características. Tenga en cuenta que no todas las características son compatibles con todos los dispositivos.- Detección de dispositivos de red.

- Conexiones de red simultáneas a múltiples dispositivos.- Vivir el procesamiento de vídeo desde múltiples dispositivos, incluyendo en la ventana pan / tilt / zoom (PTZ).- Procesamiento de vídeo de reproducción de múltiples dispositivos, incluyendo la dirección, la velocidad y el control paso a paso.- Procesamiento de audio en vivo y reproducción.- Transmisión de audio a dispositivos compatibles.- Audio y video de streaming directo a las aplicaciones cliente.- Grabación de vídeo en directo y reproducción del vídeo grabado.- Captura de imagen fija.- Control del dispositivo de vídeo y audio.- Control de las salidas de relé.- Notificación de eventos de relés de dispositivos y alarmas.- Búsqueda de eventos de dispositivos como alarmas de entrada y alarmas de movimiento.- El registro de diagnóstico integrado.

1.2. VERSIÓN DE COMPATIBILIDAD DEL DISPOSITIVO

El SDK de vídeo es compatible con los dispositivos de CCTV de Bosch, se enumeran a continuación.

Page 4: Tutorial Video BOSCH-Spanish

1.3. TECNOLOGÍAS COMPATIBLES

El SDK de vídeo está diseñado para ser utilizado en los siguientes contenedores de ActiveX:

- Las aplicaciones desarrolladas con:- Visual Studio 2003, 2005 y 2008- Microsoft Visual C + + 6.0- Microsoft Visual Basic 6.0- Internet Explorer 5.0 y versiones posteriores (incluyendo VBScript y JavaScript)

1.4. USUARIOS PREVISTOS

El SDK de vídeo está destinado a ser utilizado por los desarrolladores de software con experiencia en al menos una de las tecnologías enumeradas en tecnologías admitidas. Además, los desarrolladores deben tener experiencia en la escritura de código del lado del cliente para controles ActiveX y objetos COM en la tecnología elegida. Los desarrolladores pueden aprender a utilizar el SDK de vídeo incluso sin experiencia COM anterior al referirse a las aplicaciones de ejemplo incluidos.

1.5 APLICACIONES DE EJEMPLO

El SDK de vídeo incluye aplicaciones de ejemplo simple y avanzada. Las aplicaciones sencillas demuestran cómo realizar operaciones básicas como la conexión a un dispositivo y la visualización de vídeo en directo. Un ejemplo sencillo es incluido para cada tipo de aplicación que figuran en Tecnologías compatibles. Las aplicaciones avanzadas demuestran cómo realizar operaciones complicadas como dispositivos de detección, que conecta a los dispositivos de forma asíncrona, visualizar vídeo en reproducción, y la búsqueda de eventos. El SDK de vídeo incluye una muestra avanzado escrito en C #.

Para Windows XP y versiones anteriores de los ejemplos se encuentran en:

AVISO! También puede utilizar el vídeo SDK con contenedores ActiveX no

mencionados aquí.

<PROGRAM FILES>\Bosch\VideoSDK\Sample Applications

For Windows Vista and later the samples are located in:

<USERPROFILE>\Documents\VideoSDK\Sample Applications

AVISO! Cuando el SDK se instala en una ubicación no predeterminada o en un

sistema operativo que no sea Inglés o alemán, a un trayecto de referencia a archivos DLL de interoperabilidad instalados del SDK de vídeo hay que añadir para que las muestras de C # para compilar.

Page 5: Tutorial Video BOSCH-Spanish

1.6 REQUISITOS DEL SISTEMA

En la siguiente tabla se muestran tanto los requisitos del sistema necesarios y recomendados para los usuarios finales o los desarrolladores de aplicaciones de cliente.

2. INSTALACIÓN DEL SDK DE VÍDEO EN UN PC DESARROLLO

El SDK de instalación copia los archivos de vídeo de la biblioteca, aplicaciones de ejemplo, un vídeo SDK instalador redistribuible y documentación a su PC. El vídeo principal SDK instalador se titula VideoSDK_xxx.exe, donde xxx es el número de versión del SDK de vídeo.

3. REDISTRIBUCIÓN DEL SDK DE VÍDEO

El vídeo SDK contiene un auto-extraíble, Video SDK instalador redistribuible que se puede ejecutar desde instaladores de terceros que copiar y configurar las bibliotecas de tiempo de ejecución del SDK de vídeo en un PC del usuario final. El vídeo SDK Redistributable instalación se titula VideoSDK_Redist_xxx.exe, donde xxx es el número de versión del SDK de vídeo. El instalador se encuentra en:

\PROGRAM_FILES\Bosch\VideoSDK\Redistributables\Installer

Page 6: Tutorial Video BOSCH-Spanish

El comportamiento del instalador redistribuible se puede modificar con argumentos de línea de comandos personalizados. Los argumentos deben ir entre comillas y deben seguir inmediatamente el modificador / z:

El instalador redistribuible reconoce los siguientes argumentos de línea de comandos personalizadas:

ARGUMENTO DESCRIPCIÓN

-Quiet

Esto evita que el instalador muestre su interfaz de usuario (UI). Oneexception es la barra de progreso de inicio que aparece cuando se inicia el programa de instalación. Otra excepción son los errores auto-registro. Si un archivo DLL no selfregister, el instalador muestra un mensaje de error.

-MaintMode:###

Si el instalador se ejecuta en modo de mantenimiento, este argumento personalizada permite seleccionar el modo. Las opciones son:

- 302 (modo de reparación)

- 303 (modo REMOVEALL).

Si el instalador se ejecuta en modo de mantenimiento y se especifica este argumento, el argumento de costumbre "-Quiet" se supone que estar habilitado.

Tabla 3.1 Vídeo SDK Redistributable Installer Argumentos de la línea de comandos

El instalador redistribuible escribe un código de retorno para el valor de cadena "Result" en la clave del registro:

Los códigos de retorno incluyen:

CÓDIGO DESCRIPCIÓN“CANCELED” La instalación se ha cancelado.

“FAILED” La instalación ha fallado.“INSTALLED” El redistribuible se ha instalado por primera vez.

“REBOOT” El redistribuible se terminó, pero requiere que el PC se reinicie.

“REMOVEDALL” El redistribuible se ha desinstalado.“REPAIRED” El redistribuible fue reparado.“UPDATED” El redistribuible se ha actualizado.

Tabla 3.2 SDK Códigos de retorno del instalador redistribuible Vídeo

/z“<arg 1> ... <arg n>”

“HKEY_LOCAL_MACHINE\SOFTWARE\Bosch\Security Systems\Video SDK Runtime Library”

Page 7: Tutorial Video BOSCH-Spanish

4. UTILIZANDO EL SDK DE VÍDEO

En esta sección se describe el uso de las funciones principales del SDK de vídeo. Cada apartado contiene información acerca de cómo realizar una función principal y sus funciones relacionadas.

4.1 COMPONENTES DEL SDK DE VÍDEO

El SDK de vídeo se compone de diez componentes principales. Cada componente es un componente COM ATL - ya sea un control ActiveX con una interfaz de usuario (UI) o un objeto COM no UI.

COMPONENTE TIPO ALTO NIVEL DESCRIPCIÓNAudioReceiver COM object Representa el audio de un dispositivo de red.AudioSource COM object Captura de audio para la transmisión a un dispositivo de

red.Cameo ActiveX Control Representa un flujo de video en vivo o reproducción

desde un dispositivo de red.DeviceConnector COM object Establece una conexión con un dispositivo de red.

DeviceFinder COM object Detecta los dispositivos de red.DeviceProxy COM object Manipula un dispositivo de red.

DiagnosticLog COM object Registra los mensajes desde las aplicaciones cliente y el propio SDK.

MediaFileReader COM object Representa un archivo multimedia grabado con el MediaFileWriter.

MediaFileWriter COM object Graba un archivo multimedia en el sistema de archivos local.

PlaybackController COM object Controla las operaciones de reproducción y las operaciones de engañar a jugar por las corrientes de reproducción.

Tabla 4.1 Principales Vídeo SDK Componentes

Page 8: Tutorial Video BOSCH-Spanish

El siguiente diagrama muestra los componentes principales del SDK de vídeo y su relación con la aplicación del cliente.

4.2 DISPOSITIVOS DE DESCUBRIMIENTO EN UNA RED

Una aplicación de cliente detecta los dispositivos de la red mediante la interfaz IDeviceFinder del componente y la interfaz de eventos DeviceFinder _IDeviceFinderEvents. La detección se comenzó con IDeviceFinder :: StartDetect. El DeviceFinder responde con un evento asíncrono para cada dispositivo detectado mediante _IdeviceFinderEvents :: DeviceDetected. El IDeviceFinder :: propiedad DeviceInfos mantiene al mismo tiempo una lista de todos los dispositivos detectados actualmente. DeviceFinder también enviará un _IDeviceFinderEvents :: evento DeviceRemoved para cualquier dispositivo que se retira de la red. Detección continúa hasta que se detiene con IDeviceFinder :: StopDetect.

4.3 CONEXIÓN A UN DISPOSITIVO

Una aplicación cliente se conecta a un dispositivo que utiliza el componente DeviceConnector. Se puede conectar a varios dispositivos simultáneamente. Conexiones asíncronas se establecen con IDeviceConnector :: ConnectAsync mediante una dirección URL que describe el protocolo de comunicación, la dirección IP o nombre de host, número de puerto, nombre de usuario (si es necesario) y la contraseña (si es necesario). El DeviceConnector responde con un evento asíncrono mediante _IDeviceConnectorEvents :: ConnectResult. Conexiones síncronas se establecen con IDeviceConnector :: Connect, que también utiliza un URL.

Page 9: Tutorial Video BOSCH-Spanish

Cuando se intenta establecimiento de la conexión, la aplicación cliente recibe una DeviceProxy para el dispositivo. Su propiedad IDeviceProxy :: ConnectionState indica si la iniciativa fue un éxito. Si es así, el DeviceProxy se puede utilizar para interactuar con el dispositivo. Si no, debe desecharse inmediatamente.

Si una conexión establecida se pierde o se restablece, los temas DeviceProxy un evento asíncrono mediante _IDeviceProxyEvents :: ConnectionStateChanged.

4.4 DESCUBRIENDO CAPACIDADES DE DISPOSITIVO

Cuando una conexión se ha establecido a un dispositivo, su DeviceProxy se puede utilizar para determinar sus capacidades. El SDK de vídeo compatible con las capacidades de los dispositivos enumerados a continuación.

Varias de las propiedades de DeviceProxy son colecciones. Si una colección tiene un conteo de cero, la capacidad no está soportado. Las capacidades se accede a través de los miembros individuales de una colección. La siguiente tabla resume las capacidades, con una "X" indica que un producto compatible con la capacidad, mientras que una "O" indica que la capacidad es una característica opcional.

4.5 TRABAJAR CON RELÉS

Una aplicación cliente manipula relés utilizando artículos de IDeviceProxy del componente DeviceProxy :: colección Relays. También puede recibir eventos de estado del relé asíncronos de _IRelayEvents :: StateChanged.

4.6 TRABAJAR CON ENTRADAS DE ALARMA

Page 10: Tutorial Video BOSCH-Spanish

A preguntas de la aplicación cliente alarmas usando artículos de IDeviceProxy del componente DeviceProxy :: colección AlarmInputs. También puede recibir eventos de alarma asíncrona _IAlarmInputEvents :: StateChanged.4.7 RECEPCIÓN DE EVENTOS DEL DISPOSITIVO

Cada dispositivo es compatible con un conjunto particular de eventos de dispositivo. Una aplicación cliente puede recibir este tipo de eventos asíncronos de interfaz de eventos _IDeviceProxyEvents del componente DeviceProxy través _IDeviceProxyEvents :: DeviceEventReceived. Los eventos recibidos en una interfaz de eventos más específicos (por ejemplo, _IRelayEvents) no vayan a ser recibidos en _IDeviceProxyEvents.

4.8 CONTROL DE CÁMARAS

Una aplicación cliente controla las cámaras que utilizan la API de control de la cámara o de la función PTZ en la ventana.

La API de control de la cámara se accede con IDeviceProxy del componente DeviceProxy :: colección VideoInputs. Contiene IVideoInputs que permiten acceder a funciones de la cámara a través de IVideoInput :: CameraController.

La función PTZ en la ventana es provista por el control ActiveX Cameo y activado por defecto. Cuando está activado, las cámaras pueden funcionar con el ratón. El Cameo también soporta un menú contextual de operaciones de la cámara.

4.9 TRABAJO CON LOS MEDIOS DE COMUNICACIÓN EN DIRECTO

4.9.1 TRANSMISIÓN DE VÍDEO EN DIRECTO DESDE UN DISPOSITIVO

Una aplicación de cliente representa el vídeo en directo mediante el control ActiveX Cameo. Las secuencias de vídeo se seleccionan IDeviceProxy de un componente DeviceProxy :: colección VideoInputs. Un flujo se representa mediante la asignación de su IVideoInput a la Cameo través ICameo :: SetVideoStream.

4.9.2 STREAMING DE AUDIO DE UN DISPOSITIVO EN VIVO

Una aplicación cliente hace de audio en vivo utilizando el componente AudioReceiver. Los flujos de audio se seleccionan de IDeviceProxy de un componente DeviceProxy :: colección AudioInputs. Un flujo se representa mediante la asignación de su IAudioInput al AudioReceiver través IAudioReceiver :: AddStream.

4.9.3 STREAMING AUDIO EN VIVO A UN DISPOSITIVO

Un cliente de aplicación de corrientes PC micrófono de audio a un dispositivo mediante el AudioSourcecomponent. Salidas de audio se seleccionan IDeviceProxy de un componente DeviceProxy :: colección AudioOutputs. El audio se transmite mediante la asignación de la corriente de la IAudioSource a AudioOutput del dispositivo a través de IAudioOutput :: SetStream.

Page 11: Tutorial Video BOSCH-Spanish

4.10 TRABAJAR CON BASES DE DATOS DE MEDIOS

Una aplicación cliente accede a grabaciones de dispositivos mediante el componente DeviceProxy. El IDeviceProxy :: Propiedad datos de medios compatible con las operaciones de búsqueda y reproducción.

4.10.1 BÚSQUEDA DE BASES DE DATOS DE MEDIOS

Una aplicación cliente busca en grabaciones de dispositivos mediante ISearchSessions que se adquieren a través de IMediaDatabase :: CreateSearchSession. Las búsquedas se iniciaron a través de ISearchSession :: Inicio. Resultados de la búsqueda devuelve los eventos asíncronos a través _ISearchSessionEvents. Búsquedas terminan cuando un asíncronos _ISearchSessionEvents evento :: Progreso se recibe con un parámetro de avance igual a 100.

Búsqueda de pistas

Una base de datos almacena los datos de los medios de comunicación de audio en pistas de vídeo y. Una aplicación cliente especifica una búsqueda de pistas pasando steTrack a IMediaDatabase :: CreateSearchSession. Una búsqueda puede ser limitada por un intervalo de tiempo o un conjunto particular de los identificadores de pista. _ISearchSessionEvents Asíncronos :: eventos TrackAvailable devuelven un iTrack para cada pista encontrada.

Búsqueda de Eventos

A los medios de comunicación de base de datos almacena los eventos que registrar entradas de alarma, pérdida de vídeo, etc Una aplicación cliente especifica una búsqueda de eventos pasando steEvent a IMediaDatabase :: CreateSearchSession. Una búsqueda puede ser limitada por un intervalo de tiempo o un conjunto particular de tipos de eventos. _ISearchSessionEvents Asíncronos :: eventos ResultAvailable información pertinente para cada caso encontrado.

Búsqueda de información Cronología

Una línea de tiempo es una historia de eventos para un conjunto de pistas. Se representa como una tabla. Una fila representa una combinación de un identificador de pista y un tipo de evento. Una columna representa una fracción de la línea de tiempo medido en segundos.

Page 12: Tutorial Video BOSCH-Spanish

Una aplicación cliente especifica una búsqueda de línea de tiempo que pasa steTimeline a IMediaDatabase :: CreateSearchSession. Una búsqueda puede ser limitada por un intervalo de tiempo, la granularidad (cuántos segundos representa cada columna), un conjunto particular de los identificadores de pista, y / o un conjunto de eventos para ubicar en las pistas. Un _ISearchSessionEvents asíncronos :: eventos TimelineAvailable devuelve un ITimeline.

4.10.2 ACCESO A MEDIOS GRABADOS

Una aplicación cliente accede a las pistas con un IMediaSession adquirido de IMediaDatabase :: GetMediaSession o desde iTrack :: GetMediaSession. Streams proporcionados por el IMediaSession se pueden representar mediante la asignación de un cameo o AudioReceiver.

4.10.3 REALIZA TRUCO JUGAR OPERACIONES

Una aplicación cliente controla las operaciones de engañar a jugar en una secuencia de reproducción de vídeo utilizando el IPlaybackController pasado a IMediaDatabase :: GetMediaSession o iTrack :: GetMediaSession cuando se adquirió la corriente. Operaciones jugada de engaño incluyen el cambio de sentido de la reproducción o de la velocidad, buscando dentro de la corriente, y la realización de operaciones de un solo paso. Operaciones de un solo paso requieren IPlaybackController :: SmoothReverseEnabled ser establecido en TRUE. Si el IPlaybackController es compartida por varias sesiones de medios de comunicación, todas las corrientes serán controlados en concierto.

4.11 LA CAPTURA DE IMÁGENES FIJAS

Una aplicación de cliente de captura de imágenes fijas utilizando el método de control de ActiveX Cameo ICameo :: CaptureSingleFrame. Formatos de imagen son JPEG y BMP que se seleccionan a través de ICameo :: CaptureFormat.

Page 13: Tutorial Video BOSCH-Spanish

4.12 CAPTURA DE FLUJOS DE MEDIOS

Registros de una aplicación cliente transmisiones multimedia IDataStream a un archivo utilizando el MediaFileWritercomponent. Representación del archivo requiere una aplicación de visualización creado con el componente MediaFileReader y Control ActiveX Cameo.

4.13 TRANSMISIÓN DE VÍDEO DIRECTAMENTE EN UNA APLICACIÓN DE CLIENTE

Nota: esta función requiere el conocimiento del desarrollo Microsoft DirectShow filtro personalizado.

Una aplicación cliente puede acceder directamente a las imágenes de video stream descomprimidos utilizando un filtro personalizado de la siguiente manera:

1. Acceda a una IDataStream :: Filter para adquirir un puntero IUnknown al filtro aguas arriba.2. Llame a QueryInterface en el puntero para adquirir la interfaz de Microsoft DirectShow IBaseFilter.3. Llame IBaseFilter :: QueryFilterInfo adquirir gráfico de filtro del SDK de vídeo.4. Detener el gráfico de filtro.5. Agregar el filtro personalizado a la gráfica filtro.6. Ejecute el gráfico de filtro. El filtro personalizado recibirá directamente las imágenes decodificadas del gráfico de filtro del SDK de vídeo.

4.14 REGISTRO DE DIAGNÓSTICO

El SDK de vídeo compatible con el registro de diagnóstico que está desactivado por defecto. Los registros de salida son utilizados por Bosch para diagnosticar el comportamiento del VSDK. Los archivos de registro son circulares, de longitud fija, archivos de texto TabDelimited con un tamaño predeterminado de 2 MB. Se pueden ver con aplicaciones de hojas de cálculo.

Controla una aplicación de cliente de registro con IDiagnosticLoginterface del componente DiagnosticLog. El registro está habilitado a través IDiagnosticLog :: SetLoggingLevel. Una aplicación cliente puede añadir su propia información de tiempo de ejecución en el registro a través de IDiagnosticLog :: Mensaje de registro.

4.15 EL CONTROL DE SALIDAS DE VÍDEO DE UN DISPOSITIVO

Los dispositivos suelen tener salidas de vídeo. A la salida de vídeo muestra el vídeo en una región llamada un cameo (que no debe confundirse con los servicios prestados por el control ActiveX Cameo). Un arreglo de uno o más apariciones se denomina diseño. Algunas salidas de video soportan varios diseños. Vídeo asignado a un camafeo es proporcionado por un canal. De vídeo de un canal es proporcionada por una entrada de vídeo o un decodificador de vídeo interno. Un vídeo de vídeo del descodificador se proporciona por una conexión al codificador de vídeo de otro dispositivo.

Una aplicación cliente controla las salidas de vídeo con artículos de IDeviceProxy del componente DeviceProxy :: colección VideoOutputs. Un IVideoOutput proporciona acceso a los diseños, los canales, y la configuración de visualización de la salida de vídeo.

Page 14: Tutorial Video BOSCH-Spanish

Una aplicación cliente asigna un canal (flujo de vídeo) a un cameo de salida de vídeo mediante el establecimiento de un IDisplayConfiguration :: elemento de la matriz CameoMapping a un IVideoOutputChannel :: Indexvalue, a continuación, llamar IVideoOutput :: SetDisplayConfiguration.

Cameos en el IDisplayConfiguration :: array CameoMapping aparecen en un orden de izquierda a derecha, de arriba abajo (Z). Por ejemplo, si el diseño es una cuadrícula de 2x2 de cameos, los elementos de la matriz CameoMapping, desde el primero al último, serían los cameos izquierda arriba, derecha, arriba, izquierda, abajo, derecha e inferior.

Nota: no entradas y salidas de vídeo todos los dispositivos son compatibles ". Consulte la documentación del dispositivo para obtener más información.

Page 15: Tutorial Video BOSCH-Spanish