Cluster API Settings

Cluster API documentation for settings

Settings

GET /settings/default

Get the default settings

Response JSON Object:
 
  • info.name (string) – The name of the stream.
  • info.game (string) – The game being played.
  • info.description (string) – A description of the stream.
  • ntp.server (string) – Host name for the NTP server. We recommend using the 169.254.169.123 server for AWS.
  • ntp.polling (integer) – Interval between two synchronizations.
  • encode.stream.service (string) – The live streaming service type.
  • encode.stream.addr (string) – The address of the live streaming server receiving the video stream (typically, an RTMP URL).
  • encode.stream.channel (string) – The user-specific channel identifier.
  • encode.stream.key (string) – The user-specific streaming key to allow pushing data to ‘addr’.
  • encode.stream.delayoffset (string) – An optional delay allowing to offset the video stream with regard to the game stream.
  • encode.stream.extradelay (number) – An optional delay allowing to offset the broadcast for the standalone player.
  • encode.input.width (integer) – The width, in pixels, of a game frame.
  • encode.input.height (integer) – The height, in pixels, of a game frame.
  • encode.input.silent (boolean) – Disables the audio stream.
  • encode.input.stamp_timecode (boolean) – Activates stamping the game timecode in every frame (bottom right corner).
  • encode.output.framerate (integer) – The frame per second of the final video.
  • encode.output.width (integer) – The width, in pixels, of the final video.
  • encode.output.height (integer) – The height, in pixels, of the final video.
  • encode.output.abitrate (integer) – The audio bitrate to use for the final video.
  • encode.output.vbitrate (integer) – The video bitrate to use for the final video.
  • encode.output.stamp_timecode (boolean) – Activates stamping the video timecode in the final video stream (top left corner).
  • encode.composition.enabled (boolean) – Enable composition functions
  • encode.composition.has_monitor (boolean) – The monitor screen is in the composition panel
  • encode.composition.width (integer) – The width, in pixels, of the monitor video.
  • encode.composition.height (integer) – The height, in pixels, of the monitor video.
  • encode.composition.abitrate (integer) – The audio bitrate to use for the monitor.
  • encode.composition.vbitrate (integer) – The video bitrate to use for the monitor.
  • dataStreams.minimumDataCacheAge (integer) – The minimal age (in seconds) of the data cached for initialization. Any data younger than this age will be kept.
  • dataStreams.maximumDataCacheAge (integer) – When new data arrived, any data older than this setting (in seconds) will be culled from the cache.
  • services.leaf.compression (boolean) – If the compression is active or not
  • services.leaf.bufferSize (integer) – The web socket read and write buffer size
  • services.leaf.maxConnections (integer) – Maximum number of concurrent connections per leafd service.
  • services.leaf.websocketURLSuffix (string) – The leaf’s websocket endpoint.
  • services.studio.enable (boolean) – Start the studio service. If false, the studio service will not start.
  • broadcast.enable (boolean) – Start the stream in on-air mode. This setting doesn’t affect the standalone mode. If false, the stream will not be sent immediately and you will need to go in Studio to activate it. See Starting a broadcast when streaming on YouTube or Twitch for more details.

Example response:

{
  "broadcast": {
    "enable": true
  },
  "dataStreams": {
    "maximumDataCacheAge": 35,
    "minimumDataCacheAge": 30
  },
  "encode": {
    "composition": {
      "abitrate": 128000,
      "enabled": false,
      "has_monitor": false,
      "height": 720,
      "vbitrate": 2500000,
      "width": 1280
    },
    "input": {
      "height": 720,
      "silent": true,
      "stamp_timecode": false,
      "width": 1280
    },
    "output": {
      "abitrate": 128000,
      "height": 720,
      "stamp_timecode": false,
      "vbitrate": 2500000,
      "width": 1280
    },
    "stream": {
      "addr": "",
      "channel": "",
      "delayoffset": "0ms",
      "extradelay": 10,
      "key": "",
      "service": "standalone"
    }
  },
  "info": {
    "description": "Sample to demonstrate genvid",
    "game": "Tutorial",
    "name": "Tutorial Sample"
  },
  "ntp": {
    "polling": 300,
    "server": "pool.ntp.org"
  },
  "services": {
    "leaf": {
      "bufferSize": 4096,
      "compression": false,
      "maxConnections": 500
    }
  }
}
GET /settings

