June 21, 2017

FAQ: SLDP tips and troubleshooting

Our new real-time low latency SLDP protocol is expanding among our customers so we get more questions regarding its usage.

Some basic usage of SLDP protocol is described in this article. It describes typical usage scenarios, however there are always some things to improve your use cases and give better user experience. The following frequently asked questions help improving that.

Q1: Why SLDP has less overhead than HLS or MPEG-DASH?

HLS uses MPEG-TS format as a container for media, MPEG-DASH uses MP4 for this purpose. These container formats require additional data to wrap up the media. This gives significant data overhead.
Also, as HLS and MPEG-DASH are chunk-based protocols, each chunk has its own metadata used for describing each segment which needs extra data as well.
When you view ABR stream, your player continuously download chunks of one particular rendition, so if you switch the stream, your player starts downloading new rendition chunks and just abandons the already downloaded chunks of previous rendition - which is a waste of traffic. This would be especially significant of a mobile connection where you pay for traffic.

In case of SLDP these types of overhead simply do not exist. It doesn't chunk the media and it doesn't use any container to deliver the media. And it stops downloading data as soon as you initiate your player to switch to another rendition.
SLDP uses WebSockets to connect client and server and client software downloads the media without additional wrapping.

Q2: How can I achieve lowest latency and start time with SLDP?

The main parameter that affects the latency in case of real-time protocols (such as SLDP) is key frame interval. It is set in your encoder which you use to prepare your live stream. The less key frame interval is, the sooner a player will start the playback.
As example, in case of Nimble Streamer Live Transcoder you may add Key frame alignment parameter and set interval value for it. Please read this article to get more details on the setup.

Q3: How can I make ABR streams switch be more smoothly?

Sometimes when you switch between different stream's renditions you can see a some short glitch. This happens because a player need a new GOP to start the playback. Different streams may have their key frames be aligned differently, so each new GOP will start from different point.
To avoid that, you need to perform key frame alignment for all single-bitrate streams in your ABR stream. If you look at our Live Transcoder as an example, you can set this up using this article.

Q4: I've enabled SLDP on server but the stream is not available.

To make new protocol be produced for output from Nimble Streamer, the origin stream must be published again. So please republish the source stream.

Q5: My ws:// stream is not working but wss:// does.

If you run your stream on SSL-protected web page, i.e. delivered via HTTPS protocol, make sure you encrypt your stream with SSL as well. Modern browsers do not allow processing un-secure content on secure webpages. So ws:// stream will not play on https:// web page.

Q6: How is SLDP supported in mobile browsers?

On Android it's already supported in MSE-enabled browsers like Chrome. You can use our web player to add SLDP playback on your web pages.

On iOS, MSE is not yet supported so you can use our iOS SLDP Player SDK in order to add playback capabilities to your apps. Android SLDP Player SDK is also available.

Q7: How secure are my streams with SLDP?

If you want to make sure your streaming is protected against re-streaming and grabbers, take a look at SLDP proprietary streaming protection article for more details.



If you have any other questions, please contact us to get help.

No comments:

Post a Comment