Y
Y
Yuri Udovichenko2014-06-27 07:43:06
Video
Yuri Udovichenko, 2014-06-27 07:43:06

What is a unique user for a video?

Our users periodically request a unique user report. We have full-length metrics with the number of connections (analogous to "hits" for web analytics), because atomic connections to a particular thread are naturally tracked.
It would seem that everything is simple - take an IP and count unique users by it. However, many go through proxies, this is especially common in Southeast Asia (we have a lot of clients there), so you need to come up with something else. In addition, cookies, which are the de facto standard for the web industry, do not apply here. the player can be any, often not supporting cookies.
Wikipedia says that "... a unique user (UU) is an IP address plus a further identifier ...".
This parameter can be User-Agent. For HTTP-based protocols (HLS, HDS, MSS, progressive download) it is available. For RTMP, there is also its analogue, however, it is rather flawed. But I want some more reliable combination, especially for RTMP and HLS. At the same time, I don’t want to overload the resources with stored intermediate data for calculation - after all, you need to store the parameters for at least a day.
In general, my question is - what combination of connection parameters will allow collecting data on unique users within one day?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
Y
Yuriy Udovichenko, 2015-07-01
@Aquary

So, what did we come to, what to take as a basis for a unique user:
1. For each request, look for the presence of X-Forwarded-For, X-Real-IP and a couple of other headers, we listed them in this article . If there is a similar IP, use it in pair with the original IP.
2. For RTMP, take IP and some kind of user agent that is for flash players (there is a platform and version of flash)
3. For HLS - you need to take X-Apple-Device-ID, it works for old devices. If it is not there - see item 4.
4. For HTTP-based protocols, take IP + User-Agent.
5. By default, if there is nothing, just take the IP from paragraph 1.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question