Secure Reliable Transport

SRT support in Nimble Streamer
Srt logo white greytext

Srt alliance logo

Srt ready

What is SRT

Secure Reliable Transport (SRT) is a UDP-based transport technology that optimizes streaming performance across unpredictable networks.
SRT is applied to contribution and distribution endpoints as part of a video stream workflow to deliver the best quality and lowest latency video at all times.

  • SRT detects and adapts to the real-time network conditions between the two endpoints.
  • SRT helps compensate for jitter and bandwidth fluctuations due to congestion over noisy networks.
  • Error recovery mechanism minimizes the packet loss typical of Internet connections.
  • AES 128/256 bit encryption is also supported for end-to-end security, keeping your streams safe from prying eyes.

Softvelum, LLC joined the SRT Alliance which is a group dedicated to managing and supporting the open source implementation of SRT. This alliance is accelerating interoperability of video streaming solutions and fostering collaboration with industry leaders to achieve lower latency Internet video transport. Softvelum is actively contributing to the community to improve the protocol and its ecosystem.

SRT in Nimble Streamer

Nimble Streamer has full support for SRT protocol. Read full setup instructions to try it in action.

  • Both Push and Listen delivery modes are supported
  • Both Listen and Pull receive modes can be used to get SRT streams for further processing.
  • Rendezvous mode can be used for both receiving and sending data.
  • Custom "latency" and "maxbw" parameters are supported for transmission fine tuning.
  • Multiple streams can be sent via single SRT channel
  • Mux rate can be set correctly - Nimble Streamer has 100% PCR accuracy, 0ns PCR drift and PCR interval <20 ms according to StreamGuru.
    This is typically used for precise testing of channel throughput.
  • AES 128 bit encryption provides stream security

Installation and usage
To start using SRT in Nimble Streamer, you need to do the following:

  1. Install Nimble Streamer if you haven't done it yet, or upgrade it to latest version.
  2. Install SRT package for Nimble Streamer to add respective functionality.
  3. Follow this article to see how to set up SRT streaming in all modes using WMSPanel control web service.
  4. This Haivision blog article can also be used as a how-to.

SRT on mobile devices

Softvelum Larix mobile streaming SDK allows building mobile applications with SRT publishing support for Android and iOS.
You can push your live stream using RTMP, RTSP and SRT to multiple locations simultaneously. This may be your Nimble Streamer instance, YouTube, Facebook Live, Limelight CDN or any other destination.

You may test that capability using Larix Broadcaster - it's a free app available for Android and iOS, its sources are included in the mobile streaming SDK.

SRT in complex scenarios

Nimble Streamer covers wide variety of live streaming scenarios so SRT can be used as an element in complex delivery scenarios.

  • Reliable Low Latency Delivery with SRT+SLDP - a post in Haivision blog describing the combination of Haivision and Softvelum products for building reliable delivery networks.
  • Live Transcoder allows processing incoming streams to change the content according to your business logic.
    This includes decoding, applying various filters and encoding. All setup is performed via drag-n-drop web UI.
  • Process incoming streams via RTMP , RTSP , MPEG-TS , HLS and SRT.
  • Produce RTMP, RTSP, MPEG-TS, HLS, MPEG-DASH, Icecast and SRT outgoing streams.
  • Use DVR feature set to record incoming live streams and provide further playback via MPEG-DASH and HLS.
  • Build networks of servers with Nimble Streamer to deliver the content in the most optimal way


See also:Live streamingAds insertionTranscoderCodecsVideo-on-demandBuilding infrastructureMobile solutions

Easy installation and upgrade

Nimble Streamer can be installed in a couple of small steps and upgraded to the latest version by running two or three simple commands in console.

Let us know if you need any help and search through our documentation to find more information.

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the Privacy Policy. If you want to know more or withdraw your consent to all or some of the cookies, please refer to the Privacy Policy.
By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to the use of cookies.