#sp-dl

South Park is one of my guilty pleasures. All of its episodes
are available online for free[1], but they cannot be streamed
easily (or at all) without a modern browser and javascript.
Worse yet, it's impossible to get the full list of episodes without
the same.

Fortunately, the yt-dlp[2] tool, which is used for downloading
and streaming videos from youtube and virtually any website that is
not riddled with proprietary drm can download south park episodes
as well. Thus the only trouble that remains is the lack of a list
of urls that could be fed to yt-dlp.

I have compiled it[0].

You can now feed yt-dlp with a url of an episode and download it.


usage:

Pick an episode url from the file and execute:

 $ yt-dlp URL

ie:
 
 $ yt-dlp https://www.southparkstudios.com/episodes/mfcnvu/south-park-damien-season-1-ep-10

The command will download the episode in four or five parts.
The episodes are split like this in order to serve ads between them, 
when watching on the website. Since the parts are titled
appropriately, you can easily play them in a sequence (using the
previous example):

 $ mpv *Damien*

You can also use ffmpeg to combine the four parts into a single 
file ala:

 $ ffmpeg -f concat -i file.txt -c copy combined_file.mp4

Where 'file.txt' is a file containing the names of the files 
to be combined.

That is all.

[0] gopher://triapul.cz/0/files/south-park-episodes.txt
[1] https://southparkstudios.com
[2] https://github.com/yt-dlp/yt-dlp