Genvid Forum

Genvid Technologies

Genvid SDK 1.19.3


#1

Welcome to Genvid Technologies SDK 1.19.3. This is a bug fix release. See the
previous release notes for more information on the 1.19.0, 1.19.1, and 1.19.2
releases.

Current functionalities

Here is a summary of our current functionalities. See below for the 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.
  • JavaScript SDK for embedded webpage.
  • Automatic synchronisation between video and game-data streams.
  • Multiple distributed sources of A/V and Data (still beta).
  • Live video editing and basic composition effects (still in beta).
  • RTMP Ingest server (still in beta).
  • Unity3D integration (Game and Management).
  • Unreal Engine integration (Game and Management).
  • REST API to control the services (still in beta).
  • Tools and scripts for managing your local and remote clusters,
    with example scripts for AWS.
  • Metrics feed (still in 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:

  • Remote management services for sharing 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 features exposed in our UI (including
    the plugins).
  • Offline data-stream recording and playback.
  • Offline broadcast-session editing.
  • SDK Manager to help handling multiple SDK installations.

Fixes in this version

  • [sdk] Fixed audio/video loss at 60 fps.
  • [sdk] Avoid stalling when there is missing or late input.
  • [sdk] Fixed missing stream id on annotations.
  • [studio] Missing frames at 1080p 60fps.
  • [streaming] Video getting stuck after ~5 minutes on Twitch.
  • [audio] Audio glitches can be heard when streaming on Twitch,
    Youtube or standalone.
  • [gvencode] Fixed a desynchronization problem while using ingest.
  • [terraform] Adjustement to cloud init script to fix issue where
    newly created Linux servers’ services would not be properly
    configured.
  • [cluster-api] Cluster API now reconnects automatically in case of
    Consul server change.

Known bugs

Audio/Video/Data desync when restarting the game while using Studio and

Ingest

While we will soon provide a permanent fix for this problem, here is a
workaround to avoid the desync: Start webcam FIRST so that it is affected to
source-0 in Studio, if the game crashes it will be able to restart as long as
the webcam feed is not stopped and remains in source-0 (usual delay sliders
adjustments must be made after the game restarted).

Twitch Extension Developer Rig not working

The Twitch Extension Developer Rig doesn’t provide any real player or video
stream to synchronize the data. For this reason, our web client isn’t able to
play back any data.

Studio in multi-user mode has limitations

The Studio interface can be used in multi-user mode. But we strongly advise
you not to touch to the same Studio widgets at the same time: you could lose
change in the process due to poor concurrent modification handling on our
side. In the future, we plan to add locking mechanics.

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 a 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 gvencode restart

If you stop and quickly restart the services, the YouTube streaming service
considers it 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

When using the WASAPI audio auto-capture mode, every sound going through the
machine’s default audio-device gets captured. This includes system alerts and
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. This yields some echo with
progressively worse sound quality since it is compressed every time it is
streamed.

You can disable audio in 2 ways:

  • Set settings.encode.input.silent to true in your
    configuration. (The default setting.)
  • Use our raw audio-capture, which is now the default setting in
    Unity.

Standalone player with Firefox

The readable streams must be enabled in Firefox for the standalone player to
work properly. You must set dom.streams.enabled and
javascript.options.streams preferences to true from the about:config
URL.

Auto-cut checkbox state is stored locally only

In Studio, the state of the auto-cut checkbox in Scene Widget is only stored
in local storage: Clearing the browser cache will also clear user input. Also,
if auto-cut is turned “on” before the Studio session ends, it will be set back
to “off” by default when you start the Studio session again.

Studio can not 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. Inputs from different
windows to one control is not recommended until we resolve the issue.

Unity 2018 Tutorial - Might Have Wrong Resolution

When using Unity 2018, you might have resolution problems upon launch. The
window of the stream might not have the desired resolution thus resulting in
an offset between the video stream and the UI. We currently have no workaround
for this but are investigating the issue. Please note that this issue does not
occur in Unity versions prior to 2018.

Annotations are not behaving as intended

A bug introduced in version 1.19.0 is causing unintended issues with how
annotations are working. These issues are:

  • Annotations must use their own Stream ID.
  • Only the last annotation of each frame is included.
  • On the web side, the last annotation is repeated on every call to
    OnDraw.

Until we resolve this bug, any use of annotations needs to account for these
limitations.

Iphones experience sync defects with the Youtube player

Spectators using Iphones may experience issues with video/data
synchronization. We are currently investigating the issue. Synchronization is
working well with Ipads and android terminals.

Studio monitor can’t display Source 0 and 1 feeds

Studio monitor view can’t display properly the video sources from source 0 and 1.
As a consequence, we decided to temporarily deactivate the related tabs in
the Studio monitor widget. This issue will be fixed in 1.20 and subsequent
releases.