Hoe vind ik het aantal seconden dat een YouTube-video is afgespeeld?

Ik heb toegang tot een proxyserver en kan achterhalen wanneer een video is aangevraagd. Het logboek heeft de vorm (tijd, IP, URL). Ik wil op de één of andere manier uitzoeken hoeveel seconden een bepaalde gebruiker met IP-adres A een YouTube-video heeft bekeken. Suggesties?

3

1 antwoord

Als je alleen toegang hebt tot verzoeken, kun je natuurlijk niet het verschil zien als iemand net een video heeft geladen of heeft bekeken.

Dus, het beste wat je kunt doen, is een reeks heuristieken bedenken die probeert het te 'raden' door bepaalde acties van de gebruiker te observeren. Hier zijn een paar ideeën:

  • Neemt u aan dat u de verzoeken voor de videobuffer zelf meetelt? Als dit het geval is, kunt u zien hoeveel van de video daadwerkelijk is geladen en de bekeken tijd kan niet meer zijn dan dat.
  • Als je (nogal naïef, denk ik) ervan uitgaat dat ze klaar zijn met kijken wanneer ze een andere video-URL aanvragen, kun je dit gebruiken als trigger voor het beëindigen van een 'videosessie'.
  • Installeer Wireshark of iets dergelijks en begin met het bekijken van activiteiten van YouTube tijdens de video. Kun je vaststellen of er een verzoek is wanneer advertenties worden getoond, of worden de gerelateerde video's weergegeven wanneer de video is afgelopen?

Maar eerlijk gezegd denk ik dat het vrijwel onmogelijk zal zijn om een ​​dergelijke specifieke meeteenheid af te leiden, zoals seconden bekeken van dergelijke beperkte gegevens als het tijdstip waarop een video werd aangevraagd. Bedenk eens wat de strategie kan zijn die je bedenkt: de gebruiker kan verschillende video's in verschillende tabbladen in een burst laden, of hij kan een videopagina laden, deze pauzeren en enkele minuten of uren vergeten voordat hij deze bekijkt .

In short: I don't think you'll get a reliable guess using only the data you have, but if you absolutely must at least try, observing network activity between client and YouTube that only happens when a video is in the 'playing state' (pulling advertisings, related videos, some sort of internal YouTube logging, etc) is probably your best bet. Even that probably won't have a granularity nearly close to seconds, though.

5
toegevoegd