Skip to content

Overview

HTTP API is the most direct way to configure and manage a Smelter server. This section will highlight the base element that you need to be familiar to leverage this API.

Routes

List of all HTTP routes can be found here.

Events

Smelter can deliver events in response to certain state changes. To receive them you need to establish WebSocket connection to this endpoint.

See events page to learn more.

Components

Components are a fundamental building blocks for configuring video composition. Some of them represent final elements that will be rendered on an output stream, and some are just a way to define a layout for their child components.

A scene is a component tree assigned to a specific Smelter output. It starts with a root component and includes are its children (both direct and indirect). Scene can be defined when:

  • registering a new output - request
  • updating a scene of existing output - request

Smelter supports following components:

Inputs

Inputs are a way of connecting external video and audio sources. They can consume media from static files, streams or connected devices. To use an input you need to register it first with a input register request. After registration, you can use InputStream component in the scene definition to include it in the composed output.

Outputs

Similar to inputs, outputs require registering them before they can be utilized. You can register an output by using output register request. Part of the register requests are fields video.initial and audio.initial that describe starting scene that can be latter updated with output update request

Resources

Other than inputs and outputs, Smelter supports a few other types of entities that also need to be registered.