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