Uso de clientes ONVIF para ver flujos de vídeo

Los clientes ONVIF pueden ser muchas cosas distintas, desde avanzados sistemas de vigilancia personalizados a reproductores de medios básicos.

Si ha aplicado una máscara de privacidad permanente a su vídeo, no podrá transmitirlo desde un cliente de ONVIF.

Esta sección proporciona ejemplos de cómo conectarse al Milestone Open Network Bridge.

Utilizar un Cliente de vídeo de red para ver un flujo en directo

Este ejemplo describe cómo instalar el ONVIF Device Manager y configurarlo para transmitir vídeo en directo desde una instalación de XProtect.

El ONVIF Device Manager es un cliente de vídeo en red de código abierto y gratuito de iDeviceDesign que cumple con los estándares ONVIF. La herramienta facilita la detección y visualización de vídeo desde cámaras compatibles con ONVIF en una red. Sin embargo, el ONVIF Device Manager solo transmite vídeo en directo. Adicionalmente, no puede capturar y guardar los datos de vídeo en el flujo.

El ONVIF Device Manager no es compatible con FIPS 140-2 ni con el códec H.265.

Antes de empezar, debe tener la siguiente información:

  • Las credenciales de inicio de sesión para el usuario que se creó para el Milestone Open Network Bridge
  • La dirección IP o el nombre del ordenador del ordenador en el que está instalado el Milestone Open Network Bridge

