There's a video lecture streaming on a university platform that runs javascript. Can the system detect if I'm downloading the video (via IDM) rather than just watching it? In other words, how can a website know if a video has been watched or downloaded?

After much trouble, such as quality fluctuations, unexpected changes in playback speed, and frozen screens, I've decided to download the videos using (Internet Download Manager).

That, however, violates the terms of the university, even though I obviously don't intend to make any commercial use of the videos and I'm going to be the only one watching them.

I'd like to know if the content provider can notice that I'm not streaming the videos but downloading them.

  • 1
    Does this answer your question? Downloading a video without website noticing that you're not just watching it?
    – mentallurg
    Commented Jun 6, 2020 at 21:20
  • I saw an answer from another question that says it cannot know and it's not detectable. However, someone told me that IDM probably adds his own HTTP headers (and/or cookies). therefore we can see the traffic and see if there is a difference. Commented Jun 6, 2020 at 21:33
  • 1
    Sure, it can use some other headers, e.g. set specific agent that is not typical for a browser. Or it can behave differently from browser when connection timed out. Or it can request the content fragments of sizes that differ from the most browsers. Etc. So the web site can suppose that you are not viewing video in browser, but are downloading it via some tool. But this cannot be used as a base for any legal actions against you.
    – mentallurg
    Commented Jun 6, 2020 at 21:51
  • It will depend entirely on the DRM measures used by the system.
    – schroeder
    Commented Jun 7, 2020 at 16:22

1 Answer 1


It could be done in several ways. For example, the page where you are supposed to watch the video could have some JavaScript code that monitors the users' interactions with the platform (page, player, etc.). So, for example, if you watch a 1-hour video on their platform, your browser is going to download the whole video of course, but at the same time the JavaScript will send data that shows you have been visiting the page for about 1 hour. It could be something like this, for example:

// Every 120 seconds, send data about what you are doing
setInterval(send_browsing_data(video_id, user_id, video_time),120000);

If the website notices that somebody downloaded the whole video but at the same time they received no data to justify that from the browser, they might suspect that something is wrong.

I personally wouldn't worry about it at all, though. Go ahead and download it, if you have a good reason to do so.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .