July 30, 2013

Nimble HLS and Smooth RAM caching for effective re-streaming

Nimble HTTP Streamer was initially designed to cover two basic cases: serve progressive download and re-stream HTTP media protocols, having HLS and Smooth protocols to support first.

Effective HLS and Smooth re-streaming requires effective caching. That's because edge servers may be used in a distributed network for quick and cost-effective delivery for end-users. You may have single Wowza origin to make perfect transcoding and transmuxing and then have Nimble servers to take streams from Wowza, cache them and distribute to users in some geographical or network area.

Nimble Streamer edge for Wowza Media Server origin.

The more effective cache Nimble has, the less expensive is the cost of stream delivery to multiple viewers. There are several basic caching features that help making it better.

For live streaming, each chunk is primarily stored in RAM. This allows a very fast access to the cached content. You can control cache size by using max_cache_size parameter in Nimble config.

Each chunk is stored some limited period of time. Currently it's 30 seconds by default. This time is counted since the last access to the chunk. So the most popular chunks will be stored in RAM allowing quick and easy access.

If you use HLS or Smooth for live streaming delivery, the Streamer handles it properly too. If thousands of viewers are requesting the same new chunk from the stream playlist, Nimble requests this chunk just once and any viewer that is asking for the same, will just get it right after it is downloaded from the origin.

These caching features, along with HTTP streaming load balancing capabilities, allow building effective delivery networks for both live and on demand HLS streaming as well as Smooth streaming.



You can check other Nimble Streamer use cases at the website and contact us in case of questions or suggestions. We have a lot of features in our roadmap so your feedback help us prioritizing them.

Related documentation

Nimble HTTP Streamer,  MPEG-TS UDP conversion to HLS with NimbleMP4 transmuxing to HLS VOD streamingNimble configs explainedHLS re-streaming set up, Smooth Streaming supportGeo load balancing with Nimble StreamerHTTP pseudo-streaming progressive downloadProgressive download re-streaming, Running Nimble on privileged portsRAM caching for effective re-streamingNimble disk cache usageNimble Streamer HTTP hotlinking protectionNimble Streamer geo-location restrictionWMSPanel Slideshare

No comments:

Post a Comment