# How Udemie Handles DRM-Protected Lectures, Without Ever Trying to Break Them

> Some lectures are protected with DRM and cannot be saved by any tool. Here is how Udemie spots them before they reach the queue, what it tells you, and what it will never do.

- Publication: Udemie Journal (https://www.udemie.study/blog)
- Section: Engineering
- Author: Emmanuel Zenderock, Creator of Udemie
- Published: 2026-09-25 (September 25, 2026)
- Canonical: https://www.udemie.study/blog/how-udemie-handles-drm-protected-lectures

## The short version

- Udemy protects individual lectures, not whole courses: a course often mixes protected and unprotected lectures.
- For Udemy, Udemie reads each lecture’s protection from the course data it already loads, marks protected lectures in the outline and keeps them out of “Download all”.
- If a download still meets DRM, the lecture is marked as not downloadable, you get one notice per course, and the rest of the course keeps downloading.
- Udemie never bypasses DRM: it requests no licences, extracts no keys and decrypts nothing. A protected lecture still plays on the provider’s own site.

Every course downloader eventually meets a lecture it cannot save. Digital rights management, **DRM**, encrypts a video so that only a licensed player, on the provider’s site or app, can decrypt it. No download tool can turn that into a normal video file without breaking the protection, and Udemie does not try.

What Udemie can do is handle those lectures honestly: tell you which ones they are before you queue them, not waste your downloads on them, and keep the rest of the course moving. If you want the plain-language background first, read [What is DRM video, and why can’t it be downloaded?](https://www.udemie.study/blog/what-is-drm-video). This article is about how Udemie deals with it.

## Protection is per lecture, not per course

The first thing we learned is that a course is rarely “protected” or “not protected”. Udemy applies DRM lecture by lecture, and mixed courses are the norm. In our own error reports, one course logged 33 protected lectures alongside 768 successful downloads.

That rules out the easy answer. Udemy’s course data does carry a course-wide flag, `course_is_drmed`, and Udemie deliberately ignores it. Honouring it would mark hundreds of perfectly downloadable lectures as off-limits because a few in the same course are protected.

## Before the queue: reading the signs

For Udemy courses, the outline Udemie shows you is built from the course curriculum, which lists each lecture and its video sources. That same response is enough to classify every lecture, with no extra request:

- A lecture whose video comes with a `media_license_token`, the handle for a Widevine licence, is **protected**.
- A lecture that is published only as a DASH stream, with no HLS or MP4 source next to it, is **protected**: that is the shape Udemy uses for encrypted video.
- A lecture whose media fields are simply missing from the response is **unknown**, and Udemie says nothing about it.
- Everything else is **clear**, and downloads as usual.

That third verdict matters. The licence token is not documented by Udemy, so the classification is a strong hint, not a guarantee. A wrong “protected” label would stop you from even trying a lecture that might work, which is worse than no label at all. So when the data is incomplete, Udemie stays quiet and lets the download itself decide.

![Diagram. Before the queue, the curriculum goes through classifyAssetDrm: drm means a Protected badge and kept out of the queue, clear means downloadable, unknown means say nothing. During the download, an error that names DRM goes through isDrmError: the lecture is marked failed and not retryable, only the first protected lecture in a course shows a notice, and the rest of the course keeps going.](https://www.udemie.study/blog/how-udemie-handles-drm-protected-lectures/drm-flow.svg)

*Two checkpoints: the outline, before anything is queued, and the download itself, as the final word. (Diagram: Udemie Journal)*

## What you see in the outline

A protected lecture gets a **Protected** badge, and each chapter shows how many of its lectures are protected. Hovering the badge explains it in one sentence:

> Udemy protects this lecture with DRM. It plays on udemy.com, but it cannot be saved, by Udemie or by anything else.
>
> (Tooltip on a protected lecture in Udemie)

Known-protected lectures are also left out when you choose **Download all** or select a chapter. Queued, they would take a download slot, count against a free plan’s downloads and end in an error you could do nothing about.

## During the download: the final word

The outline check only exists for Udemy, and it can miss. So the download stays the authority, for every provider. When a download fails with an error that names DRM (Widevine, FairPlay, PlayReady, encrypted content), Udemie:

1. marks that lecture as not downloadable, with the reason stated plainly;
2. hides the **Retry** button for it, because retrying cannot succeed;
3. keeps downloading every other lecture in the course.

It also tells you once, not forty times. Earlier versions sent one desktop notification per protected lecture: a queue with 79 of them fired 79 identical notifications. Since August 2026, Udemie announces DRM once per course and session, with a message that says what actually happens next:

> **What Udemie tells you**
>
> “Some lectures in this course are DRM-protected and can’t be downloaded. The rest of the course will continue.” In the app window, the notice links to the [DRM explainer](https://www.udemie.study/blog/what-is-drm-video).

## What Udemie will never do

This is a product decision, and a firm one: **Udemie does not circumvent DRM.** It does not request licences, extract keys or decrypt protected streams, and it contains no code to do so. It downloads what your own account can already access in a normal, unprotected form, and leaves protected lectures where they are meant to be watched: on the provider’s site or app, where they keep playing normally.

If a course you need is mostly protected, the honest answer is the provider’s own offline option, when it has one. Udemie will not pretend otherwise.

## The limits, stated plainly

- The pre-check covers **Udemy only**. Coursera and LinkedIn Learning rely on the download-time check.
- It depends on how Udemy publishes its course data today. If that changes, lectures fall back to *unknown*, and the download check still catches protection.
- A lecture marked *unknown* may still turn out to be protected when you download it. You will be told, once per course, and the rest of the course is not affected.
