February 28, 2013

Calculating HLS statistics

Greetings!

From the day 1, WMSPanel for Wowza was supporting all protocols which Wowza handles. HLS is also the one. Even though it's an amazingly simple transport protocol, making correct calculations about it becomes a tricky task.

Common procedure for HLS is to open a playlist and then proceed with opening chunks of media data delivered via HTTP. It's pretty simple and no surprise Wowza supports it. But when it comes to counting connections statistics, we faced several corner cases.

First, a player may open several connections - one per each chunk. That's OK for good media experience to avoid any buffering. So we've learnt to combine those chunks' requests into a single connection for the same user.

During that activity we discovered that we need to identity a playlist request connection and just skip for connections count. This is a common case when media is linked to via <a> anchor HTML tag. Using <VIDEO> HTML5 tag avoids this problem, but since the web is still moving towards it, we need to support the case. Fine, we just started identifying a browser user agent of the HTTP request and did not count it.

But then a long-awaited thing happened - HLS became available on a desktop. JWPlayer 6 by LongTail Video now supports HTTP Live Streaming. Right after the announcement, some of our clients started using it. So we ran into the fact that Flash player now runs as part of browser in a single session, thus we cannot skip connections like that.  This is why we made a series of enhancements process browser requests properly for these cases.

Some telecom operators use multiple IP addresses for single client. Nimble assigns a session ID to user connection and checks for IP address on each playlist or chunk request. If session IP is different, it's not using this request for calculation. So when te telecom uses multiple IPs, our customers may find it impossible to calculate correct connections count as well as correct duration statistics. To make this work fine, you can disable this scenario by adding this parameter into the config:
restrict_session_ip = false
Read config description article to see how you can control Nimble behavior via

So now WMSPanel can handle HLS naturally. Once you decide using Flash player which supports HLS, no actions are needed for separate statistics tool - WMSPanel can do it already. There will be more players with this kind of support soon, especially with raise of HTTP Adaptive Streaming popularity.

If you want to see true HLS statistics, join us today and get your 2 weeks free trial period.

Read more about WMSPanel streaming reporting.


No comments:

Post a Comment