yourselves comfortable. François, to the wine cellar! Head to the north wing and bring back the 2002 New Zealand Pinot Noir, the Marlborough, please.
François and I were just discussing podcasts and the need for some way to download and collect them effectively.
Chasing down podcasts, looking for new programs and down-loading them can take a frightful amount of time. That’s why podcast aggregators are such a great idea and why so many clients exist. Some graphical clients are rich and complex, like the wine—we’ll look at one shortly. Others are much simpler.
One of the simplest podcast aggregators I’ve seen, Linc Fessenden’s BashPodder, is nothing more than a bash shell script and a tiny one at that. Head over to the BashPodder Web site (see the on-line Resources), and download the bashpodder.shell script and the parse_enclosure.xsl file. When you get the two, copy them into the folder of your choice.
Then, have a look at the script. At less than 1K, you won’t believe how simple it is.
Excellent, François. That was very fast. Please pour for our guests. Enjoy, mes amis.
A sample configuration file, bp.conf, is also available for
download from the BashPodder site. The sample file includes some of Linc’s favorite podcast feeds, so feel free to download it if you are curious as to his tastes, but the format is simple enough that you won’t need it. bp.conf is simply a collection of feed links. For instance, here’s a file with three feeds, one for the New Scientistpodcast, Brian Ibbott’s Covervilleand the BBC’s excellent In Our Time.
http://www.newscientist.com/podcastfeed.ns http://www.coverville.com/index.xml
http://www.bbc.co.uk/radio4/history/inourtime/mp3/podcast.xml
I store this file in the same directory from which I run the bashpodder.shell script file:
sh bashpodder.shell
The script creates a folder with the date of the run as its name (for example, 2006-01-04). BashPodder runs silently and downloads all of the current podcasts to that folder. Set the program to run in a cron job, and you will always be right up to date. Be warned, however, that BashPodder will download all of the current downloads for the particular feed. There’s no picking and choosing.
Eskild Hustvedt’s GoldenPod is also a command-line driven program that is simple to use and easy to set up in a cron job for unattended downloads. This one uses Perl instead of bash and adds some useful features that aren’t present in the much simpler BashPodder. GoldenPod can run silently (with the -s command switch), but it also can report on its progress as it works. You can elect to download only the most recent pod-cast in a series rather than the entire collection (which can sometimes be huge). GoldenPod also can list available podcasts without downloading, copy files to a portable player, clean up old podcasts and provide statistics on how much space your podcasts are taking up. All this for less than 32K.
Get your copy of GoldenPod from the Web site (see Resources) and extract the tarball into the directory of your choice. If you simply run ./goldenpod from the folder in which you extracted it, the program will report that your pod-cast list is empty, but it also will create two new directories for you in your home folder. The first is called .goldenpod, which contains your configuration files and podcast list. The second is called Podcasts, and this is where your podcasts will be
down-Cooking with Linux Podcast on the Menu
If you don’t get a buzz off the wine, you will surely get high on these podcast download tools.
COOKING WITH LINUX C
CO OL LU UM MN NS S
MARCEL GAGNÉ
loaded. In the text file that you can edit using your favorite editor—is the same as BashPodder’s bp.conf file, essen-tially a list of pod-cast feed addresses.
Once you have added feeds, simply run the program again to start the download. You may want to try goldenpod --dry-run to see what you are in for or goldenpod -fto download only the latest. You then can see the progress of your downloads on your terminal (Figure 1).
When the download is done, you’ll find m3u playlist files in each of the podcast directories corresponding to your feeds (for example, ~/Podcasts/catalog/showname/showname.m3u).
Sure, it’s all command line, but once again, this is a great pro-gram to run in a cron job, quietly in the background, perhaps while you sleep. From time to time, it is also a good idea to run the program with the --stats option to see how many programs you have and how much space they are taking up.
Of course, there are graphical podcast aggregators for Linux as well, which, by their nature, expand upon the feature sets of the two I’ve mentioned. The perfect podcast aggrega-tor would, for starters, contain its own direcaggrega-tory of podcasts, categorized into an easy-to-search list of topics. Complement that with an easy one-button system to add feeds, a new show scanning feature so you don’t have to go looking for the latest shows and a system of automatic scheduled downloads running in the background, and you’ve got the makings of a great program. As it turns out, Scott Grayban’s CastPodder does all those things. Your first step toward podcast Nirvana is to head over to the CastPodder Web site (see Resources) and download a copy of the latest program. There, you’ll find packages for Mandriva and Debian, as well as tarred and gzipped source packages.
When you start CastPodder for the first time (command name: CastPodder), it creates a folder and subfolder called iPodderData/downloads in your home directory. You can override this default by selecting Preferences from the File menu. The CastPodder interface itself has the usual menu bar running along the top offering access to all the program’s features. There are four main tabs labeled Downloads, Subscriptions, Podcast Directory and Cleanup.
If it isn’t already selected when you start, click the Podcast Directory tab, and you’ll see a list of folders describing var-ious directories and top podcast collections available.
Before you go hunting for interesting shows, click the Refresh icon on the far left of the icon bar. That’s the best
way to make sure you are working from a recent list.
Now, let’s get back to those podcast directories.
Perhaps the most interesting here is the iPodder.org : Podcasting Central folder, because it contains the massive list of podcasts from iPodder.org. Click the small arrow next to the folder to list the categories, subcategories and, finally, all the various podcasts that correspond to that cat-egory. To subscribe to a podcast, click the title and then click the Add button. If the podcast you want isn’t listed here, you can add it manually by clicking Tools on the menu bar and selecting Add a Feed. As you subscribe to various podcasts, subdirectories with the names of those podcasts will be created in ~/iPodderdata/downloads. For instance, I have folders called Coverville, New Scientist Podcast and Quirks and Quarks from CBC Radio among others. Each folder holds that particular show’s podcasts, so make sure you have a lot of disk space.
Let’s go back to the Subscriptions tab (Figure 3). A list of all the podcasts to which you have subscribed is in the top half of the main window. Click any of these shows, and the bottom pane lists the various episodes, the size of the show
3 4 | a p r i l 2 0 0 6 w w w. l i n u x j o u r n a l . c o m
COOKING WITH LINUX C
CO OL LU UM MN NS S
Figure 2. No need to go hunting through podcast directories—
CastPodder provides its own extensive list.
Figure 1. GoldenPod is a simple, command-line-driven podcast aggregator.
Figure 3. Subscription lists allow you to individually select episodes for download.