Transcode Application - Storm Streaming Server

A Transcode-type application is an optional component of a Storm Streaming Server cluster, responsible for transcoding streams within the cluster, as its name suggests. This guide provides a detailed explanation of all configuration parameters for this type of application.

Sample Configuration

The transcode-type application is structurally very similar to the origin-type application, with a few configuration blocks omitted.

The basic transcode-type application configuration stored in config/preferences.xml looks as follow:

                        
<Application name="transcode" type="transcode">

    <!--
        Cluster Connection Settings
    -->

    <StreamingClusterSettings>
        <SupervisorList>
            <ClusterManager host="mydomain.com" port="443" isSSL="true">
                <Priority>1</Priority>
                <Secret>qwerty*1234556</Secret>
            </ClusterManager>
        </SupervisorList>
        <PeerAccessSettings host="mydomain.com" port="443" isSSL="true"/>
    </StreamingClusterSettings>

    <!--
        General configuration settings related to this application and its streams.
    -->

    <GeneralSettings>
		<Description>Default application</Description>
		<BroadcastLimit>unlimited</BroadcastLimit>
		<StatInterval>2</StatInterval>
	</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 Explanation

Application:name Name of this application. If there are more applications within your config/preferences.xml they all must have unique names.
Application:type This value must be set to transcode for this type of Application. Other types are live (which you can learn more about here), origin (which you can learn more about here) and edge (which you can learn more about here).
Table 1. Main parameters table

StreamingClusterSettings

This block defines a list of ClusterManagers to which information about streams and their status within the cluster is sent. Later, edge or transcode-type applications connected to these same ClusterManager will be able to locate the stream on the appropriate server with an Origin-type application.

It is possible to define more than one ClusterManager in the list for the purpose of redundancy.

ClusterManager:host URL or IP to a server hosting ClusterManager instance.
ClusterManager:port Port for ClusterManager connection.
ClusterManager:isSSL True/false depending on whenever SSL layer is required.
Priority Priority for ClusterManager (if more available). Higher the number, higher the priority.
Secret A secret for connection authorization.
PeerAccessSettings:host Public host or IP address of this application, so edge applications know where to connect.
PeerAccessSettings:port Public port of this application, so edge applications know where to connect (indicate a port with an active RTMP protocol).
PeerAccessSettings:isSSL Whether the connection should use SSL.
Table 2. StreamingClusterSettings table

GeneralSettings

This block defines general configuration settings for the application itself.

Description A custom description of the application explaining its purpose and functionality.
BroadcastLimit Specifies the maximum number of concurrent broadcasts allowed within this application.
StatInterval Determines how frequently statistics are processed for this application, expressed in seconds (2 seconds by default).
Table 3. GeneralSettings table

LiveTranscoding

For each individual application a set of presets for transcoding can be selected. Please keep in mind that presets must be already defined in your config/preferences.xml file. If you would like to define your own presets and learn more about transcoding check our Transcoding Guide.

LiveTranscoding:enabled If set to false, no video stream will be transcoded.
preset:name Name of a template, previously defined in main Transcoder tag.
Table 4. LiveTranscoding table
Support Needed?

Create a free ticket and our support team will provide you necessary assistance.