Techniques For Publishing Video
Many people want to use Drupal as a platform for distributing video. Drupal is a great tool for video distribution because there are so many ways to get it done. And Drupal is a pain in the neck because there are so many ways to get it done. It all depends on your perspective I guess. With this post I'll offer some solutions that can help you choose between some of the more reliable options for publishing video.
Host Your Own
There are plenty of modules that can assist you with creating your own 'DruTube' if you will. I will warn you that there are some pitfalls to this approach. If your site is hosted on a shared server you could slow down your entire site if your video gets popular. Hosting your own video on a shared server can work fine if you have light traffic. So don't be disuaded by my disclaimer.
The video module (Drupal 5 only) handles upload, display and basic statistics for videos. With this module you have the choice of uploading a file or linking to a file that is already on your site. It's important to know that if you're uploading files greater than 7MB you might need to adjust the php.ini file on your web server. This method works for QuickTime (.mov), Windows Media (.wmv) and Flash (.flv) formats.
FLV Media Player with XSPF Playlist (both Drupal 5) is an option for publishing Flash video files. This option integrates with Jeroen Wijering's excellent flash player to provide flash video playback withing nodes. If you use this method you will need to convert your files to Flash format prior to uploading to the site.
The Flash Video module (Drupal 5 and 6) aims to provide a soup-to-nuts 'DruTube' like solution that allows for upload, conversion to Flash and display of video. For more detailed information see the flash video tutorial created by the module developer.
You can let YouTube do the heavy lifting for you and embed the flash video back into your Drupal site. I recommend reading my previous drop titled Many Ways To Do YouTube on Drupal to find out more about this method. One shortcoming of a pure YouTube approach is that you can't make your published videos available as a downloadable podcast via iTunes or other podcast subscription software.
The hybrid approach is very simple. You host your videos elsewhere and come back to your Drupal site to post videos (and maybe even link directly to a download file) within a node on your site. This approach takes a little more work because it means you publish twice. First you upload to your video hosting provider. Then you come back to your Drupal site to include your video in a post. Some video hosting sites (like Blip.tv for instance) allow you to cross post directly from their sites over to your Drupal site.
There are a few notable benefits to the hybrid approach. The load from delivering the video won't affect your site since the media is hosted elsewhere. Transcoding of the video from your source format (probably QuickTime or Windows Media) will be handled by your video host. You also usually get a nice flash video player that you can embed on multiple sites.
Test Before Commiting
Before you commit to a particular approach I highly recommend that you do a bit of testing. Try out different methods and video hosts to see if they are going to work for you. For example, YouTube encodes video in a relatively small player. So if you want your videos to show in a large player then the YouTube approach probably won't work for you. Most third-party video hosts add their own branding to the player that they provide you. So the hybrid approach might not work if you really need a non-descript or even custom player for the flash version of your videos.
It can hurt to get very deep into the development of a production site when you find out that your video process just won't work. Consider the time and effort you put into experimenting an investment that will yield a video publishing solution that works for both you and the visitors to the site you're building.