The Genvid SDK allows developers to easily add video capture and streaming capability to their existing game spectating client application. That spectating client is then deployed to a cloud infrastructure (AWS, Azure, GCE, Softlayer, etc.) alongside our Genvid Cluster which handles the communication between the cloud and the custom website.

Audio and video data get sent to a livestreaming service (YouTube Gaming, Twitch, Mixer, etc.), while the game data and events are delivered through our Genvid Cluster. An HTML overlay allows developers to both leverage the streaming service’s own web video player (receiving the audio and video streams) while also displaying extra game-specific information (received through a JavaScript API).

Basic data flow

Fig. 1 Basic data flow

What Genvid Provides

Genvid provides an easy to use SDK, with a C interface, which can be used to automatically capture your game content (audio and video), encode it properly (e.g. H264), and to stream it to a service (e.g. YouTube). It also provides routines to send additional game data to spectators (e.g. scores, player profiles, chances of success, etc.), as well as hooks to receive commands coming from them.

Because spectator clients are deployed to the cloud, we provide a comprehensive set of tools that will help developers deploy, monitor, and control games running in a cloud infrastructure (e.g. AWS) as well as the machine images to run the Genvid Services on the cloud.

Genvid also provides a JavaScript API as well as some HTML5 templates to help developers create the best possible interactive video streaming experience.

We also offer a custom tailored service to answer particular needs developers might have with any of the previously-mentioned elements.

What Developers Provide

Developers need to have a spectating client, i.e., a version of their client they can use to observe a game in progress without requiring it to be one of the active players. This allows full flexibility of what video feed is streaming without affecting the players currently in the game.

Developers need to decide what features they want to expose. It can be as simple as a few gameplay statistics, like current player score, or as complex as an intricate viewer participation mechanism that enhances the experience of both players and viewers alike.

Once the features are decided, developers need to spend the necessary efforts in order to integrate the Genvid SDK into their engine as well as work on a customized website where the extra game information will be received and displayed (and potentially triggered, in viewer participation scenarios).

It is also the responsibility of the developers to provide the servers for running the Genvid Cluster as well as hosting the game client in the same Virtual Private Cloud.