Get the settings

Response JSON Object:
 
  • info.name (string) – The name of the stream.
  • info.game (string) – The game being played.
  • info.description (string) – A description of the stream.
  • ntp.server (string) – Host name for the NTP server. We recommend using the 169.254.169.123 server for AWS.
  • ntp.polling (integer) – Interval between two synchronizations.
  • encode.stream.service (string) – The live streaming service type.
  • encode.stream.addr (string) – The address of the live streaming server receiving the video stream (typically, an RTMP URL).
  • encode.stream.channel (string) – The user-specific channel identifier.
  • encode.stream.key (string) – The user-specific streaming key to allow pushing data to ‘addr’.
  • encode.stream.delayoffset (string) – An optional delay allowing to offset the video stream with regard to the game stream.
  • encode.stream.extradelay (number) – An optional delay allowing to offset the broadcast for the standalone player.
  • encode.input.width (integer) – The width, in pixels, of a game frame.
  • encode.input.height (integer) – The height, in pixels, of a game frame.
  • encode.input.silent (boolean) – Disables the audio stream.
  • encode.input.stamp_timecode (boolean) – Activates stamping the game timecode in every frame (bottom right corner).
  • encode.output.framerate (integer) – The frame per second of the final video.
  • encode.output.width (integer) – The width, in pixels, of the final video.
  • encode.output.height (integer) – The height, in pixels, of the final video.
  • encode.output.abitrate (integer) – The audio bitrate to use for the final video.
  • encode.output.vbitrate (integer) – The video bitrate to use for the final video.
  • encode.output.stamp_timecode (boolean) – Activates stamping the video timecode in the final video stream (top left corner).
  • encode.composition.enabled (boolean) – Enable composition functions
  • encode.composition.has_monitor (boolean) – The monitor screen is in the composition panel
  • encode.composition.width (integer) – The width, in pixels, of the monitor video.
  • encode.composition.height (integer) – The height, in pixels, of the monitor video.
  • encode.composition.abitrate (integer) – The audio bitrate to use for the monitor.
  • encode.composition.vbitrate (integer) – The video bitrate to use for the monitor.
  • dataStreams.minimumDataCacheAge (integer) – The minimal age (in seconds) of the data cached for initialization. Any data younger than this age will be kept.
  • dataStreams.maximumDataCacheAge (integer) – When new data arrived, any data older than this setting (in seconds) will be culled from the cache.
  • services.leaf.compression (boolean) – If the compression is active or not
  • services.leaf.bufferSize (integer) – The web socket read and write buffer size
  • services.leaf.maxConnections (integer) – Maximum number of concurrent connections per leafd service.
  • services.leaf.websocketURLSuffix (string) – The leaf’s websocket endpoint.
  • services.studio.enable (boolean) – Start the studio service. If false, the studio service will not start.
  • broadcast.enable (boolean) – Start the stream in on-air mode. This setting doesn’t affect the standalone mode. If false, the stream will not be sent immediately and you will need to go in Studio to activate it. See Starting a broadcast when streaming on YouTube or Twitch for more details.

Example response:

{
  "broadcast": {
    "enable": true
  },
  "dataStreams": {
    "maximumDataCacheAge": 35,
    "minimumDataCacheAge": 30
  },
  "encode": {
    "composition": {
      "abitrate": 128000,
      "enabled": false,
      "has_monitor": false,
      "height": 720,
      "vbitrate": 2500000,
      "width": 1280
    },
    "input": {
      "height": 720,
      "silent": true,
      "stamp_timecode": false,
      "width": 1280
    },
    "output": {
      "abitrate": 128000,
      "height": 720,
      "stamp_timecode": false,
      "vbitrate": 2500000,
      "width": 1280
    },
    "stream": {
      "addr": "",
      "channel": "",
      "delayoffset": "0ms",
      "extradelay": 10,
      "key": "",
      "service": "standalone"
    }
  },
  "info": {
    "description": "Sample to demonstrate genvid",
    "game": "Tutorial",
    "name": "Tutorial Sample"
  },
  "ntp": {
    "polling": 300,
    "server": "pool.ntp.org"
  },
  "services": {
    "leaf": {
      "bufferSize": 4096,
      "compression": false,
      "maxConnections": 500
    }
  }
}
POST /settings

Validate and set the settings. Any missing values is replaced by the default values. If the job services is running the server will return a status 500.

