Genvid Studio sample

Warning

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 sample 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 sample. For this example, we use two instances of the Tutorial sample composed in different ways.

You can switch the output from one of the tutorial instances to the other, as well as create a PIP (picture-in-picture) composition. In PIP mode, you can select either of the tutorial 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

Start a local cluster and set up the tutorial. After confirming it’s working, stop the services and do the following:

  • Go to Settings > Genvid Setting page to edit the system configuration if neccessary

  • If you are on a The Cloud Environment, load the images and then the configuration:

    py studio.py -c {clustername} upload-images --update-config
    py studio.py -c {clustername} load
    
  • If you are in a The Local Environment, you only need to load the configuration:

    py studio.py load
    

You can now go back in Cluster UI and see that a new job and a link (both named studio) were added to jobs page. You can now start streaming by clicking the Start All button.

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

Important

The audio stream is disabled by default. You can enable the audio stream in Genvid Setting. Navigate to Encode > Input and set Silent field to false. Do so before starting the Studio.

The Studio website

Warning

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.

Important

We added an ON AIR button to the Studio website in version 1.18.0. If your streaming service is configured something other than standalone, the broadcast won’t start when:

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

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

Starting a broadcast when streaming on YouTube or Twitch

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

Note

The ON AIR button will not affect standalone streaming broadcast.

Monitor

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 tutorial 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 “tutorial” on the Cluster-UI jobs page to start a second tutorial instance.

Tutorial 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.

Pip

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.

Dashboards

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

Dashboard

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 Edit button on the navigation bar when the dashboard is active. You can add, remove, move or resize the control panels.

  • To save the the layout modification to the dashboard, click the Save button.
  • To remove a dashboard, click the Delete button.
New Dashboard

Script reference

Studio sample script

usage: studio.py [-h] [--loglevel {DEBUG,INFO,WARNING,ERROR}]
                 [--logformat LOGFORMAT] [-c CLUSTER_ID]
                 {upload-images,env,load,unload} ...

Positional Arguments

command Possible choices: upload-images, env, load, unload

Named Arguments

--loglevel

Possible choices: DEBUG, INFO, WARNING, ERROR

Set the script log level

--logformat Set the script log format
-c, --cluster_id
 

The cluster id. If not set with the command line, uses the environment variable GENVID_CLUSTER_ID if it exists. Otherwise defaults to ‘local’

Default: “local”

Sub-commands:

upload-images

Upload studiod images to the cloud

studio.py upload-images [-h] [-v VERSION] [-b BUCKET] [-p PATH] [-u]
Named Arguments
-v, --version

The version to upload

Default: “1.22.0.114”

-b, --bucket Name of the bucket to use. Default is a combination of AWS account, bastion and cluster ids.
-p, --path

The path in the bucket (default: “/images/sdk-1.22.0.114”).

Default: “/images/sdk-1.22.0.114”

-u, --update-config
 

Upload configuration in the current cluster.

Default: False

env

Print environment variables

studio.py env [-h]

load

Load the specified target definition in the cloud

studio.py load [-h]

unload

Unload the specified target definition in the cloud

studio.py unload [-h]

Scenes

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. Select the configurations you want to save in this scene.
  4. 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.
  3. Select or deselect the configurations you want to save in this scene.
  4. Click CONFIRM CHANGES.
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. Select the configurations you want to save in this scene.
  5. 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

Note

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 immediately switch to a new scene or apply changes to the current broadcast stream.

If you select the Auto-Cut check box, the broadcast stream changes as soon as you select a different scene. When you make changes to the scene you’re currently broadcasting, the changes are applied as soon as you save them.

Auto-Cut on scene selection

Live Composition

Live Composition mode is like setting Auto-Cut globally. It works beyond the scope of scenes and sends changes you make directly to the stream without a CUT.

Enabling Live Composition affects the studio dashboard in several ways:

  • Only preset transitions will play when you switch between scenes. You can’t add or change transitions for a scene.
  • It enables the Auto-Cut feature and disables the check box. You can’t turn it off directly.
  • 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.