I've taken the logic of limkokhole's
downloader and reimplemented
the functionality I need in a small perl
script. Give the script a link to a
show's page on Duboku, and give it the episode numbers you want, and it will
download it for you.[^1] Through analyzing limkokhole's original code and writing
this script, I've learnt about how HTTP Live Streaming (HLS) works, namely, the
use of small
.ts files to prevent the need of downloading a potentially large
video all at once.
[^1]: I do not endorse downloading videos from Duboku. I am a law-abiding citizen. Plus it's not the downloader that should be prosecuted but the uploader. Also, I didn't even write this script for myself.
My script has quite a few dependencies, and I couldn't find a way to package it. PAR Packager could not bundle everything correctly, maybe I can fix that in the future. If you want to install the script, install Perl and install the modules you see used with CPAN.
The notable differences with my script, when compared to limkokhole's, are:
- no support for encrypted
.tsfiles (I have not found that to be a problem)
- more concise, pervasive use of regex to supplant his use of CalmJS
- more streamlined command-line arguments
- no repeatedly opening and closing files
Feel free to try out my script! If you run into problems feel free to contact me.