Request JSON Object:
 
  • info.name (string) – The name of the stream.
  • info.game (string) – The game being played.
  • info.description (string) – A description of the stream.
  • ntp.server (string) – Host name for the NTP server. We recommend using the 169.254.169.123 server for AWS.
  • ntp.polling (integer) – Interval between two synchronizations.
  • encode.stream.service (string) – The live streaming service type.
  • encode.stream.addr (string) – The address of the live streaming server receiving the video stream (typically, an RTMP URL).
  • encode.stream.channel (string) – The user-specific channel identifier.
  • encode.stream.key (string) – The user-specific streaming key to allow pushing data to ‘addr’.
  • encode.stream.delayoffset (string) – An optional delay allowing to offset the video stream with regard to the game stream.
  • encode.stream.extradelay (number) – An optional delay allowing to offset the broadcast for the standalone player.
  • encode.input.width (integer) – The width, in pixels, of a game frame.
  • encode.input.height (integer) – The height, in pixels, of a game frame.
  • encode.input.silent (boolean) – Disables the audio stream.
  • encode.input.stamp_timecode (boolean) – Activates stamping the game timecode in every frame (bottom right corner).
  • encode.output.framerate (integer) – The frame per second of the final video.
  • encode.output.width (integer) – The width, in pixels, of the final video.
  • encode.output.height (integer) – The height, in pixels, of the final video.
  • encode.output.abitrate (integer) – The audio bitrate to use for the final video.
  • encode.output.vbitrate (integer) – The video bitrate to use for the final video.
  • encode.output.stamp_timecode (boolean) – Activates stamping the video timecode in the final video stream (top left corner).
  • encode.composition.enabled (boolean) – Enable composition functions
  • encode.composition.has_monitor (boolean) – The monitor screen is in the composition panel
  • encode.composition.width (integer) – The width, in pixels, of the monitor video.
  • encode.composition.height (integer) – The height, in pixels, of the monitor video.
  • encode.composition.abitrate (integer) – The audio bitrate to use for the monitor.
  • encode.composition.vbitrate (integer) – The video bitrate to use for the monitor.
  • dataStreams.minimumDataCacheAge (integer) – The minimal age (in seconds) of the data cached for initialization. Any data younger than this age will be kept.
  • dataStreams.maximumDataCacheAge (integer) – When new data arrived, any data older than this setting (in seconds) will be culled from the cache.
  • services.leaf.compression (boolean) – If the compression is active or not
  • services.leaf.bufferSize (integer) – The web socket read and write buffer size
  • services.leaf.maxConnections (integer) – Maximum number of concurrent connections per leafd service.
  • services.leaf.websocketURLSuffix (string) – The leaf’s websocket endpoint.
  • services.studio.enable (boolean) – Start the studio service. If false, the studio service will not start.
  • broadcast.enable (boolean) – Start the stream in on-air mode. This setting doesn’t affect the standalone mode. If false, the stream will not be sent immediately and you will need to go in Studio to activate it. See Starting a broadcast when streaming on YouTube or Twitch for more details.

Example query:

{
  "broadcast": {
    "enable": true
  },
  "dataStreams": {
    "maximumDataCacheAge": 35,
    "minimumDataCacheAge": 30
  },
  "encode": {
    "composition": {
      "abitrate": 128000,
      "enabled": false,
      "has_monitor": false,
      "height": 720,
      "vbitrate": 2500000,
      "width": 1280
    },
    "input": {
      "height": 720,
      "silent": true,
      "stamp_timecode": false,
      "width": 1280
    },
    "output": {
      "abitrate": 128000,
      "height": 720,
      "stamp_timecode": false,
      "vbitrate": 2500000,
      "width": 1280
    },
    "stream": {
      "addr": "",
      "channel": "",
      "delayoffset": "0ms",
      "extradelay": 10,
      "key": "",
      "service": "standalone"
    }
  },
  "info": {
    "description": "Sample to demonstrate genvid",
    "game": "Tutorial",
    "name": "Tutorial Sample"
  },
  "ntp": {
    "polling": 300,
    "server": "pool.ntp.org"
  },
  "services": {
    "leaf": {
      "bufferSize": 4096,
      "compression": false,
      "maxConnections": 500
    }
  }
}
GET /settings/schema

This schema is used to validate the settings.

Changed in version 1.26.0: New API for future extensions.