Viinex is designed as an SDK. That is, every piece of functionality implemented in Viinex is available via programming interface, and the functionality is said to be implemented if and only if it is available programmatically.
Viinex programming interface is a set of HTTP calls, taking as input and producing as output either JSON documents of terse and simple structure, or the media data. Viinex sticks to REST approach to building the API. The remote calls to Viinex are stateless, i.e. the server maintains no state or context for a specific client.
Video streaming is performed by Viinex according to HLS specification proposed by Apple. As a consequence, video streams produced by Viinex can be played on most browsers - Chrome, Safari, Firefox, Edge, - including mobile devices with iOS. In the most simple scenario, you just type in a video URL into a browser location bar and see the video stream, even on iPhone. This works not only in a local network, but via Internet as well. For a rich client application there can be a number of approaches to rendering such video streams, of which the most simple is embedding a control with a browser capable of rendering the HLS stream. There is also a number of other options for rich client applications - contact us to get an advice!
As of February 2019, Viinex has also support for WebRTC streaming. The WebRTC server makes Viinex suitable for using web technologies to organize low latency real-time video surveillance, including the PTZ-oriented scenarios. WebRTC also makes it possible to stream video from Viinex server to a client's browser in p2p mode, even if both reside behind the NAT.
Viinex is typically deployed as a service/daemon in the operating system, however there is an option for integrating software to control over the lifecycle of Viinex instance. There is also additional information on compatibility and performance of Viinex.
Here's the link to Viinex documentation: https://www.viinex.com/Viinex20Guide.pdf.