Multimedia Retrieval

Viinex offers a range of features to facilitate video integration within your application, allowing for seamless incorporation of various video sources. These include:

  • IP cameras and encoders: Viinex supports the integration of IP cameras and encoders, enabling you to connect and utilize these devices within your application.
  • Third-Party VMSs and NVRs: Viinex offers integration with third-party Video Management Systems (VMSs) and Network Video Recorders (NVRs). This enables you to leverage these video surveillance systems as video sources within your application.
  • USB cameras: Viinex supports USB cameras and grabber cards, enabling you to capture raw video input from these sources, such as ATM or industrial USB cameras. Additionally, Viinex offers the capability to encode this video, allowing you to utilize the encoded IP video within your application.

IP Cameras and Encoders

IP Device Discovery

When it comes to working with IP video cameras, Viinex offers two options. You can manually input the camera’s RTSP URL, or you can leverage Viinex’s automatic discovery feature, which utilizes the ONVIF protocol to find ONVIF devices on the network through the Viinex API. This functionality enhances the convenience and flexibility of working with IP video cameras in your application.

Video and Audio

Viinex supports video reception from IP cameras and IP video encoders that utilize RTSP+RTP protocols and H.264 & H.265 video codecs. When it comes to accessing these devices, Viinex provides support for Basic and Digest authentication methods as outlined in the RTSP specification. For RTP data transfer protocol, Viinex offers implementations over UDP Unicast, UDP Multicast, and TCP (RTP over RTSP, interleaved mode).

Viinex supports dynamic mode IP device connection, which enables you to establish connections with all your IP video devices and receive IP devices’events. However, video retrieval occurs only on demand via HTTP API, such as for recording, using video analytics, or video streaming purposes. This dynamic mode of operation allows for efficient video management in control centers that handle thousands of IP devices, preventing excessive bandwidth consumption.

Viinex supports audio retrieval through RTSP in various formats, including OPUS, AAC, G.711, and G.726. Additionally, it offers real-time audio encoding in OPUS to meet WebRTC protocol requirements, ensuring video streaming alongside audio content.

Viinex can be easily configured to work with other RTSP video sources using a URL. This includes compatibility with video sources like VLC stream server.

IP Camera Events

The ONVIF specification provides a standardized protocol for video management systems to receive events from IP video devices, including built-in video detectors such as motion detectors, service detectors or digital I/O events. Viinex utilizes the subscription method outlined in the ONVIF specification, enabling the receipt of events from IP cameras and delivering them to the integrating application. For more detailed information on IP camera detectors supported by Viinex, please refer to the additional article.

In addition, Viinex implements rules for processing these events to control video recording either through predefined rules or scripts. Viinex’s rules allow for the combination of events from multiple video detectors, even across different cameras.

These features serve two primary purposes: enabling real-time reception of essential IP camera events in client applications via the Viinex API, utilizing a web sockets interface subscription, and facilitating the establishment of rules for automatic start and stop of video recording in response to alarms. Similarly to external control of video recording, these rules can manage groups of cameras, simplifying Viinex settings in typical scenarios.

Pan-Title-Zoom (PTZ) Control

The middleware offers support for PTZ cameras and allows for easy control of PTZ functionality via the ONVIF specification. Using a simple control command in a single line of an HTTP request, Viinex acts as a proxy for the PTZ interface of ONVIF devices. This eliminates the need to deal with complexities such as XML, SOAP, and namespaces. With Viinex, controlling PTZ cameras can be achieved with concise 1-liner commands, such as utilizing the CURL utility.

Viinex provides HTTP calls for managing presets and moving the PTZ device to either a preset position or an arbitrary position. Whenever possible, Viinex automatically infers the URIs of motion coordinate spaces, media profile tokens, and other required details based on the ONVIF PTZ specification. As a result, even the most complex PTZ API call in Viinex typically requires only three arguments for pan, tilt, and zoom coordinates. This streamlined approach simplifies the control of PTZ cameras.

Third-Party VMSs & NVRs

Viinex offers ready-to-use integration with various video management systems (VMS) and network video recorders (NVR) through their SDK. By leveraging these integrations via Viinex HTTP API, integrating applications gain access to a range of possibilities, including receiving live and recorded video streams, streaming video in a HTML5-compatible format within the web interfaces of the applications, and effectively managing video archives of the entire video surveillance system through video archive replication features.

For more information on the third-party VMS integration capabilities, we recommend exploring the dedicated page and documentation available.

USB Cameras

USB Camera Automatic Discovery

For seamless API integration, Viinex offers an automatic discovery feature to the integrating application. By sending a standard HTTP request, the application can conveniently discover USB camera devices registered by the Windows or Linux operating system. In response to the request, Viinex provides a list of the discovered devices, simplifying the connection process.

DirectShow & Video4Linux

The middleware provides support for RAW video sources and capture devices through program interfaces designed for both Windows and Linux operating systems. Video obtained from these devices can be easily recorded or streamed using the standard features offered by Viinex.

Raw Video Encoding

Video captured from USB cameras is initially in a raw and uncompressed format. However, for archival recording or streaming purposes, the video needs to be encoded. Viinex offers a video compression feature that utilizes the Advanced Video Coding (AVC) H.264 algorithm, compliant with the AVC Portfolio License, to encode the video. It provides a wide range of configurable settings that allow for selecting the appropriate image quality and achieving an acceptable occupancy rate by adjusting the output bitrate of the video stream.

Moreover, Viinex takes advantage of GPU hardware acceleration to enhance video encoding performance. The middleware supports technologies such as Intel Quick Sync, Nvidia CUDA, Direct3D, and VA-API to maximize the efficiency and speed of video processing.