Cheating with OGG-podcasts

For about a year, I’m listening to Podcasts all the time. Until now, I was using my iPod nano with iTunes for my podcasting needs and I was pretty happy about it.

Lately though, I came across some podcasts that provide either only OGG versions or at least enhanced OGG versions (like stereo or additional content). Not wanting to start writing code to listen to Podcasts, I thought that maybe I should try out another player…

I settled with an iRiver Clix 2 which looks great, has a nice OLED display and plays OGG files.

Unfortunately though, it doesn’t play AAC-files which is what one of the podcasts I listen to is distributed in.

So I went down to code and wrote some conversion scripts that download the AAC-files, convert them to ogg and alter the RSS-feed to point to the converted files.

This worked perfectly, so today I rsynced two Podcasts to the iRiver and went to the Office, only to noticing two big problems with the thing:

  1. It doesn’t keep track of what Podcasts I’ve already listened to. As I have quite many podcasts I’m subscribed to, it’s very hard to manually keep track.
  2. And the killer: It doesn’t store the playback position. This is totally bad as podcasts usually are long (up to two hours) and while I like the iRiver’s nice ‘press-the-edge-of-the-device’ usage concept, it’s a real pain to seek in the file: Either it’s way too slow or totally inaccurate, so while seeking on the iPod would be tolerable, it’s completely impossible to do on the iRiver.

Just when I thought that the advantages of being able to play OGGs still outweigh the two disadvantages, I began thinking that maybe, maybe I could do the AAC to OGG-Hack again, but in the other direction…

So now I’m “cheating” myself into better quality and bonus content without actually really using the free format.

And this is how it works (it’s basically the same thing as the scripts I linked in the forum post above, but it has some advanced features):

  • At half pas midnight (though I may increase the interval), ogg_cast_download.php runs. It goes over a list of RSS-feeds (though I may actually automate this list in a later revision – as soon as I’m getting more and more ogg-casts), checks them for new entries (which is easy: If the file isn’t there, it must be new), downloads the enclosures (using wget for resume functionality, proper handling of redirects and meaningful output), acquires tagging information and finally converts the files to AAC format using faac.
  • Whenever iTunes checks for new podcasts, it doesn’t actually download the original, but uses oggcasts.php running on shion, passing the original URL
  • oggcasts.php checks the (symlinked) output directoy of the ogg downloader and alters the feeds to match the converted files.

And if you think you can just install the official quicktime OGG component to import the feeds: That unfortunately won’t work. iTunes refuses to directly download ogg-feeds.