Release & Upgrade Notes

Below, you’ll find the release notes for the latest version of the Genvid MILE SDK. This section also includes release notes from previous versions of the SDK and instructions for upgrading earlier versions.



Genvid MILE SDK 1.45.0

Welcome to Genvid MILE SDK 1.45.0. This release is ready and stable for integration and can be used for local development and limited cloud deployment. We are still missing some features for a complete production deployment which can be provided through other software. Please contact us from our support page if you’re planning a production deployment.

We are committed to a regular pace for our releases until we get all the features done for a comfortable production deployment. We work to ensure a smooth upgrade between releases and provide as much backward compatibility support as possible. If you encounter any problems, check the list of Known Issues below or contact us from our support page.

Current Functionalities

Here is a summary of our current functionalities. See Major Fixes and Changes below for the list of new features in this release.

  • Automatic synchronization between video and game-data streams.

  • Video streaming to YouTube and Twitch.

  • JavaScript SDK for embedded webpage.

  • Multiple distributed sources of A/V and Data.

  • Streaming additional arbitrary game events and notifications.

  • Scalable event messaging system.

  • Windows C++ API with a C# wrapper.

  • Video encoding (H264 + AAC).

  • Unity3D integration (Game and Management).

  • Unreal Engine integration (Game and Management).

  • D3D11 or raw frame video capture.

  • WASAPI audio capture.

  • Tools and scripts for managing your local and remote clusters, with example scripts for AWS and Azure.

  • Live video editing and basic composition effects (beta).

  • RTMP Ingest server (beta).

  • REST API to control the services (beta).

  • Metrics feed.

  • Load-testing library.

  • Multiple integration samples.

  • Extensive documentation.

Major Fixes and Changes

Float Framerate support

The Genvid MILE SDK now officially supports Float Framerate like 23.976 or 29.97 For Production streaming, it is recommended to use the same frame rate in input and output to avoid possible stuttering and jittering of the video and audio stream.

New Output Timestamp in debug Overlay

A new value labelled outputTimestamp was added. It is available in the Cube Sample Debug Overlay. This allows you to confirm the proper synchronization between the video and data streams.

Minor Changes and Other Fixes

  • [installer] Fixed an issue where a Jenkinsfile was distributed with the unreal plugin.

  • [documentation] Refactored the Unity Cube Sample documentation.

  • [documentation] Removed duplicated ‘stream’ tag from Composition metrics table.

  • [sdk] Upgraded Debian from version 9 to version 11.

  • [web-sdk] Fixed an issue where full composition state logs

  • appeared every 2 seconds when the composition setting was disabled and studio was enabled.

  • [web-sdk] Fixed an issue where the Twitch extension client secret variable

  • differed from local and cloud templates, preventing building a local solution.

  • [web-sdk] Fixed the behavior of annotation streams being accessible in the on draw callback even if there were no annotation frame available.

  • [web-sdk] Improved the behavior of the sync algorithm based on the video playback time.

  • [gvencode] Fixed an issue where a change in the system time could affect the game data synchronization.

  • [samples] Updated Twitch Extension documentation to specify that it only works with three.js version r149.

  • [studio] Improved documentation by adding RemoteGUI section in Studio section.

  • [unity plugin] Increased the range of supported values of the Framerate parameter in Genvid Video.

  • [ue-plugin] Added official support of Unreal Engine 5.2.

  • [ue-plugin] Fixed an issue where the event callback internal resources were not properly cleaned.

  • [ue-plugin] Added the GENVID_UNREAL_PLUGIN_DISABLED environment variable allowing to disable SDK activation in the UE Plugin.

  • [ue-sample] Fixed an issue where the Unreal Cube Sample fails to start on a cloud cluster when it is built with Unreal Engine 5.

  • [ut4-sample] Fixed an issue where calling ut4.py unload would fail and return an error.

  • [ue4] Fixed an issue where an invalid string were returned when a request payload was converted from a UTF-8 buffer to a string using GenvidRequests::UTF8ToString.

