Storm docs logo
Search the docs.../
Explore Storm Products

Transcode Application - Storm Streaming Server

The Transcode application is an optional component of a Storm Streaming Server cluster, dedicated to transcoding streams into multiple quality levels. It offloads the CPU/GPU-intensive encoding work from origin nodes, allowing them to focus on stream ingestion.

A transcode application connects to the ClusterManager, discovers streams published by origin nodes, pulls them, encodes them into the configured quality presets, and publishes the transcoded variants back into the cluster. The resulting variants are then available for edge nodes to distribute to viewers.

This is the simplest application type in terms of configuration — it only requires cluster connectivity, general settings, and the list of transcoding presets.

For more information about building clusters, see the Scaling & Cluster Guide.

Sample Configuration

config/preferences.xml - Transcode Application
Code iconxml
<Application name="transcode" type="transcode">

    <!--
        Cluster connection settings — registers this node with the ClusterManager
        and exposes it for edge connections.
    -->
    <StreamingClusterSettings>
        <SupervisorList>
            <ClusterManager hostname="clustermanager01.example.com" port="443" isSSL="true">
                <Priority>1</Priority>
                <Secret>your-cluster-secret</Secret>
            </ClusterManager>
        </SupervisorList>
        <NodeAccessSettings hostname="transcode01.example.com" port="1935" isSSL="false" />
        <NodePriority>10</NodePriority>
    </StreamingClusterSettings>

    <!--
        General configuration settings related to this application and its streams.
    -->
    <GeneralSettings>
        <Description>Transcode application</Description>
        <BroadcastLimit>250</BroadcastLimit>
        <StatInterval>2</StatInterval>
        <AutoThumbnails enabled="false">
            <Interval>2</Interval>
            <ThumbWidth />
            <ThumbHeight />
        </AutoThumbnails>
    </GeneralSettings>

    <!--
        List of enabled live transcoding presets for this application.
    -->
    <LiveTranscoding enabled="true">
        <Preset name="360p" />
        <Preset name="480p" />
        <Preset name="720p" />
    </LiveTranscoding>

</Application>

Main Parameters

ParameterDescription
Application:nameUnique name of this application. All applications within config/preferences.xml must have unique names.
Application:typeMust be set to transcode for this application type.

Configuration Blocks

The transcode application supports the following configuration blocks. Click on each link for a detailed description of all available parameters.

BlockDescription
Streaming Cluster SettingsClusterManager connections, node access settings, and <NodePriority> for load-balanced routing.
General SettingsApplication description, broadcast limits, statistics interval, and automatic thumbnail generation.
Live TranscodingSelection of transcoding presets that define the quality variants to produce.
Note

The transcode application does not support Ingest Settings (streams are pulled from origin nodes, not pushed by broadcasters), Recording Settings, DVR Settings, Stream Security Settings, or Stream Key Alias Settings.

Environment Variables

All configuration fields support environment variables using the ${EV:VARIABLE_NAME} syntax.

Environment Variable Example
Code iconxml
<NodeAccessSettings hostname="${EV:EXTERNAL_DOMAIN}" port="${EV:EXTERNAL_PORT}" isSSL="${EV:EXTERNAL_SSL}" />
Note

Fields whose values are set via environment variables cannot be modified through the REST API.

Support Needed?

If you have any questions or need assistance, please create a support ticket and our team will help you.

Blog
Support
About us
Patents
Term of use
Privacy policy
Contact
©2026 Storm Streaming Media. All Rights Reserved.