$ show Puyodead1/udemy-downloader
This repository contains a monolithic Python CLI tool for downloading Udemy courses, including DRM-protected video content. The core logic in main.py orchestrates authentication (bearer token or browser cookies), fetches course curriculum via Udemy's private API, and downloads lectures, subtitles, assets, quizzes (normal and coding assignments), practice assignments, and role-play exercises. It relies heavily on external tools: yt-dlp for DASH/HLS segment downloading, aria2c for accelerated downloads, ffmpeg for muxing and video transcoding, and shaka-packager for DRM decryption. The code is functional but lacks modularity, with global state, sparse error handling, and a monolithic main script. The standout component is mp4parse.py, a well-structured MP4 box parser that extracts PSSH headers for Widevine key identification, which could be extracted and reused independently. The project is no longer actively maintained as stated in its README, and some dependencies may be outdated.
The LLM identified 2 files worth highlighting for reuse:
Provides a general-purpose MP4 box parser that can extract various BMFF boxes, including PSSH headers. Uses bitstring to parse binary data and handles fragmented MP4 files. Could be reused in any project that needs to inspect MP4 file structure or extract protection system specific headers for DRM key retrieval.
Converts WebVTT subtitle files to SRT format using webvtt-py and pysrt. A small, self-contained utility that could be reused in any project requiring subtitle format conversion.