Apple's iTunes "supports" Podcasts by (AFAICT) forcing you to subscribe to all of them through the iTunes store -- anything coming from outside is treated as "Music" and excluded from the "Podcast" section of iTunes and anything sync'd with iTunes -- which both makes it harder to find, and means that the externally added files aren't treated like a proper Podcast. Since I download my Podcast files outside of iTunes, not infrequently on another machine, this is inconvenient.

Fortunately in iTunes 9 (but not anything earlier AFAIK) there's finally a way out of this predicament:

  1. Find MP3 file in Music Library (eg, "Recently Added" smart list) and select it

  2. Open information page ("Get Info": Cmd-I)

  3. Go to options tab (Cmd-5 at present)

  4. Change "Media Kind" to Podcast

  5. Close tab, observe file now appears in "Podcast" and can be sync'd to external devices like that

(Found via final comment on this thread.)

Under the hood this is manipulating some Apple/iTunes-specific ID3v2 tags in an appropriate manner to make iTunes consider that the files are Podcasts. Apple's Podcast Specifications are filled with technical details, but don't mention these fields, so they appear to be added by iTunes as it downloads the files from a Podcast feed.

MP3Tag (Windows only) has added support for the extra iTunes specific tags, under their "extended tags" section with their own names (ITUNESPODCAST, ITUNESPODCASTDESC, ITUNESPODCASTID, ITUNESPODCASTURL) which provides a way for Windows users to manipulate them, although there is no command line options.

Under the hood the ID3v2 tags are:

  • PCST: 8-byte integer (treated as boolean: 1 == "Is a Podcast file"; delete tag when not relevant) (MP3Tag: ITUNESPODCAST=1) -- used to mark as a Podcast file

  • WFED: string: URL of Podcast feed (eg, RSS file) (MP3Tag: ITUNESPODCASTURL) -- used to group Podcast from the same feed together

  • TGID: string: URL of the specific Podcast episode (treated as GUID for the episode)

  • TDES: string: description of podcast (MP3Tag: ITUNESPODCASTDESC) -- appears as a description of the Podcast

Also used:

  • TDRL: yyyy-mm-ddThh:mm:ssZ -- publish timestamp (in GMT), used for sorting Podcast files (ID3v2.4 tags only) (MP3Tag: RELEASETIME)

(MP3Tag tag list; more extensive audio metadata tag cross reference)

Going the other way (Podcast -> Music) involves removing these special tags (which is a C program to search and remove the relevant tags).

I haven't yet found a program other than MP3Tag (eg, one that works under Linux or Mac OS X) which will edit those tags, but I'm hopeful that one exists (or can be extended) in order to make bulk changes easier. (There's an AppleScript to do the conversion although that appears to need Apache running on the Mac, and just adds a menu option to iTunes.)

Related: Online iTunes Podcast Feed to RSS XML Feed converter -- although it appears to advertise itself in the resulting feed. And Atomic Parsley, a library for adding/editing/deleting metadata from MPEG-4 files, used by various tools.

And now for something completely different: Life Hacking, the Movie which is a movie based on Life Hacker, et al, available as a DVD (US$15) and eventually to be available "online" (US$10 as a preorder).