Origin Application - Storm Streaming Server

Applications are separate group of streams with specific set of parameters and settings. An application defines how streams can be published and viewed.

Sample configuration

An origin application is the basis for creating video streaming clusters. It is very similar to a live application, with just a few minor differences. A single origin-type application will accept multiple connections from edge-type applications

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

                        
<Application name="origin" type="origin">

    <StreamingClusterSettings>
		<IPWhiteList>127.0.0.1, 192.168.0.2</IPWhiteList>
		<Authorization>
			<Auth username="admin" password="qwerty" />
		</Authorization>
	</StreamingClusterSettings>

    <RTMPController>
		<AllowStreamPublish>true</AllowStreamPublish>
		<AllowStreamOverwrite>true</AllowStreamOverwrite>
		<AllowClientPlayback>true</AllowClientPlayback>
		<KeepClientStreamsAlive>true</KeepClientStreamsAlive>
		<PlaybackAuthRequired>false</PlaybackAuthRequired>
		<Authorization enabled="false" sourceType="local" sourceTarget="abc">
			<Auth username="admin" password="qwerty" />
			<Auth token="62cjdj" expire="2022-02-01 16:22:00" />
		</Authorization>
	</RTMPController>

	<RecordingSettings enabled="false">
		<SavePath>/Users/John/Desktop</SavePath>
		<CacheSize>15</CacheSize>
	</RecordingSettings>

	<TranscoderSettings enabled="true">
		<Preset name="720p" />
		<Preset name="360p" />
	</TranscoderSettings>

</Application>
                    

Main parameters explanation

Application:nameName of this application. If there are more applications within your preferences.xml they all must have unique names.
Application:typeThis value must be set to “origin” for this type of Application.
Table 1. Main parameters table

Streaming Cluster Settings

This block defines the source (or multiple sources) for this application. Edge application will copy all streams from the origin server the moment they appear. You can define more than one <sourceItem> for redundancy.

In case of two streams from different origin server having the same steamName, only the first one will be copied (depending on creation time).

sourceItem:urlURL or IP to an origin server.
sourceItem:portPort for origin-edge connection.
sourceItem:sslTrue/false depending on whenever SSL layer is required.
sourceItem:usernameA username for origin-edge authentication.
sourceItem:passwordA password for origin-edge authentication.
Table 2. Streaming cluster settings table

Recording Settings

Recording option allows for recording video streams into MP4 files.

RecordingSettings:enabledDefines whenever recording is enabled.
SavePathPath were MP4 files should be saved.
CacheSizeDefines how much of a video stream should be kept in memory before being flushed to a file.
Table 3. Recording settings table

Transcoding Settings

For each individual application a set of presets for transcoding can be selected.

TranscoderSettings:enabledIf set to false, no video stream will be transcoded.
preset:nameName of a preset, previously defined in main Transcoder tag.
Table 4. Transcoding settings table