RemoteGUI

The RemoteGUI sample is here to provide live, visual, and interactive information about your program. It is currently supported by GVEncode, Composed, and the SDK. For now, the user interaction is limited to closing and moving information rectangles, as well as toggling some config settings.

Encoding

The encoding service interface exposes feedback from various filters, each with such info as their respective time, latency, number of frames, etc.

RemoteGUI Encoding

Composition

The composition service interface exposes information about its stream bus such as the fps, as well as feedback about the sources connected to its frontend.

RemoteGUI composition

SDK

As of now, the SDK integration is focused on providing configuration information. You can find standard info there about the different streams (ID, framerate, granularity, etc.). A debug console is supplied with settings you can toggle. There are also sections for events and commands, although they are currently not active.

RemoteGUI sdk

Information

The information tab is found at the far right of the SDK tabs.

Information

It provides information on the streams as they are sent by the SDK.

Information1
Table 18 Audio and video output information
name description
FPS The number of frames per seconds.
Sent The number of frames that were sent.
Duplicated The number of extra frames that were sent to keep the expected rate up.
Missed The number of frames that were sent as missing due to lack of available data.
Input quality An indication of how well the data is submitted to the SDK.
The FPS value is computed as : FPS = (1 - (NumDuplicatedFrames / NumFrames)) * StreamFPS
The input quality value is computed as : FPS = 1 - ((NumDuplicatedFrames + NumMissedFrames) / NumFrames)

Usage

For local applications, you can simply load the sample to your cluster.

py remotegui.py load

For cloud clusters, you’ll need to build the docker image and upload it to your s3 bucket.

py remotegui.py build-cloud
py remotegui.py -c {clustername} upload-images --update-config
py remotegui.py -c {clustername} load

You will then have access to the following links: COMPOSITION GUI, ENCODING GUI, and SDK GUI.

If you want to add the RemoteGUI SDK integration to your game, simply open a port and service for it in your Nomad template. Nomad passes the allocated address to the C++ program via environment variables, so the port name has to be sdkgui for it to be recognized. The service name can vary as long as you match it in your link declaration. You can find examples by looking at the configs and templates of any of the cube samples.