Video rendering involves transforming an encoded video stream into a raw video stream, modifying its fundamental characteristics such as resolution and frame rate, and encoding the modified stream. It can also combine multiple video streams into a single encoded synthetic video stream, allowing for viewing or storage. This process applies the new characteristics to the video during rendering and enables the creation of video content that meets specific requirements.
Viinex takes advantage of hardware acceleration on the server-side to enhance video decoding and encoding performance. It utilizes technologies such as Intel Quick Sync, Nvidia CUDA, Direct3D, and VA-API.
An example of a rendered video stream can be seen at our demo.
On the client-side, such as on a PC, the browser can decode multiple video streams using hardware acceleration support. For instance, Google Chrome can display up to 9 streams of 2 megapixels each on a standard PC with GPU support. However, mobile devices have limited hardware capabilities compared to standalone PCs. To display multiple video streams on a mobile device simultaneously, a video renderer can decode and modify the video streams to the required characteristics and combine them into a single stream on the server-side. This simplifies the process of viewing multiple cameras on mobile devices by enabling the display of video from several cameras through standard playback of only one stream.
An integrating application can customize various settings when creating a synthetic video stream, including:
- Layout of video channels displayed, which can overlap each other (every viewport position and size can be set).
- Displaying every initial source in any number of viewports, with digital zoom supported. The application can specify an area in the original video that can be displayed in a certain viewport.
- Displaying a customized background and overlay with an adjustable gradient color on a synthetic video.
Video rendering features are also used for projective video transformation with License Plate Recognition engines, in cases where a camera cannot be mounted with a certain angle. Additionally, inserting titles is possible by placing any image on top of the video, with transparent color (colorkey). In Viinex, this feature is combined with an HTML rendering engine, allowing for placing an image of an HTML page of any complexity on top of the video, including text formatting, various fonts, raster and vector graphics.