What is SRT streaming?
Secure Reliable Transport (SRT) is a technology that optimizes streaming performance in unpredictable networks. It helps to deliver high-quality video content by compensating for jitter and bandwidth fluctuations. SRT is also equipped with AES 128/256-bit encryption to ensure end-to-end security for your streams.
Nimble Streamer has full support for the SRT protocol. It supports both Caller (Push) and Listen delivery modes, as well as Rendezvous.
Softvelum is an active member of the SRT Alliance, a group dedicated to supporting the open-source implementation of SRT.
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.
Supported codecs include H.264/AVC, H.265/HEVC, AV1 and others.
Some highlights of SRT include the following.
- 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.
Take a look at our latest case study
LiveX and VVCR: Nimble Streamer Powers Cloud Production Innovator
featuring Nimble Streamer SRT used by the leading production company.
SRT streaming support in Nimble Streamer
Nimble Streamer has full support for SRT protocol.
- Both Push (Caller) 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 SRT latency and maxbw parameters are supported for re-transmission control, we highly recommend using them both for all connections.
- One-to-many multi-point listener: multiple Pull-mode clients can be supported when working in “Listen” mode.
- SRT connection bonding is supported using libsrt 1.5 in both Broadcast and Main/Backup modes.
- SRT playback stats and paywall protection feature set similar to other playback protocols.
- FEC (forward error correction) filter is supported.
- AES-128 bit encryption provides stream security.
- Both IPv4 and IPv6 are supported.
- Multiple programs can be sent via single SRT channel.
- You can use Nimble Streamer API to get SRT sender and receiver statuses.
streamid parameter support
- Nimble supports streamid in Push and Pull modes.
- In addition, Nimble supports streamid in receiver Listen mode as part of Publisher Assistance Security Set.
YouTube recommends Nimble Streamer among approved encoders for YouTube Live streaming for RTMP and upcoming SRT ingest.
Installation and Usage
To start using SRT in Nimble Streamer, you need to do the following:
- Install Nimble Streamer if you haven’t done it yet, or upgrade it to latest version.
- Install SRT package for Nimble Streamer to add respective functionality.
- Follow Setting SRT in Nimble Streamer article to see how to set up SRT streaming in all modes using WMSPanel control web service.
Video tutorials
- Install Nimble on Amazon EC2 and set up SRT
- NDI to SRT to AWS Elemental MediaConnect via Nimble Streamer
- Deliver SRT to transform into multicast UDP MPEG-TS
- SRT to OBS from Larix Broadcaster and Larix Screencaster video tutorial for setting up OBS and Larix apps for SRT
- Improving NDI Workflows for Remote Production With SRT, a workshop at Streaming Media West 2022
Additional articles
- Streaming SRT via OBS with Nimble Streamer and Larix Broadcaster gives a brief example of OBS Studio usage with Nimble Streamer.
- 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.
- Glass-to-Glass Delivery with SRT: The Softvelum Way – a post in SRT Alliance blog about using Softvelum products to make live delivery with SRT protocol.
- Glass-to-glass SRT delivery setup article describes Larix Broadcaster, Nimble Streamer and Larix Player setup for SRT throughput.
- Streaming With SRT Protocol describes the setup of OBS for streaming SRT to various destinations, including Nimble Streamer.
- Zabbix monitoring of Nimble Streamer and SRT streams
SRT premium features
Some SRT-related functionality is available as part of our premium Addenda package.
Pull SRT in RTMP style: Nimble Streamer supports SRT Listen mode with streamid in appname/streamname format to pull any available live stream. This allows using single IP and port to get multiple streams by their names, just like in RTMP.
SRT flexible publication management: SRT Publisher Assistance Security Set (SRT PASSet)
Nimble Streamer provides wide security and management feature set for SRT receiver Listen mode.
- Accept streamid parameter with “application/stream” format.
- Make per-application and per-stream authentication with user and password.
- Apply any SRT parameters to each individual stream and even individual publisher.
- Apply allow and deny lists for IP addresses on server and stream level.
- Manage published streams via publish control framework.
Please read the following articles to learn more about PASSet:
- Technology overview article
- User/password authentication and application/stream publication
- Setting per-stream authentication and SRT parameters with JSON config file
Additional SRT features for SRT Listen mode:
- SRT playback statistics
- SRT paywall protection
This feature set makes pulled SRT similar to other playback protocols to be even more convenient protocol for content providers for end-users.
Related Nimble Streamer features
Nimble Streamer covers wide variety of live streaming scenarios so SRT can be used as an element in complex delivery scenarios.
- 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, NDI, RTSP, MPEG-TS, HLS and SRT.
- Produce RTMP, NDI, RTSP, MPEG-TS, HLS, MPEG-DASH, Icecast and SRT outgoing streams.
- Generate thumbnails for output streams.
- Use DVR feature set to record incoming live streams and provide further playback via MPEG-DASH and HLS.
Hot swap of SRT streams
Hot swap capabilities allow switching between source origin and substitute streams with no glitches or artifacts:
- Emergency hot swap to cover cases like U.S. Emergency Alert System.
- Failover hot swap to show tuning table or other active channel in case the stream goes down.
These features are available for SRT once you enable instant inactivity disconnect for MPEGTS-based streams for your server instance.
It also requires Live Transcoder premium add-on.
Remote control via web service
Control your fleet of servers via WMSPanel web UI service. All settings are applied on-the-fly without streaming interruption. Same setting can be applied to multiple server instances in one click.
You may also use web APIs, native APIs and config files. See all configuration options.
SRT in other products
In addition to Nimble Streamer, SRT is supported in all major products of Softvelum.
- Larix Broadcaster streaming app for remote contribution on Android and iOS
- Larix Player for Android, AndroidTV, iOS and tvOS
Visit SRT reference page for more information and links.
Free trial of WMSPanel included