November 25, 2005

Podcast receivers for Linux

Author: Joe Barr

If you're bored with blogging and ready for new worlds to conquer, podcasting might be just the impetus you need to refuel your interest in Internet publishing. The term is something of a misnomer. You don't need an iPod to create or receive a podcast, and it's not really a broadcast. What it is is hot, and with open source tools for both podcast creation and reception, it's a game that Linux users can play.

Almost anyone with Audacity, a microphone, and the proper plugins can create an MP3 audio file on any subject they wish to discuss. So what's the difference between that and podcasting? Timing and delivery. Podcasting assumes that there will be subsequent offerings, not just a one-time speech. If you use RSS the same way that news and blog sites do, your subscribers can be notified when a new offering becomes available.

Podcast receivers, then, must at a minimum be able to monitor RSS subscriptions and download new MP3 files when available. Some are just that simple. Others add a lot of functionality beyond the basics.

For the CLI: Podget

There are a number of Linux command-line tools for receiving podcasts. I tested Podget only because it came up first in a search at freshmeat.

Podget is actually a Bash shell script, licensed under the GPL. After downloading it, decompress the tarball and change to the resultant podget-X.X subdirectory. Then, as a user with permissions sufficient to write to /usr/share/local, execute the podget.sh script in that directory.

The first time you run Podget, it will retrieve available episodes from the default subscriptions. In the version I downloaded, they were The Linux Link and IT Conversations. Depending on the speed of your connection, this might take a while. It took about 15 minutes over my cable modem.

Podget builds a playlist for each subscription. When it finishes, you can point XMMS or your favorite audio player at the playlist and access the individual episodes from it. By default, Podget writes the playlist to /usr/local/share/POD/. The episodes themselves go into their own subdirectory within that directory.

After you've run Podget once, you can modify its two config files -- podgetrc and serverlist -- in .podget in your home directory. The default podgetrc looks like this:

# Name of Server List configuration file
config_serverlist=serverlist

# Directory where to store downloaded files
dir_library=/usr/local/share/POD

# Directory to store logs in
# dir_log=/usr/local/share/POD/LOG

# Set logging files
log_fail=errors
log_comp=done

# Build playlists (comment out or set to null value to disable)
playlist_namebase=New-

# Date format for new playlist names
date_format=+%m-%d-%Y

# Wget base options
# wget_baseopts=--proxy=off

You can change the name and location of the list containing your subscription servers, as well as the location to use for the downloads and a few other basic options. The serverlist file looks like this:

# Default Server List for podget
# FORMAT:
# NOTE: Category must be one word
# Find more servers at: http://www.ipodder.org/directory/4/podcasts
http://thelinuxlink.net/tllts/tllts.rss LINUX The Linux Link
http://www.itconversations.com/rss/category-rss.php?k=lawandit&e=1 IT IT Conversations: Law & IT

All you need to do to collect episodes from a new Podcast is to add it to the server list using your favorite editor.

Podget is a great way to get start exploring the world of podcasts.

For the desktop: Is iPodder Juice yet?

The name game
Apple's lawyers approached the iPodder project recently and requested it cease and desist the use of the iPodder name, claiming that Apple's customers would be confused by seeing iPod in the first four letters and think it was an Apple product.

As a result, the iPodder project changed its name to Juice. At almost the same time, Scott Grayban has forked the Linux version of the receiver to its own project: CastPodder. In a possibly related change, the iPodder.org Web site is now branding itself as Indiepodder.org.

Neither the fork nor the name changes have resulted in acrimony. Scott Grayban is still working on the original Juice project as well as leading the CastPodder project, and Garth T. Kidd, one of the lead developers at the Juice project, stated in an email to the Podcasters mailing list on November 14:

Fortunately for us, Apple's lawyers were polite -- almost to the point of being apologetic -- and entirely reasonable. It's not appropriate for me to go into the details of our arrangement, but I can say I don't feel hard-done-by. Sure, I wouldn't have minded not having to change our name, but that couldn't really be avoided.

The iPodder project officially changed its name to Juice
on November 15th, but Juice no longer includes a Linux version of the receiver. As of this writing, iPodder version 2.1.9 for Linux is still available here. The latest Linux versions are at the project now known as CastPodder.

iPodder a more sophisticated tool for receiving and playing Podcasts than Podget. This Python program -- licensed under the GPL -- adds more than just good looks to Podcast receiving. It will launch XMMS to play the Podcasts for you, check your subscriptions, and download new episodes at the click of a button or at predetermined intervals. iPodder also provides you easy access to all the podcasts tracked at Indiepodder.org, one of many Podcast directories on the Internet.

Click to enlarge

The first time you run iPodder, a screen appears with four tabs across the top -- Downloads, Subscriptions, Podcast Directory, and Clean Up -- and with two default subscriptions listed. There are two download options shown on the toolbar across the top of the screen: one to download new content and one to "catch up" by downloading recently added content. Clicking the "catch up" icon causes iPodder to scan the highlighted subscription and download a welcome message. It also changes the screen view to the Downloads tab where you can watch the progress of the download. Clicking on the Play icon on the left side of the download entry launches XMMS and plays a welcome message explaining how to get started with iPodder.

Clicking the Podcast Directory tab lists nine categories of podcasts from IndiePodder.org. Click on any one of them and a directory tree showing what's available there appears. Select an interesting title, click on it, and then click the Add and Save buttons and you're subscribed.

You can also manually add a subscription. From the Subscription tab, click on the Add icon and enter a URL pointing to an RSS feed, then click Save. Either way, it is fast and easy to subscribe.

Not only can you add and remove subscriptions using the toolbar on the Subscriptions tab, you can also schedule automated checks for new content. To do that, highlight the subscription you're interested in and click on the Scheduler icon. From the pop-up window that appears, check the Enabler Scheduler box and select a specific time of day to check for new content, or a time interval.

You can set your preferences for iPodder behavior by clicking File -> Preferences. The default settings worked fine for me, but if you don't have the XMMS player, you can indicate that in the Player tab and go to the Advanced tab to enter a command to execute the player of your choice following each download. There are also options for startup behavior, proxy server, and threading.

Conclusion

Podcasting is booming, and Linux users can be part of the fun. Try one of these two, or Google for others.

Click Here!