Efficient tools to build your streaming infrastructure
SLDP
Softvelum Low Delay Protocol: low latency, high performance
Latency matters
Low latency has always been a hot topic for live streaming industry. Many use cases require sub-second delay between image capture and its display.
Chatting: talking to someone means immediate media delivery.
Gaming viewers expect to see all events real-time.
Betting and bidding have big money at stake so you don't want to see anything behind the time.
Security and surveillance demand real-time picture to do an immediate response.
Second screen means you don't want to see your favorite event dozens of seconds behind TV or other devices.
With the decline of Flash and RTMP in 2020 as the main way to view live streams, the industry has been looking for new ways to deliver the media close to real-time.
Softvelum introduces SLDP - a last-mile delivery protocol for end-user devices to cover all that.
What is SLDP
SLDP is a streaming protocol based on WebSockets. Basic features are
Nearly one second delay between origin and player. Hence the "Low Delay" in the name.
Codec-agnostic. Play whatever your end-user platform has: H.264, VP8, VP9, H.265/HEVC video, AAC, MP3, Opus audio.
ABR real-time support. Switching channels takes just a GOP time and each channel may use its own codec.
SLDP can be played in HTML5 browsers with MSE support using the SLDP HTML5 player, and you can also add playback to your own players using the JavaScript SDK. Mobile support is available with Larix Player SDKs for Android and iOS, which include SLDP and RTMP support.
You can use free apps and also purchase SDKs for these platforms to create your own solutions.
Server support
Nimble Streamer freeware media server has full support for SLDP. It takes any protocol as input and creates SLDP output streams. It produces SLDP streams with H.264/H.265/VP8/VP9 video and AAC/MP3/Opus audio, and any SLDP player can connect to it for playback. Amazon CloudFront has full support for WebSockets which means SLDP can be delivered via CloudFront network seamlessly. Take a look at CloudFront setup for SLDP delivery to learn more about proper settings.
Synchronized playback
SLDP technology allows performing synchronized simultaneous playback in multiple player instances, browsers and devices. This is important for cases like these:
One big screen with audio on individual devices.
A second screen application.
Multiple screens with single source of sound.
Surveillance cameras shown on the same page.
This capability is supported in Nimble Streamer server, HTML5 SLDP player, Larix Player for Android and iOS. Synchronized playback setup articleexplains this feature in details.
You can tryHTML5 demo pagewith two HTML5 SLDP players running in sync. Demo video below shows players in HTML5 browser, Android and iOS devices, all playing the same live stream in sync with each other:
How does SLDP compare to others?
SLDP is good for low latency but how about other streaming protocols?
HLS and MPEG-DASH
Chunks-based protocols were created with easy delivery in mind hence the chunks paradigm. This means that the client needs to download at least first chunk to start the playback. The default HLS chunk size recommended by Apple is 10 seconds but you can reduce it to 2-3 seconds. However, the delay cannot be reduced to sub-second values. The same applies to MPEG-DASH, HDS and SmoothStreaming as they have the same nature.
RTMP
RTMP is an excellent real-time protocol greatly fit for low latency. However, it's being declined by majors as it requires Flash for playback in the browsers. It also has some limitations for modern codecs.
FAQ
Please also take a look at frequently asked questions to see advantages and best techniques of SLDP usage.
Check some snapshots of Softvelum usage to see how you can use SLDP with other products.