Serial podcast feed generator
This post is deprecated; see the new serial podcaster page.
Based on my experiences at ODCE 2007 and general Internet wanderings, it looks like the term “podcasting” now means “putting audio files online.” Just so we’re clear, people were putting audio files on the web long before there was an iPod or iTunes. What distinguishes podcasting from plain old file-hosting is that with podcasting, the audio file is distributed on a subscription model. When a new file is uploaded, an aggregator (iTunes, Google Reader, whatever) lets the subscriber know there’s a new file; the subscriber doesn’t have to keep checking back at a certain page for new content.
A problem for educational podcasting
What if an instructor wants to podcast (subscription model) audio files? He has a few options. He can tell students to subscribe to his blog and then post audio files there on a weekly basis. This is a great option for the first quarter, but what does he do in subsequent quarters? All of the previous posts will be “old,” and new students won’t see them when they subscribe to the blog in a subsequent quarter. What he needs is something that will update the RSS feed based on the quarter’s start date and a determined update interval.
A solution
I put together a little php script that can solve this instructor’s problem. The big-picture process requires:
- a directory of audio files, preferably tagged with metadata (id3)
- my script
- getID3()
Download getID3(), drop my script in the same directory as the audio files, modify a few settings in the script, and you’ve got a feed that will update itself at a given interval.
It’s not too difficult to implement, so let me walk you through it.
- Download getID3() and put it somewhere on your server
- Get your audio files for a single course in a directory on your server. The filenames should sort in the order you want them to appear, such as week01.mp3, week02.mp3, etc. If they don’t sort by name in the proper chronological order, rename them so they do!
- Put my script in the same directory as your audio files. Rename it so it has a .php extension, e.g. rss.php or something.
- Edit some settings at the top of the script:
- specify the path to getid3.php: require_once(’getid3/getid3/getid3.php’);
- specify the base URL for your audio files: $baseURL = ‘http://yourserver.com/somefolder’;
- give the feed a name: $channelTitle = ‘Serial podcast feed generator demo’;
- describe the feed: $channelDescription = ‘Testing scheduled delivery system’;
- specify the month your academic term starts: $startMonth = 3;
- specify the day of the month (above) the academic term starts: $startDay = 1;
- specify the update interval (in days): $interval = 7;
The code is well-commented, you shouldn’t have any problems with this part.
- You’re done! Test it out by subscribing to your new feed. The URL would be http://yourserver.com/somefolder/rss.php (or whatever you renamed the script to).
You can see a couple of sample feeds, one that started on March 1 with an interval of 7 days (here), and one that started on February 19 with an interval of 7 days (here). These mp3 enclosures are all the same file, I just copied them, renamed them, and edited the id3 tags to give them different titles. Currently, the only tags the script reads are the title, artist, and comments tags.
To do
generate an html page with embedded flash player(updated here)think about validating the feed(done 9 March 2007)- get instructors to record some audio files!
- how to handle multiple posts per week, such as an audio file and pdf and video posted every Monday
- add more mime types, currently only looks for audio/mpeg and application/ogg
March 8th, 2007 - 8:55 am
[…] thinking about it a little more, I decided it made more sense to have the serial podcast feed generator default to showing an HTML page with embedded flash mp3 players rather than generating just the RSS […]
March 8th, 2007 - 10:55 am
Thanks for the tip. This issue may not be as complicated as it first appears. Not every educator is going to be a blogger or podcaster but she may want to offer a collection of audio materials in a feed for easy collection and porting into portable devices or desktop players. So, for instance, a collection of the same 10 lectures could offered in a feed each term as part of the online materials without any need to update the feed.
If you have not already, consider joining the podcasting listserv managed by OLN http://oln.org/lists.php. Your tips above would be a nice addition to the wiki we created on podcasting (actually, “created” is generous. Few have contributed so far!). See http://wiki.podcasting.oln.org/
As for the definition of educational podcasting, I feel like abandoning the term altogether and simply focus on using audio effectively as a teaching and learning tool.
March 8th, 2007 - 12:06 pm
Rich, good point. You could distribute all audio files at once by setting the update interval to zero.
October 23rd, 2007 - 1:35 pm
[…] Serial podcast feed generator […]