Genvid Studio Service


The Genvid Studio and Composition feature is provided as a preview. The elements presented here will likely change in the future. The current version is only supported in Google Chrome.

The Studio service exposes the composition feature of the Genvid stack through a web interface. It can be used with either two instances of a game or with the Genvid Ingest. For this example, we use two instances of the DirectX Cube Sample Integration sample composed in different ways.

You can switch the output from one of the DirectX instances to the other, as well as create a PIP (picture-in-picture) composition. In PIP mode, you can select either of the cube samples as the inputs for the background picture or the PIP window. You can specify transitions between the two, as well as the window position.

Cluster Configuration

  1. Start a local cluster.
  2. Set up the DirectX sample.

Studio, Studio Monitor, and the composition feature are enabled by default. They will start with the other services when clicking on the Start All button.

Once the Studio link is enabled, click it to access the Studio page.


The audio stream is disabled by default. If you want to enable it, you need to do so before you start the Studio service.

You can enable the audio stream in Genvid Settings. Navigate to Encode > Input and set Silent field to false.

Disabling Studio Service

  • If the jobs are running click on the Stop All button.
  • Go to Settings > Genvid Settings page.
  • Disable the Studio service, composition functions, and Monitor.
studio service
composition options

You can also load your own HashiCorp configuration file with the following commands:

  • For a local cluster:

    genvid-sdk load-config myhclfile.hcl
  • For a cloud cluster:

    genvid-sdk -c $mycluster load-config myhclfile.hcl

Here is an example of configuration:

version = "1.7.0"

