A podcast is rich media, such as audio or video, distributed via RSS. Podcast derives from the words broadcast and iPod. Podcasting lets you automatically receive the latest show of your chosen programme as soon as it is available. Podcasts are shows, similar to radio or TV shows, that are produced by professionals or amateurs and made available on the internet to stream and/or download.
poddl is a cross platform command line podcast downloader for batch downloading all, individual, or a range of podcast episodes from an RSS feed.
Installation
There are precompiled binaries available for Linux and Windows, but let’s build the program from source. I built the software with Ubuntu 24.04.
My test system was missing the libcurl4-openssl-dev package which is installed with the command:
$ sudo apt install libcurl4-openssl-dev
Next clone the project’s GitHub repository:
$ git clone https://github.com/freshe/poddl
Build the program:
$ g++ *.cpp -O2 -std=c++11 -lcurl -o poddl
I can now move the poddl binary to somewhere on my PATH e.g. /usr/local/bin
$ sudo mv poddl /usr/local/bin
In Operation
I can see how to use the software and the various optional arguments by issuing the command $ poddl
To get started, you’ll need to know the RSS for a podcast. There are many online services that make this process simple.
Let’s say you want to download podcasts from Destination Linux. Their RSS feed is at https://destinationlinux.org/feed/mp3/
I can download podcasts with the command, setting the output path as follows.
$ poddl https://destinationlinux.org/feed/mp3/ /home/luke/Podcasts/Destination-Linux/
If you’re going to pass any optional arguments, you’ll need to also use the -o flag for the output path. For example, I find it useful to append the publish date to file names. The previous command then becomes:
$ poddl https://destinationlinux.org/feed/mp3/ -o /home/luke/Podcasts/Destination-Linux/ -p
You may not want to download every podcast. There are options to download a single episode, a range of episodes, or to download only a specific number of episodes. There are a few other common combinations I use such as only downloading the most recent episode:
$ poddl "https://podcast-feed" -t 1 -r -o /output-path
Summary
poddl is a useful tool if you like listening to podcasts offline. The program skips files that already exist in the output folder.
Website: github.com/freshe/poddl
Support:
Developer: Fredrik Blank
License: MIT License
poddl is written in C++. Learn C++ with our recommended free books and free tutorials.