This site requires javascript and cookie operation.

Stream Preset Help - HLS

Preset tutorial

Getting started

If you are unfamiliar with HTTP Live Streaming, please use the following links which give an overview of the technology, as a basic understanding is required.

This preset is designed to allow HLS streaming without the need for external service providers or AV server software.  All that is required is a reasonable web hosting package.

This preset creates a HTTP Live stream with up to 3 different bitrate streams, that can be accessed from a number of devices.

These streams are uploaded in realtime to your FTP / SFTP server.
Allowing a link to be provided from your website to the live video stream.

The 1st stream is either a direct copy of the hardware encoded h264/aac stream or a re-encoded version.  The 2nd & 3rd streams are re-encoded versions at lower bitrates & resolutions.

If you experience errors, .log files can be found in the main MX Lght directory & the utils sub-drectory, which will contain information about what went wrong.


These options can be found on the preset setup page.  Advanced options can be viewed & edited when 'show advanced' is checked.


Segment length (secs)

Target duration in seconds of each uploaded segment.
The value recommended by apple is 10.  Lower values can be used which will result in less delay between the live input & the stream the client views but this may result in incompatibilities with some devices.

nb.  The AV stream generated by the hardware encoder, is not capable of perfect segment alignment but segment length usually falls with +-0.5 sec maximum of the set amount.

Segment list length

The number of segments in the playlist at any one time. The minimum is 3, 4 is the recommended default value to maintain stability.  nb. This affects the delay from the live input to the viewer by number*segment length.  So larger values will cause a longer delay.

Segment dir

This is the directory used to store temporary segment files for upload. This directory is relative to the current recording directory. On streaming start, this directory will be created if it doesn't already exist.

advanced options:

--Segment list ext

Filename extension of the raw segment list generated by FFmpeg.  This is used internally & should only be changed if required.


Stream name

The name of the main stream playlist. This playlist contains links to the individual stream playlists, so that players can select a stream to match the bandwidth available to them.

Stream * : Name

Name of the h264/aac encoded TS stream. eg. High, Medium, Low

VOD (Video On Demand) SETUP:

Options [Y]/[N]
If set to [Y] , playlists will be created, which allow playing the stream from the start & all stream segments will be kept on the FTP server.  These playlists will be created next to the standard playlists & be named with '-vod' post-fix. eg. mystream-vod.m3u8


Remote Mode

Options [OFF]/[FTP]/[SFTP]
If set to [OFF] the streams & playlists are not uploaded to a remote server.
If set to [FTP] the streams & playlists are uploaded to a specified location on a FTP server.
If set to [SFTP] the streams & playlists are uploaded to a specified location on a SFTP server.

Remote URL Root

Specifies the URL to the main upload directory. This is used in the generation of the playlist (.m3u8) files to direct browsers/players to the actual segment files. It is included as a separate option, as this allows greater flexibility. eg. Allowing the use of rewrite rules on the server.
example = "http://mysite/video/live"


FTP/ SFTP Hostname

The FTP / SFTP hostname as it would be setup in an FTP / SFTP client. eg. or an IP address.

FTP/ SFTP Username

The FTP / SFTP username as it would be setup in an FTP / SFTP client.

FTP/ SFTP Password

The FTP / SFTP password as it would be setup in an FTP / SFTP client.

FTP/ SFTP Upload Dir

Specifies the main directory used for uploading. It will be created on streaming start if it does not already exist


The port used to connect to the FTP / SFTP server. The default / standard value is 21 for FTP & 22 for SFTP.

advanced options:

--Remote Retry count

Specifies the number of retries allowed for an FTP / SFTP operation (eg. segment upload).  If an operation fails more times than this value, streaming stops and the error is logged.

--Remote Retry pause

Specifies the amount of time (in milliseconds) to pause between retrying an FTP / SFTP operation, giving the FTP / SFTP server time to recover from whatever problem it encountered.

--Remote FTP BW Est % Margin

The main stream playlist is generated once at least one segment from each stream has been uploaded. The size & duration of these streams are then used to calculate the expected continued bitrate for each stream. As this cannot be changed later, this option is introduced to allow for a margin of error in the bitrate estimation.
The option value represents the % that the real bitrate maybe higher than the estimated rate. This can help ensure that a device does not connect to a stream that it doesn't have the bandwidth to view without interruption.

--Remote Retain

Options [Y]/[N]
Determines whether uploaded segments are kept on the FTP server once they leave the playlist.  nb. If VOD Active = Y, segments are be kept on the FTP / SFTP.
Default = N

--SRC Retain

Options [Y]/[N]
Determines whether the temp source segments (in local storage) are kept once they have been uploaded.
Default = N

HTTP Live Streaming specific options:

--m3u8 Allow Cache

Options [Y]/[N]
Determines whether the streams can be cached for later viewing.
Default = N

Playing the stream on your website:

Once the stream has started this can be played back from your website using eg. JWPlayer.  Examples can be found here :