Known Issues

Missing RemoteGUI services in Studio RemoteGUI

If the Ingest service is deployed, it will not be accessible via the RemoteGUi menu in Studio. The same will occurs if there are more than one instance of a game deployed.

This restriction will be fixed in a future release.

Twitch Extension Sample works only with three.js version r149

Currently, the Twitch Extension Sample is only compatible with the library three.js version r149. Make sure to only use this version and not a more recent one.

This restriction will be fixed in a future release.

Only one application with the Genvid MILE SDK integrated may run at a time if not launched using Nomad.

If an application using the Genvid MILE SDK is launched without Nomad, a default session name is assigned to it. This is useful when testing your application in the Unity engine, Unreal engine, or booting your application manually.

Currently, the Genvid MILE SDK is unable to support multiple applications launched this way unless you change the environment variable GENVID_SESSION_NAME to a unique name. You can also launch your applications via Nomad to avoid this issue.

We will fix this in a future release.

Streaming to an iOS device with the Standalone player is currently not functional.

Streaming to an iOS device (iPhones and iPads) with the Standalone player is currently not functional. This issue will be fixed in a future release.

Studio UI becomes unresponsive.

In a case where bins and/or NATS services became unhealthy, the Studio UI will became unresponsive

As a workaround, restart the Studio job once the bins and NATS jobs are back to healthy states.

On Azure, the audio and video streams may become de-synchronized.

When capturing a video stream at 60 FPS on Azure, the audio stream slowly becomes de-synchronized compared to the video stream.

The Unreal plugin may cause duplicated events if Unreal is used in Client-Server mode.

When using the Unreal Plugin with Unreal in Client-Server mode, events may be duplicated. This can cause Blueprints to trigger multiple times and notifications to stop being sent to the clients.

Workaround

As a workaround, set the GENVID_UNREAL_PLUGIN_DISABLED environment variable to 1 in the Nomad template of the server job.

This disables the Genvid MILE SDK server-side.

Limitations

Loading configurations in the incorrect order can overwrite values.

Whether you’re using SSL on a cloud or a local cluster, if you load youtube.sample.hcl before loading the web sample, the web sample will overwrite the value associated with the embed_ssl from the web.hcl file.

Large NTP time offsets will prevent the stream from playing.

If you encounter large NTP time offsets, your stream may stop playing. As a workaround, make sure that the game machine is configured to update its clock automatically. For local configurations, replace the AWS IP address with pool.ntp.org.

See the AWS configuration section for more information.

Studio can’t take inputs of the same control from multiple windows.

If Studio is opened in more than one browser window and inputs are received from different sources to one control, the final value will then bounce between the different inputs instead of updating it to the latest one. For example, in Audio Mixer Widget, if a user changes the slider of Master Gain to 20 db and another user then changes it to 0 db, the slider handle will bounce between 20 db and 0 db instead of being set to 0 db.

Sending input from multiple Studio windows to one control is not recommended until we resolve the issue.

The SDK clamps framerates under 1.0.

To prevent issues, we raised the lower limit for the framerate to 1.0 for any stream. The SDK will clamp the value to 1.0 FPS if it’s less than 1.0.

Skull icons and respawn timers don’t always appear over player heads in the UT4 Sample.

When running the UT4 Sample, the skull icons and respawn timers don’t always appear over player heads when you trigger a kill event on them. This is due to the game not correctly calling the web overlay when run in client/server configuration–the players are killed and respawn, as expected. You can avoid this by setting the GENVID_UNREAL_PLUGIN_DISABLED environment variable to 1 in the Nomad template of the server job.

Killing a player when he is already dead has no effect in the UT4 Sample.

When running the UT4 Sample, it is possible to trigger a kill event on a player when he is already dead. When this happens, the kill event has no effect and the player is not killed. Also, the skull icon and respawn timer don’t appear over the player’s head, and the player’s name is not flashing red.