Application to download Kadenze (https://www.kadenze.com) videos for courses you enrolled in.
Download videos for offline usage / archive based on your profile information given in the configuration file to download videos courses.
Image size is 1.86GB.
docker pull ghcr.io/gaarv/kadenze-dl:latest
Pass options to command line:
docker run --rm \
-v /absolute/local/path/to/download:/app/download \
ghcr.io/gaarv/kadenze-dl kadenze-dl \
--login "[email protected]" \
--password "mypassword" \
--download-path /app/download
Here, /absolute/local/path/to/download
is where you want to do download videos on your system. Other paths defined in the command line as /app/download
do not need changes as they refer to the Docker internal path.
You may also use a Configuration file:
docker run --rm \
-v /absolute/local/path/to/download:/app/download \
-v /absolute/local/path/to/configuration.yml:/app/configuration.yml \
ghcr.io/gaarv/kadenze-dl kadenze-dl \
--config-file /app/configuration.yml
In this setup, the download path defined in the configuration file must match the Docker internal path /app/download
List all available options with:
docker run --rm ghcr.io/gaarv/kadenze-dl kadenze-dl --help
Preferably in a virtual environment, install package (Python >=3.8). Download or clone repository, then into root directory:
pip3 install -U .
Change directory to kadenze_dl
:
cd kadenze_dl/
Run the app, example:
python3 kadenze-dl.py \
--login "[email protected]" \
--password "mypassword" \
--download-path /home/user/videos/kadenze
List all available options with:
python3 kadenze-dl.py --help
A YAML configuration file can also be used, template is available as configuration.yml
in kadenze_dl
directory:
python3 kadenze-dl.py --config-file configuration.yml
Replace placeholder fields in the configuration file in YAML format, example:
kadenze:
login: "[email protected]"
password: "mypassword"
download:
proxy: "" # Proxy URL, ie. "http://127.0.0.1:3128". Empty string "" if none.
resolution: "720" # Video resolution to download. Valid values are "720" or "360".
download_path: "/home/user/videos/kadenze" # The absolute path to download to
courses: # Courses to download, as they appear in the URL. You can also use the keyword "all"
- "creative-applications-of-deep-learning-with-tensorflow-i"
- "physics-based-sound-synthesis-for-games-and-interactive-systems-iv"
Courses names must be reported as they appears in the URL, examples:
https://www.kadenze.com/courses/creative-applications-of-deep-learning-with-tensorflow-i
https://www.kadenze.com/courses/physics-based-sound-synthesis-for-games-and-interactive-systems-iv
In configuration.yml:
courses:
- "creative-applications-of-deep-learning-with-tensorflow-i"
- "physics-based-sound-synthesis-for-games-and-interactive-systems-iv"
You can also use:
courses:
- "all"
To download all courses listed in your "Home" page (including archived ones).
For manual selected courses, you can get links from the "Home" page of your account or from the "Dashboard" URL on the left panel inside a course.
- kadenze-dl only support login from email / password.
- you must be enrolled in the course for which you want to download related videos as they need to appear in your account.
- please be fair to Kadenze and keep the videos for offline and personal use only, do not redistribute them
- videos already present in the same path but incomplete are re-downloaded at the next run
Thanks to Vladimir Ignatyev for the progress console bar : https://gist.github.com/vladignatyev/06860ec2040cb497f0f3