1.30.0

Major Fixes and Changes

Improvements on genvid-azure-image create-images command

The command now deletes intermediate resources of type image and blob. Also a new argument named –keep-intermediate-resources was added to keep the intermediate resources for debugging purpose.

The command can now work with source and destination storage containers that have a private access level. This will work as long as the Azure CLI is logged in with a subscription that has access to the private container. The command will try to get an access key internally using the Azure CLI before accessing the blob container and use it if it worked.

Cluster settings

New Framerate Value in Cluster Settings

We added a framerate value to the cluster settings output section. It lets you define the framerate of the video stream sent to the streaming provider independently from the input framerate.

Documentation being updated for improved flow.

In preparation for some major changes coming to the SDK documentation, we’ve reduced the number of main sections and moved some content around. The updates in 1.30.0 reorganize the existing documentation into sections that better represent what they cover. In particular:

  • Information on updating installed samples is now in both the Samples and Release & Upgrade Notes sections.

  • The Introduction now includes information on the architecture of the Genvid SDK and how it works. (Formerly in Quick Tour, which we removed.)

  • Information about the various tools included in the Genvid SDK is now in the new “Genvid Tools Integrations” section. (Formerly found in both the Samples and Reference section.)

Minor Changes and Other Fixes

  • [documentation] Added information to the YouTube section about privacy options, latency options, and data cache relationship.

  • [documentation] Removed known issue for Firefox being out of sync with standalone player.

  • [documentation] Fixed an issue where the type of the genvid.compose-gameframes.framesize metric was incorrect.

  • [documentation] Added missing entries for genvid.gvencode-compose framereceivedfps and framesentfps were missing.

  • [documentation] Updated copyright information.

  • [documentation] Corrected links to the Python official documentation that didn’t point to Python 3.8.

  • [documentation] Updated doc folder hierarchy in preparation for major refactoring.

  • [sdk] Added information in GenvidSDKCSharp.cs about StatusFailed() responses.

  • [sdk] Fixed an issue where several frames are sent at the same time.

  • [sdk] Updated LICENSE in the installer to revised version 07/30/2021.

  • [sdk] Fixed a crash when the parameter key of Genvid_GetParameterPointer is null.

  • [unity-plugin] Replaced NewtonSoft.JSON dependencies with JsonUtility usage.

  • [toolbox] Added new PackageArchiver class in genvid.toolbox with an interface that is easier to use.

  • [toolbox] Deprecated DockerPackage in favor of DockerTool.update_image. See the Upgrade Notes for more information.

  • [toolbox] Deprecated PackageFactory in favor of PackageArchiver. See the Upgrade Notes for more information.

  • [toolbox] Fixed the checksum of the nats-windows archive. It’s no longer affected by the time of the download–only by the content of the archives.

  • [toolbox] Improved the genvid-sdk package command to always use a checksum based on the archive file’s name and content.

  • [toolbox] Deprecated the SDK.update_archive command in favor of the PackageArchiver.

  • [toolbox] Added support for environment variables VAULT_TOKEN_FILE and VAULT_KEYS_FILE by toolbox CLIs.

  • [toolbox] Added new method load_config_folder that replicates SDK.load_config without modifying the Consul configuration.

  • [toolbox] Improved reusability of load_nomad_template_job by moving it down to ProjectTool.

  • [toolbox] Improved RuntimeTool and SDK classes by derivating them from ProjectTool instead of ConsulTemplateTool.

  • [toolbox] Fixed an issue where the toolbox would not use the GENVID_DEFAULT_IP environment variable to set CONSUL_HTTP_ADDR for the services. This caused bastion-api to crash if CONSUL_HTTP_ADDR was not explicitly set along with GENVID_DEFAULT_IP.

  • [toolbox] ProjectTool.LOGS is deprecated. See the Upgrade Notes for more information.

  • [toolbox] Fixed the genvid-bastion log command that was returning an error for local services.

  • [toolbox] Added support for all registered logs in genvid-bastion log command.

  • [toolbox] Added ability to list all logs in genvid-sdk log and genvid-bastion log.

  • [toolbox] Deprecated BastionTool.SETUP_LOGS because it’s no longer used.

  • [toolbox] Fixed an issue where the chardet module dependency was missing.

  • [toolbox] Fixed an issue where the genvid-sdk commands also need to access Consul when GENVID_BASTION_URL is set.

  • [toolbox] Fixed the base URL for the Swagger UI when the swagger is used behind an SSL proxy.

  • [installer] Fixed the default installation folder and registry to match the actual product name. The installation folder is now called Genvid Technologies\\Genvid SDK X.Y.Z.W and the registry key is under SOFTWARE\\Genvid Technologies\\Genvid SDK X.Y.Z.W.

  • [composed] Fixed an issue where the program composition will not be remembered after restarting composeD.

  • [composed] Added a number of discarded RTMSP messages to logs and metrics when the stream bus is full and messages are discarded.

  • [composed] Added the ability to clear data frame and delayed A/V frame caches within Composed when its connection with GVEncode is no longer active.

  • [gvencode] Fixed an issue where audio can desynchronize when the composition is on and the game is restarted.

  • [gvencode] Fixed an issue where an ended source does not correctly destroy the decoder.

  • [gvencode] Fixed an issue where audio packets in the Sink filter would accumulate over a long streaming session.

  • [gvencode] Fixed an issue where duplicated video frames were not correctly reported in logs.

  • [gvencode] Fixed an audio/video desync that occurred when video frame compensations happen.

  • [gvencode] Fixed a resource leak when video compensation happens.

  • [samples] Improved local SSL management by using the SSL certificates generated from the toolbox.

  • [studio] Removed transitions from scenes. They are now global and applied to the next scene being cut.

  • [studio] Added automatic reconnection of monitor to the stream when gvencode is down.

  • [ingest] Fixed an issue where the Ingest job would be restarted when the composeD job is restarted.

  • [remotegui] Fixed an issue where RemoteGUI was not showing the duplicated frames.

  • [loadtester] Corrected documentation where loadtest was used as a prefix instead of loadtester.

  • [metrics] Corrected missing text in some metrics tags stating that the value diaplayed is the stream type.

  • [genvid-ami] Updated game machines to use Python 3.8.6 and PIP 21.1.

  • [aws] Added the modify-permissions and describe-permissions commands to genvid-ami. See the Managing the AMI section for more information.

  • [aws] Added the ability to set the AMI owner(s) on both the game and server AMI for all our sample clusters. See our documentation and the Upgrade Notes for more information.

  • [nats] Upgraded nats-server on Windows and Linux from 2.0.4 to 2.2.6.

  • [tick] Upgraded the apps used with the Tick Sample to their latest versions. The Chronograf dashboards were updated accordingly.

  • [cluster-api] Fixed an issue where when logs for a service were not available–we were returning a 500 status code instead of a 404 not found.

  • [gvencode, ingest] Fixed an issue where consecutive start/stop of OBS with a different video mode results in displaying a black frame.

  • [sdk, composed, gvencode] Improved Genvid clock accuracy by using a monotonic clock.

  • [web sample] Improved design by only displaying overlay if the video player is ready.

  • [web sample] Improved visibility of the output framerate option by adding it in the web sample.