Genvid SDK 1.10.0¶
Welcome to Genvid SDK 1.10.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 at email@example.com if you’re planning a production deployment.
We are still committed to a regular pace for our releases until we get all the features done for a comfortable production deployment. We always work to ensure a smooth upgrade between releases and provide as much backward-compatibility support as possible. Please contact us if you have any issues.
This is a summary of our current functionalities. See below for a detailed list of new features in this release.
- Windows C++ API with a C# wrapper.
- D3D11 or raw frame video capture.
- WASAPI audio capture.
- Video encoding. (H264 + AAC)
- Video streaming to YouTube.
- Multiple audiovisual and data streams coming from multiple instances.
- Streaming additional arbitrary game events and notifications.
- Scalable event-messaging system.
- Automatic synchronisation between video- and game-data streams.
- Multiple distributed sources for A/V and Data. (Beta)
- Live video editing and basic composition effects. (Beta)
- RTMP Ingest server. (Beta)
- Unity3D integration. (Game and Management)
- Unreal Engine integration. (Game and Management)
- REST API to control the services. (Beta)
- Tools and scripts for managing local and remote clusters. (Includes example scripts for AWS.)
- Metrics feed. (Beta)
- Load-testing library.
- Extensive documentation.
- Multiple integration samples.
More to come¶
Additionally, we are working on a full new feature pipeline to be released as soon as each is ready:
- A remote management service to share your clusters with others.
- SSL support for external APIs.
- ACL support on Management APIs.
- Hardware encoding.
- Instant replay.
- Better cluster-configuration management.
- Many more improvements and feature explanations in our UI. (Including plugins.)
- Offline data-stream recording and playback.
- Offline broadcast session editing.
Major changes in this version¶
Studio now supports synchronisation between multiple windows¶
You can now open multiple windows of our Studio application, giving you control of your stream from multiple devices.
New composition module: Chroma Key Filter¶
We added a new filter to our composition toolbox: The Chroma Key Filter–better known as the green-screen special effect. Integrate yourself or any other video directly into the scene with this new component.
Direct sound capture with integration in the Unity plugin¶
We added the ability to submit sound directly into the SDK instead of using auto-capture on the speaker device. This feature avoids the previous problem of external sounds being included in your stream. We already use it as our default setup in our Unity3D sample. Expect other integrations to come soon.
Unreal Engine Viewport capture¶
We added the ability to capture from any
UTexture in Unreal Engine.
This new feature has better support for streaming from the different Play Modes
(PIE, Standalone, and Simulate) and also lets you select what is currently
streaming while preserving the full display on screen.
More cluster settings management in Cluster-UI¶
We added the ability to manage your job and log definitions directly from the UI.
New APIs for easier cluster configuration¶
We added a number of improvements to our Bastion API.
You can now configure your remote storage backend for Terraform easily by choosing from the multiple configurations already available with Terraform.
We also now support managing Terraform modules from many remote source, like a web server, S3 buckets, or source-code management websites like GitHub or Bitbucket.
You can manage new modules either via script or directly from the UI.
New bug-reporting tool¶
We added a new bug-reporting tool which lets you capture the most important logs and settings from your installation. This is an early version of the tool and we hope it improves our ability to help you when problems arise.
Minor changes and other fixes¶
- [bastion-api] Enforce cluster states on cluster deletion and add a force option to override.
- [genvid-bastion] Cleaner management of the bastion using the new install and uninstall commands.
- [unity] Add support for Unity3D version 2017.02 in our Unity3D sample.
- [studio] The 404 (page is not found) error on the Studio link in the job browser page is fixed.
- [sdk] A rarely occuring bug where the video would go back to a previous frame before continuing with the right frame sequence has been fixed.
- [sdk] A rarely occuring bug where the frame grabber would allocate frames without limit when the game window is minimised has been fixed.
- [genvid-ami] An error during genvid-ami setup could forbid restarting the setup. We now try to recover where we were left off.
- [bastion-api] Add new log URL to retrieve a single log:
- [genvid-sdk] Allow image uploading to a custom bucket. The script is also more intelligent about only uploading images that require it.
- [standalone-player] Better performance for the standalone player with Firefox.
- [ue4 plugins] Fixed some troubles with the interface refresh when trying to make some modifications to the settings.
- [engine plugins] Improvements made to the cluster-management interface.
- [cluster-api] Fixed a bug that caused small log files to stall when retrieved.
- [compose] Fixed a crash in compose when accessing Consul settings.
We weren’t able to fix some bugs in time for this release, but we intend to fix them shortly.
Compose window isn’t available if behind a proxy¶
Future versions of Bastion will have a remote server to allow access from different machines. The current version has limited support for this and is likely to encounter some problems if the Bastion host lives behind a cluster firewall (like on a Amazon EC2 machine). The workaround is creating VPN connections to the Bastion machine so that the local IP of the machine is accessible from the client machine.
The application doesn’t work properly after Windows comes back from sleep¶
Nomad has some difficulties with sleeping jobs, including itself. This
is unlikely to get fixed in Nomad, but shouldn’t happen in production
environment. The best workaround at present is to not
allow Windows to go to sleep when you are running the service, or simply
to restart the service with a
genvid-bastion reinstall (unfortunately,
genvid-bastion restart is not sufficient).
The YouTube stream isn’t properly reset after a restart of gvencode¶
If the services are stopped and restarted shortly thereafter, the YouTube streaming service will consider it as part of the same streaming session. Although this may be desirable most of the time, this could lead to showing up as the previous session due to the long latency between the services and the actual view which can create some delay in the stream. A future version will provide a proper way to request a new stream. Until then, you can either reset your stream key from the YouTube dashboard or simply wait a little longer (about 5 minutes should be enough) before restarting the service.
Audio captures microphone or infinitely loops¶
Since we capture audio with a loopback device, every sound going
through the machine running the game will get captured. This includes
system alerts, microphone input, as well as your web browser. When
test-viewing your game stream using the same local machine running the
game, the game will also capture its own audio stream with ~10s of
latency, yielding some echo with progressively worse sound quality
(since it is compressed every time it is streamed). The recommended
workaround is to disable audio altogether
genvid.encode.input.silent = true in your configuration, which is
the default), or to use a separate machine to observe the website.
These issues don’t occur when the game is deployed in a cloud
Service cannot discover the statsd service¶
Unless you are using the
GENVID_STATSD_URL variable, the statsd service
must be available before starting it. This is an oversight on our side and
will be fixed in the next version.
Game capture doesn’t recover from being run in background¶
There is a bug when the game recovers from very high numbers of
Genvid_SubmitVideoData resulting in the tutorial sample being sent
in the background (either by minimizing the window or the screensaver
starting). The capture data will show out-of-order captured frames in
the playback. The bug shouldn’t happen on a correctly configured