settings {
   services {
      studio {
         enable = false
   encode {
      composition {
         enabled = false
         has_monitor = false
  • Restart the jobs by clicking the Start All button.

The Studio Website


This version of the Studio website only works on Google Chrome. It is only available as a preview and the interface will likely change in the future.

Starting a broadcast when streaming on YouTube or Twitch


If your streaming service is configured to standalone, the ON AIR button will not affect the broadcast.

If your streaming service is configured for other OVP, the broadcast will automatically start when:

If your streaming service is configured for other OVP, the broadcast won’t start when:

  • Genvid Setting broadcast/enable is set to false, and
  • The ON AIR button is off.

To start a broadcast, click on the ON AIR button in the bottom left corner of Studio-UI. The broadcast will start some time later depending on the latency generated by the streaming service of your choice (e.g. YouTube or Twitch).

ON AIR button


The top of the Composition page is the monitor screen. It displays four different areas:

  1. The top left (preview) is the current Composition settings view.
  2. The top right (program) is the current broadcast output.
  3. The bottom left is the first input.
  4. The bottom right is the second input.

We only started one DirectX instance, so there is only one input active.

Monitor Screen

Composition Editing

There are controls for modifying the composition. You can go to the individual page of a control, or use the dashboard to have all the controls at once.

Composition Controls

Example - How to Switch Video Source

Click the green arrow next to “directx” on the Cluster-UI jobs page to start a second DirectX instance.

directx Count

We now have two active inputs.

Dual Inputs

Select Source 1 as the active input in the Source of the Video Mixer.

Select Source 1

Source 1 shows in the preview area, while Source 0 still broadcasts.

Source1 Selected

Click Cut in the bottom right corner of Studio-UI to switch the streaming to Source 1.

Click Cut

Source 1 is now broadcasting.

Source1 Broadcast

Example - How to Activate PIP

Select Picture-in-Picture in the Layout dropdown list of the Video Mixer.

Select Pip

Source 0 now shows in the PIP window, while Source 1 is the background image.


Click Cut in the Transition section of Compose to switch the streaming to the PIP composition.

Click Cut

The PIP composition is now broadcasting.

Pip Broadcasted

You can now experiment with the other settings.


When using the Chroma Key Filter, we recommend using a c5.4xlarge or better for the encoding machine. Less powerful instances may force the system to accumulate some frames in memory, leading to out-of-memory conditions.

The number of accumulated frames depends on many factors like encoding parameters, source and destination FPS, complexity of the source images content, etc. For more information on monitoring the memory usage of GVEncode, see the Hashicorp documentation.


A dashboard is a customized layout of all control panels. You can create dashboard and modify them.


Create a Dashboard

To create a dashboard, go to the Dashboards menu and click New Dashboard. You will go to a page where you can create a dashboard. Enter an ID and click Create.

New Dashboard

Edit a Dashboard

To edit a dashboard, click the Edit button on the navigation bar when the dashboard is active. You can add, remove, move or resize the control panels.

  • Click the control panel name that you wish to activate.
  • To remove a control panel, click the red X in the upper right window of the control panel.
  • Menu items corresponding to control panels already on the dashboard are disabled.
  • To save the the layout modification to the dashboard, click the Save button.
  • To remove a dashboard, click the Delete button.
New Dashboard

Source Settings

Use the Source Settings component to select the format in which you want to receive the RTMSP feed. To edit the Source Settings, click the pen icon located in the top right corner of the Source component.

Source Settings


Determine the width and height of the RTMSP source.

Mute Audio

Check this box to silence the source audio. Use this when developing in a local environment so you don’t get a feedback loop.

Stamp Timecode

Check this box to burn the timestamp on the source image. The source timecode will appear on the bottom right corner. Use this to validate synchronization.

Monitor Settings

Use the Monitor Settings component to select the format in which you want to see a preview of your broadcast. To edit the Monitor Settings, click the pen icon located in the the top right corner of the Monitor component.

Monitor Settings

Enable Composition

Uncheck this box to restrict the input source to a single stream.

Show Monitor

Check this box to display video on the preview monitor. Usually, this should be enabled.


Determine the width and height of the image of the preview monitor.

Audio and Video Bitrate

Set the video and audio bitrate of the preview monitor, in bits per second.

Broadcast Settings

Use the Broadcast Settings component to configure the desired output for your broadcast session.

Broadcast Settings - Provider component - Standalone Broadcast Settings - Provider component - Youtube

The following fields are available. Note that in Standalone mode, only the fields marked with an asterisk are required.

Once you are done, make sure to restart the services to apply your changes.


Choose your Online Video Platform (OVP). To develop and test in your local environment, select Standalone.


Give a relevant name to your MILE. This name will be displayed on the OVP.


Add a meaningful description that will be compelling to your audience. This description will be displayed on the OVP.


This feature is not yet available.

Stream Key

Enter the stream key provided by your OVP. For more information, see:

Channel (For Twitch)

Enter your Twitch Channel name. For more information, see the Twitch Setup instructions.

Video ID (For YouTube)

Enter your YouTube video ID. For more information, see the YouTube Setup instructions.

Ingest Address

Enter the address of the streaming server. It typically starts with “rtmp(s)://”.


Choose one of the following settings:

  • 1080p/30 fps
  • 720p/30 fps
  • 1080p/60 fps
  • 720p/60 fps
  • Custom

Settings for the recommended output of each platform are automatically configured. Depending on your selection, the video and audio bitrate will also be adjusted.

For more information about recommended settings, see:


Resolutions of 720p and 1080p are supported.


Frame rates of 30 fps and 60 fps are supported.

Video and Audio Bitrate

The video and audio bitrate are automatically set to the broadcasting guidelines of the OVP you chose.

Delay Offset

Enter the number of seconds of delay you want to add to the game data, relative to the video timecode. Use this to synchronize streams when you know the OVP has a systematic delay over your video stream.

Stamp Timecode

Check this box to burn the timecode on the image. The output timecode will appear on the upper left corner.

Use this to validate synchronization.

Initial Data Cache

Set the number of seconds of the data stream to store in the memory cache.

The initial data cache covers for any latency, so make sure your minimum is set to at least the value of your OVP’s latency. The Web SDK uses this buffer upon connection to ensure data is available instantly to the participant.

See your OVP’s documentation for more information on how to find its latency value.

If your minimum cache-value (Min) is lower than the latency, the participant might experience a delay in which the data isn’t displayed immediately when they connect to the stream.

Determine how frequently you want to bring the cache back to its minimum value by setting the maximum cache-value (Max). For example, if you choose a minimum of 15 seconds and a maximum of 25 seconds, every time the cache accumulates 25 seconds of data it will drop the oldest 10 seconds to get back to its initial size of 15 seconds. It will then accrue data again until it reaches 25 seconds, and repeat this process over and over.

That being said, you might worry about keeping too much data in your cache, which would increase memory usage needlessly. But with your maximum set to 25 seconds, a full day of streaming will never cause a usage overhead of more than 25 seconds. Overhead numbers like this generally won’t significantly increase your costs.


Check with your hosting provider to verify what constitutes an overage for your product.

By default, the Genvid Settings match the latency values of your chosen OVP. For example, we use the ultralow latency values for YouTube. You can adjust these values directly if you require a different setting for your OVP.


A scene is the arrangement of a composition set for a specific purpose. You can create different scenes that have different compositions and switch between them.

Default scene

Studio automatically creates a scene with the default configuration when you open a new dashboard. You can click the Edit button to modify the name or composition arrangement. The Delete button is disabled whenever there is only one scene in the list.

Default Scene

Create a Scene

To create a new scene with the current composition arrangement:

  1. Click + New Scene on the Scene panel. This opens the Add New Scene dialog box.
  2. Enter a name for the scene.
  3. Click ADD.
Create a scene

View/Edit a Scene

To view or edit one of your scenes:

  1. Click on the crayon icon on the scene you want to edit. This opens the Edit Scene dialog box.
  2. If you wish so, you can modify the name of the scene. If a name is already taken, the CONFIRM CHANGES button will turn gray and you won’t be able to save it.
Edit a scene
Edit a scene

Duplicate a Scene

To configure a new scene that’s based on an existing scene:

  1. Select the existing scene you want to duplicate.
  2. Click + New Scene on the Scene panel.
  3. Enter a different name for the scene.
  4. Click ADD.

This will duplicate the composition arrangement from the existing scene and you can then modify from there.

Modify a Scene

To modify an existing scene:

  1. Select the scene you want to change.
  2. Change the control values as needed.

Changing the scene composition causes the Reset and Save buttons to appear. Click Save to save the changes or Reset to undo them.

Modify a scene


If the scene you’re modifying is the current broadcast stream (with a blue dot by its name), the changes won’t automatically be applied to the broadcast unless Auto-Cut is enabled. If it isn’t, click CUT to apply changes to the stream.

Delete a scene

You can click the Delete button next to any scene to delete it. However, you must have at least one scene, so we disable the Delete button for the last remaining scene.

Delete button enabled
Delete button disabled

Switch between the Scenes

To switch to another scene:

  1. Select the scene you want to broadcast.
  2. Click CUT.

A blue dot appears next to the name of the scene, indicating that the current broadcast stream is using that scene.

Switch between scenes

Auto-Cut on Scene Selection

The Auto-Cut feature lets you switch immediately to a new scene when you enable it, without having to click CUT.

To change the broadcast stream automatically when you choose a different scene, select the Auto-Cut checkbox. If you make changes to the current scene, they are saved and broadcast as soon as you save the scene.

Auto-Cut on scene selection

The Auto-Cut checkbox is cleared by default.


The state of the Auto-Cut checkbox is stored on the client side. If you stop and restart Studio or clear the browser cache, it will reset to the default cleared state.

Live Composition

Live Composition mode is like setting Auto-Cut globally. Any changes made on the scene, audio-mixer and video-mixer components will be automatically sent to the stream without a CUT.

Enabling Live Composition affects the studio dashboard in two ways:

  1. It enables the Auto-Cut feature and disables the check box. You can’t turn it off directly.
  2. The Status panel shows Live Composition Mode: Enabled and adds a Disable button.
Live composition enabled

Enable Live Composition

To enable Live Composition mode:

  1. Click the three-dot button beside the CUT button.

    Enable Live Composition Mode

    A warning dialogue appears which explains what Live Composition mode does.

  2. Click YES to enable Live Composition.

    Confirm Live Composition Mode

Disable Live Composition

To disable Live Composition mode, click Disable in the Status panel.