RSS Feed for This PostCurrent Article

Podcasting With Drupal

I’ve long believed that Drupal would make a great platform for everything from a single podcast to an entire network of podcasts. In general Drupal has been a bit short on modules that make podcasting easier but that has changed recently so now is a good time to point out what I’ve learned.

Why Drupal Is Good For Podcasting

The most compelling reason to use Drupal to power a podcasting site is the fact that you have the ability to expand your podcast into a community on the same domain. Drupal’s core account and profile system makes this a relatively easy switch. By adjusting a few settings your users can participate in forums or write their own blog posts. Drupal also has a module called Notify that allows registered users to get new podcasts and other content directly via email.

I also like the fact that you can customize a content type for your podcast using the content construction kit. This allows you to create content outside of the standard title + description format. You can then use the views module to completely customize how your podcasts are displayed on the site.

I like flexibility. And Drupal offers great flexibility for non-programmers who don’t want to get into PHP code.

How You Can Use Drupal For Podcasting

If you like you can start with basic blog posts and enable the core upload module. Uploading a media file with this module will allow automatically create an enclosure tag (which is what you need to have a podcast) in your RSS feed. You could also use the contributed attachment module to attach a media file to your content for podcasting.

There are two major shortcomings when using the modules mentioned above. Upload file sizes are limited via the browser. This depends on the web host but it could be anywhere from 2MB to 7MB. Storing media files for podcasting on the same server as the website can cause severe performance degradation if your media gets lots of requests.

Audio Module

The audio module may work well for you if you will only be working with audio. This module provides the best overall podcasting support in Drupal by letting you create multiple channels (if you want to start a network this is helpful) and also supporting the iTunes podcast specification. You can also take advantage of a flash audio player with this module so your visitors can listen via the browser. On the downside you must upload your media from the browser (external links are not supported) and you may still have some issues with media being hosted on the same server as web pages. Also consider the fact that this won’t help you if your content is in video format.

Video Module

The video module is one to consider if you want to podcast with video. This module allows you to upload files from the browser or link to a file on your site (uploaded by FTP for example) or an external site like Blip.tv. The linking capability is a plus as it removes the file upload limits since you can upload via FTP and potential problems with server load by allowing you to host your videos elsewhere. On the downside, the video module does not provide you an RSS feed with support to get listed in the iTunes directory.

Newer Modules

Audio and video are modules that have been around for a while. I recently noticed a pair of modules that can make podcasting with Drupal quite a bit easier. The RSS Remote Enclosure Module allows you to provide a link to a file that will then be placed in your RSS feed for that content type as an enclosure tag. So this allows you to write a post using the core blog module and then add a link which can be downloaded by any podcast subscription application, including iTunes. And although this does not help you with your iTunes tags you can use this module to create podcasts very quickly using Drupal. I am using this module on a feed generated by Drupal here. It works very well.

The Views Podcast module allows you to create an iTunes directory compliant podcast feed from any view. You can learn more about how to use the view module by watching my video tutorial on the subject. This module appears to be a little more complicated than RSS remote enclosure but provides flexibility and the much desired iTunes directory support for power users.

iTunes Support

I want to make sure that my point is clear with respect to iTunes support. Any RSS feed with enclosure tags can be subscribed to with iTunes. My video tutorial here shows how that is done. The iTunes tags are important in order to get a podcast listed within the iTunes directory. About 85% of my audience comes from iTunes so getting listed there is important. If needed you can always use an external service like FeedBurner to create an alternate feed that you can use to maintain your iTunes directory listing.

Drupal Podcasting Best Practices

I’m a fan of hosting media off the website. So I would start by using a third party media hosting provider like LibSyn, for audio and video, or Blip.tv if you’re only serving up video. The advantage with a service like Blip.tv is the fact that they will encode your video to flash for display in the browser and provide you a unique link to your video file. Keep in mind that while YouTube does give you a flash player there is no download link for your original file. Go here to see my Blip.tv powered video podcast on a Drupal site.

So given the fact that I host my media off-site I use a custom content type plus the RSS Remote Enclosure module to generate a page view and corresponding RSS feed that works for podcasting. I also make sure that my urls are clean and easily reflect the show number and title in the link to the episode. This helps to optimize your content for discovery via search engine. I also make sure to embed a flash player within the page so that people can consume the content immediately upon arrival to the page.

I can’t stress enough the importance of hosting the media on a different server. If your shows do get popular you don’t want your web presence to be knocked out by a flood of traffic to the files.

How Drupal Can Be Improved

While Drupal is a great website and community building tool it is by no means a rich media distribution platform by itself. That’s why I’m a big advocate of using third party media delivery services for audio and video. Workflow takes extra time when you have to upload in one place and then come back to post the link and description on your drupal site. Modules like Media Mover aim to ease the process of integration with services like Amazon S3. I think that something like this is the right idea as I don’t feel that Drupal will work best as a media storage and delivery solution. Let the big boys do the heavy work. A script that would allow for larger uploads with a progress bar right from the web page would be very welcome though. FileChucker is one that works well but is not open source.

The iTunes RSS compliance is an area where Drupal can be greatly improved as well. Yes, there are modules that can help. But all in all there are limitations which can make implementation difficult for admins who are new to Drupal. I would like to see a single podcasting module that supports audio or video, allows users to link to or upload files, provides support for the iTunes directory specification and also integrates well with media players like Jeroen Wijering’s Flash Media Player.

Final Thoughts

You can publish one or many podcasts using Drupal as it stands today. The process could certainly get better though. For my part I’m going to start writing out some specs for a unified podcasting module. And I’ll consider sponsoring development if my finances will warrant it in 2008. I’m sure others are thinking along these lines as well. So I’ll be watching modules page over on Drupal.org to see if anything promising shows up in the meantime.

Trackback URL

RSS Feed for This PostPost a Comment