- Joined
- Jan 8, 2019
- Messages
- 56,623
- Solutions
- 2
- Reputation
- 32
- Reaction score
- 100,456
- Points
- 2,313
- Credits
- 32,750
6 Years of Service
76%

A cross-platform python based utility to download courses from udemy for personal offline use.
Warning
Udemy has started to encrypt many of the course videos, so downloading them may be impossible/illegal because it involves decrypting DRM'd videos which opens up the author to DMCA takedowns/lawsuits. If you use udemy-dl and some/all videos are skipped, please don't open a new issue or comment that the issue still exists. All requests to bypass DRM/encryption will be ignored.
Important Note:
Don't share your credentials until the issue is properly tagged/labeled with account-needed.
Owner of this repository is not responsible for any misuse if you share your credentials with strangers.
Tested on
Windows 7/8/8.1/10
Ubuntu-LTS (tested with super user)
Features
Added proper session management.
Resume capability for a course video.
Added proper logging errors and warnings.
Support multiple courses download from file.
Supports organization and individual udemy users both.
Added support to download hls based streams if available.
Added functionality to reset lecture number to start from 1.
Added switch for session caching on demand. (option: --cache)
Convert WebVTT to SRT but donot delete WebVTT. (option: --keep-vtt)
Skip fetching HLS streams, This will make the fetching fast. (option: --skip-hls)
List down course contents and video resolution, suggest the best resolution (option: --info).
Download/skip all available subtitles for a video (options: --sub-only, --skip-sub).
Download/skip all available assets for a video (options: --assets-only, --skip-assets).
Download specific chapter in a course (option: -c / --chapter).
Download specific lecture in a chapter (option: -l / --lecture).
Download specific subtitle for a lecture (option: -s / --sub-lang).
Download chapter(s) by providing range in a course (option: --chapter-start, --chapter-end).
Download lecture(s) by providing range in a chapter (option: --lecture-start, --lecture-end).
Download lecture(s) in requested resolution (option: -q / --quality).
Download course to user requested path (option: -o / --output).
Authentication using cookies (option: -k / --cookies).
To see this hidden content, you must like this content.