Para instalar el ONVIF Device Manager, siga estos pasos:

  1. Vaya al sitio de Sourceforge ONVIF Device Manager (https://sourceforge.net/projects/onvifdm/) y, a continuación, descargue y ejecute el instalador. Puede instalar el ONVIF Device Manager en cualquier ordenador.
  2. Cuando la instalación finaliza, un icono pasa a estar disponible en el escritorio. Haga doble clic en el icono para iniciar ONVIF Device Manager.
  3. Cuando inicia ONVIF Device Manager, automáticamente detecta dispositivos compatibles con ONVIF en la red. Sin embargo, esto podría no detectar Milestone Open Network Bridge.
    • Si es así, vaya al paso 6
    • Si no, añada el puente manualmente. Continuar con el paso 4
  4. Para añadir un Milestone Open Network Bridge, haga clic en AÑADIR.
  5. En el cuadro de diálogo Añadir dispositivo, en el campo URI, proporcione el nombre de la dirección IP del ordenador en el que está instalado el Milestone Open Network Bridge y el número de puerto ONVIF. Por ejemplo, la cadena debería tener este aspecto: http://[dirección IP]:580/onvif/device_service.
  6. Después de añadir el puente, está disponible en la parte inferior de la lista Dispositivo. Selecciónelo.
  7. Introduzca las credenciales de inicio de sesión para el usuario que se creó para el cliente ONVIF encima de la lista. Si este es un usuario de Windows, debe introducir el dominio\nombre de usuario.

Utilizar un reproductor multimedia para ver un flujo de vídeo

Este ejemplo describe el uso del reproductor multimedia VLC para recuperar y ver un contenido de vídeo en directo o un vídeo grabado desde una cámara en una instalación de XProtect.

El reproductor multimedia VLC es un reproductor multimedia abierto y gratuito de VideoLan que admite varios protocolos de transmisión, incluido RTSP. Por ejemplo, usar el reproductor multimedia VLC es útil cuando se quiere una forma muy rápida de conectar con una cámara, o simplemente de probar la conexión a una cámara.

Cuando se conecta a una cámara para ver vídeo grabado, el Milestone Open Network Bridge transmite las secuencias de vídeo, empezando por la primera secuencia.

Antes de empezar, consiga la siguiente información de la persona que administra la instalación de XProtect:

  • Las credenciales de inicio de sesión para la cuenta de usuario que ha asignado al Milestone Open Network Bridge
  • La dirección IP o el nombre del ordenador del ordenador en el que está instalado el Milestone Open Network Bridge

Además, dependiendo del esquema que utilice, necesita la siguiente información:

  • Si utiliza rtsp://[rtsp_server]:554/live/[camera_id]

    A continuación, necesita el GUID del dispositivo desde el que quiere transmitir vídeo

    El GUID de la cámara está disponible en Management Client. Para buscar el GUID, seleccione el servidor de grabación en el que se ha añadido la cámara y, a continuación, seleccione la cámara. Haga clic en la pestaña Información, pulse y mantenga pulsado CTRL en el teclado y, a continuación, haga clic en la vista previa del vídeo de la cámara.

  • Si utiliza rtsp://[rtsp_server]:554/live/[camera_id]/[stream_number]

    A continuación necesita el número de transmisión. Este es un valor numérico entre 0 y 15.

  • Si utiliza rtsp://[rtsp_server]:554/live/[camera_id]/[stream_id]

    A continuación, necesita el ID de la transmisión. Es el GUID que identifica el flujo en el VMS XProtect.

    Los GUID de la implementación actual de VMS XProtect multistreaming que identifican los flujos están fijados a:

    • 28dc44c3-079e-4c94-8ec9-60363451eb40 - para el flujo 0

    • 28dc44c3-079e-4c94-8ec9-60363451eb41 - para el flujo 1

    • ...

    • 28dc44c3-079e-4c94-8ec9-60363451eb4f - para el flujo 15

Esta descripción se basa en VLC 2.2.4 para Windows.

Para instalar el reproductor multimedia VLC y conectarlo a un sistema de XProtect, siga estos pasos:

  1. Vaya a https://www.videolan.org/vlc/ y, continuación, descargue el instalador para el reproductor multimedia VLC.
  2. Ejecute el instalado y siga las instrucciones para cada paso.
  3. En la barra de herramientas, haga clic en Medios y seleccione Abrir flujo de red.
  4. En el cuadro de diálogo Abrir medios, introduzca la siguiente cadena RTSP. Sustituya las variables entre paréntesis cuadrados [dirección IP de Milestone Open Network Bridge] y [GUID de la cámara] por la información correcta:
    • Para ver un flujo de vídeo en directo, introduzca rtsp://[Milestone Open Network Bridge IP Address]:554/live/[Camera GUID]
    • Para ver vídeo grabado, introduzca rtsp://[Milestone Open Network Bridge IP Address]:554/vod/[Camera GUID]
  5. Haga clic en Reproducir y, a continuación, introduzca el nombre de usuario y la contraseña de la cuenta de usuario que se añadió a Milestone Open Network Bridge.

Gestionar reproducción de vídeo

Los controles de reproducción cumplen los estándares RTSP y la especificación de transmisión ONVIF (https://www.onvif.org/profiles/specifications/).

Resumen de grabación

Puedes obtener una descripción general de todo el vídeo grabado disponible en el dispositivo utilizando el comando GetRecordingSummary . Esto no es obligatorio, pero proporciona información útil antes de realizar una búsqueda.

Puede utilizar GetRecordingSummary y/u GetMediaAttributes para obtener la marca de tiempo de la primera y la última grabación, pero primero debe habilitar el ajuste Utilizar configuraciones de cámaras en el complemento de Milestone Open Network Bridge en el XProtect Management Client.

Use configuration from cameras check box in the Open Network Bridge Information pane.

Cree un proxy para el servicio RecordingSearch utilizando el terminal de servicio devuelto por GetServices. Cree objetos de solicitud y respuesta, luego invoque GetRecordingSummary.

SearchBindingProxy searchProxy( &soapSearch );

std::string searchEndpoint = "http://" + host + "/onvif/recording_search_service";

_tse__GetRecordingSummary tse__GetRecordingSummary;

_tse__GetRecordingSummaryResponse tse__GetRecordingSummaryResponse;

result = searchProxy.GetRecordingSummary( searchEndpoint.c_str(), NULL,

   &tse__GetRecordingSummary, &tse__GetRecordingSummaryResponse );

Buscar grabaciones

El método del servicio de búsqueda FindRecordings se inicia como una búsqueda asíncrona en la cámara. FindRecordings devuelve un token que hace referencia a los resultados de la búsqueda. Aunque haya solo una grabación disponibles, una búsqueda es la forma adecuada de obtener una referencia para esa grabación.

Envíe una solicitud FindRecordings con los siguientes parámetros obligatorios:

  • SearchScope > IncludedSources > Token – debe proporcionar el token del GUID de la cámara
  • SearchScope > RecordingInformationFilter – cadena con los siguientes parámetros:
    • timestamp (en formato UTC)
    • maxTimeBefore (el tiempo antes de la marca de tiempo solicitada, en milisegundos)
    • maxCountBefore (el número máximo de pistas antes de la marca de tiempo solicitada)
    • maxTimeAfter (el tiempo después de la marca de tiempo solicitada, en milisegundos)
    • maxCountAfter (el número máximo de pistas después de la marca de tiempo solicitada)

Por ejemplo:

boolean(//Track[TrackType = “Video”]),2016-12-06T08:07:43Z,99999999,20,99999999,20

Obtendrá una respuesta con un SearchToken que es único para los criterios de búsqueda.

Pase el SearchToken a GetRecordingSearchResults y obtendrá una lista con todas las pistas correspondientes a los criterios de búsqueda.

Iniciando reproducción

Al visualizar la reproducción de vídeo, la velocidad predeterminada es 1 (reproducción normal en dirección de avance).

La reproducción se inicia mediante el método REPRODUCIR RTSP. Se puede especificar un rango. Si no se ha especificado ningún rango, el flujo se reproduce desde el principio y se reproduce hasta el final, o, si el flujo se pausa, se reanuda en el punto en que se puso en pausa. En este ejemplo, “Rango: npt=3-20” da instrucciones al servidor RTSP para que comience la reproducción desde el tercer segundo hasta el segundo 20.

Por ejemplo:

PLAY rtsp://user:1234@test01:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373 RTSP/1.0

CSeq: 123

Session: 12345678

Require: onvif-replay

Range: npt=3-20

Rate-Control: no

Reproducción inversa

Los dispositivos ONVIF PUEDEN soportar la reproducción inversa. La reproducción inversa se indica utilizando el campo Encabezado de escala con un valor negativo. Por ejemplo, para reproducir en reversa sin pérdida de datos, se usaría un valor de –1,0.

El Milestone Open Network Bridge admite los valores [-32 : 32].

PLAY rtsp://user:1234@test01:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373 RTSP/1.0

CSeq: 123

Session: 12345678

Require: onvif-replay

Range: clock=20090615T114900.440Z

Rate-Control: no

Scale: -1.0

Cambiar velocidad

La velocidad se controla mediante el encabezado de control de velocidad de RTSP. Si "Control-Velocidad=yes", entonces el servidor tiene el control de la velocidad de reproducción. El flujo se entrega en tiempo real utilizando mecanismos estándar de sincronización RTP. Si «Control-Velocidad=no», entonces el cliente no tiene el control sobre la velocidad de reproducción. La reproducción controlada por la velocidad normalmente solo la usarán clientes específicos no ONVIF porque ellos no especificarán “Control-Velocidad=no”.

Para controlar la velocidad de reproducción en un cliente, utilice los controladores facilitados. Por ejemplo, con el reproductor multimedia VLC, seleccione Reproducir > Velocidad > Más rápido o Más despacio. Esto aumenta o reduce la velocidad en 0,5.

Más rápido bien y Más lento bien cambian la velocidad en 0,25.

Gestionar reproducción del reproductor multimedia VLC con entradas de la línea de comandos

Puede gestionar la reproducción de vídeo en el reproductor multimedia VLC utilizando líneas de comando. Consulte la ayuda de la línea de comandos de VLC (https://wiki.videolan.org/VLC_command-line_help/) para obtener más detalles.

Dichos comandos le permiten, por ejemplo, la reproducción inversa y el cambio de la hora de inicio de la reproducción.

Un ejemplo de una línea de comandos típica:

>vlc.exe --rate=-1.0 --start-time=3600 "rtsp://user:1234@test01:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373"

Dónde:

  • La velocidad es el parámetro de escala y velocidad
  • El tiempo de inicio son los segundos después del inicio de la base de datos

A continuación se muestran los controles de reproducción para el reproductor de medios VLC:

Código

¿Qué puedo archivar con este código?

repetición-entrada=

<entero [-2147483648 .. 2147483647]>

Repeticiones de entradas

Número de veces que se repetirá la misma entrada

hora-inicio=

<punto flotante>

Hora de inicio

La transmisión comenzará en esta posición (en segundos)

hora-parada=

<punto flotante>

Tiempo de parada

La transmisión parará en esta posición (en segundos)

tiempo de ejecución=

<punto flotante>

Tiempo de ejecución

La transmisión se ejecutará durante el tiempo que dure (en segundos)

entrada-búsqueda-rápida

sin-entrada-búsqueda-rápida

Búsqueda rápida (deshabilitada de forma predeterminada)

Favorecer la velocidad frente a la precisión al buscar

velocidad=

<punto flotante>

Velocidad rep.

Esto define la velocidad de reproducción (la velocidad nominal es 1.0)

lista-entradas=

<cadena>

Lista de entrada

Puede dar una lista de entradas separada por comas que se concatenarán juntas después de la normal

esclavo-entrada=

<cadena>

Esclavo de entrada (experimental)

Esto le permite reproducir desde varias entradas al mismo tiempo. Esta característica es experimental, no admite todos los formatos. Utilizar una lista de entradas separada por '#'