January 5, 2014

HLS statistics for Nimble Streamer

HTTP Live Streaming is a pretty simple transport protocol. However, making correct calculations of statistics may become a hard task. The complete HLS stream consist of a playlist and a group of chunks which deliver the content. So what are the problems and how does Nimble Streamer solve them along with WMSPanel?

The viewer's player opens a playlist. That's not a stream yet, as the player needs to read chunks list to proceed. So it's not counted.

Next, the player can then open several chunks connections in parallel (to improve user experience by avoid buffering) as well as open them consequently. Since Nimble Streamer handles its own sessions, each chunk request get the same session ID hence the ease of handling.

Another problem comes from browser- it opens the link to determine that it's an HLS stream. Then it passes this link to a player which requests it again to start the chunks download. Hence the double request for the playlist. Nimble handles that and does not count playlist requests as a view.

WMSPanel HLS real-time stats in Android browser.
The described case works well for new generated playlist in case of MP4 transmuxing to VOD, MPEG-TS UDP to ABR HLS conversion or in case of edge HLS re-streaming.

If you'd like to collect your own data set based on streaming stats, take a look at Pay-per-view feature set for Nimble Streamer which allows receiving realtime information to your own handler about each and every connection to your media server.

Read more about WMSPanel streaming reporting.

Related documentation


Nimble HTTP StreamerNimble Streamer overview videoTransmuxing RTMP to ABR HLSMPEG-TS UDP conversion to ABR HLS with NimbleMP4 transmuxing to HLS VOD streamingHLS re-streaming set upImproving HLS startup time and latencyWMSPanel Slideshare,

No comments:

Post a Comment