Major changes in this version

New Experimental Genvid UI

This release introduce a new web interface with a web-based API, including a Python wrapper. This will allow you to configure, manage and monitor your cluster from anywhere.

Changes in project file format

The project files have a slightly different format. The image and binary elements have been replaced with a single config element which is used to populate the key-value store. For more details, see the upgrade section.

Access to raw data in the Web API

In the Web API, the IDataStreamFrame and IDataNotification have been modified to give access to a rawdata member of type ArrayBuffer. This data is meant to circumvent shortcomings when the source data is encoded as UTF-8, which ended up garbled due to the fact that browsers use UTF-16 for their internal representations of strings. The new rawdata can be converted to a string by calling either genvid.UTF8ToString() or genvid.UTF16ToString(), depending on the source encoding.

While the old data member is still available, it is considered deprecated and will be removed in a later version.

Invalid video dimensions will now get clipped or padded

Previously, setting inconsistent width and height in the config file would lead to no video being streamed. The Native SDK is now more robust, but while video should now always stream, the final outcome will result in either a cropped video or black padding to the right and bottom of the image. When such a situation happens, a warning message will get logged because WebGL data will no longer properly align with the video feed.

This should allow editor windows in both Unreal Engine and Unity to at least show some video data, albeit with quite important shortcomings.

Minor changes and other fixes

  • [unity] Rework the website and fix some leaks with the getParameterUTF8() function.
  • [events] Fix a race condition in events system loading.
  • [samples] The samples no longer build the local web site before creating the Docker image.