This site requires javascript and cookie operation.

Streaming setup

Configuring realtime streaming

Streaming functionality in MX Light depends on FFMpeg
(included in the MX Light install) & VLC Player v2.0.7 (win32)
nb. VLC must be installed seperately & is also required to
 provide preview functionality.

MX Light ships with a selection of presets to stream using different protocols.

streaming setup page

The presets

MPEG-TS Raw Output to localhost
  • This preset outputs the hardware encoded h264/aac in MPEG-TS format container direct to local host.  Allowing use in other software.
HTTP Streaming
  • This preset is designed for quickly setting up streaming across a local network.  (for detailed help click here)
UDP Streaming
  • This preset is designed for unicast & multicast streaming across a local network.  (for detailed help click here)
RTSP Streaming
  • This preset is designed for streaming to a RTSP server such as Wowza.  (for detailed help click here)
RTMP Streaming
  • This preset is designed for streaming to an RTMP server such as FMS (Flash Media Server) or Wowza.  RTMP is used by many streaming providers, such as YouTube, UStream, Justin.TV, & Livestream.  (for detailed help click here)
HLS Streaming
  • This preset is designed to allow HTTP Live Streaming without the need for external service providers or A/V server software.  (for detailed help click here)
See Streaming setup - Resolutions & bitrates for general guidelines

The interface in depth

To the right of the preset names are a list of flags in [ ].
e = preset has hardware encoder settings attached to it
u = preset has user settable properties
v = preset is virtual & was generated from a template preset

If a preset has the [u] flag visible, when it is selected the 'setup' button will become active.

Clicking 'setup' will display the preset editor page.

streaming setup page

This shows a list of properties which can be edited.  The link in the bottom right of the editor will open detailed online help associated with the preset.

Properties can be values or switches.  To change a value, click on the current value.  To change a switch, double-click on the current switch value.  This will show a drop-down list of all available options.

Most presets have a 'Video mode' switch which can be set to 'HARDWARE DIRECT' or 'RE-ENCODE'.

When 'HARDWARE DIRECT' is selected, the hardware encoded h264 video is streamed.  This requires very little CPU, but has a minimum bitrate of roughly 1.3Mbps, at least double this is required for uninterrupted solid streaming.
Please note: Services often have limitations on upload speed for free accounts!

When 'RE-ENCODE' is selected, the incoming stream is re-encoded to achieve lower bitrates.  This can require a significant amount of CPU dependant on the resolution & framerate of the input (nb. this is the resolution & framerate, after the resampler).

Clicking 'Show Adv.' check box, will display/hide any advanced properties that the preset has.

'Auto-reconnect on stream disruption' when checked will detect if the streaming process has exited due to errors & if so, will attempt to restart the stream.  This check occurs every 0.5 seconds, so streams can be re-established fairly quickly.

'Re-Initialise internal stream on reconnect', when checked performs a full reconnection including restarting the hardware stream.  When unchecked, the hardware stream remains running & only the external streaming process is restarted.  This can be faster but will not deal with stream errors originating at the source.

'Maximum connection initialisation time (sec)' defines the maximum number of seconds it should take to establish a successful streaming connection.  If the streaming connection has not be established within that time, streaming will stop or retry depending on the auto-reconnect option.

'Initialisation retry count' defines the maximum number of failed connection attempts before giving up.

streaming setup page

Under the 'encoder' tab, we can set default hardware encoder settings for the preset, so that when the preset is selected the hardware will be automatically configured.

Encoder settings cannot be edited directly in the view, they can only be copied & removed.  This ensures that the encoder settings stored with a preset are in fact valid.

Once you have configured a preset it is recommended to use 'Save As' to save it as a unique preset.

Preset management

To access the preset management menu, right-click on the preset list.  This will display as follows:

streaming setup page

The --Edit option loads the entire streams configuration file into a text editor, allowing custom presets to be defined.
The --Reload option reinitialises the preset list using any changes saved to the streams configuration file

Custom preset creation

For information on creating custom streaming presets see Streaming preset creation - guidelines

Trouble shooting

If your stream pauses or stutters, you may be trying to stream at a bitrate that is too high for your upload speed.  These problems can be generally solved by reducing the stream bitrate.

If streaming stops with the following notification:

"Streaming stopped: Send buffer has reached limit of 50 Mb unsent data
Streaming bitrate should be reduced!"

This happens because the end-to-end ( eg. MX Light -> streaming provider ) upload rate is not as high as the data rate of the AV stream, resulting in unsent data building up in memory.
nb. threshold is defined in the config.cda file under "send buffer max size"

The stream stops to safe guard against streams pausing when viewed on the client side.

If you are sure your internet connections upload bandwidth is high enough & you are streaming to a streaming provider, it may be worth seeing if your streaming provider has alternate ingest points which may allow a higher throughput (data rate upload).

You can also potentially improve MX Light's upload bandwidth by clicking the : General > streaming > 'Optimise network settings for streaming' button.