I've spent some considerable time researching video for Drupal the last couple of weeks, specifically the transcoding and hosting options. For Drupal 6 I knew there were lots of options but really needed to know what was quickly available for Drupal 7. Here is what I found.
There are lots of options for displaying videos and they are in different states of done. Emfield is pretty much going away in Drupal 7 in favor of the Media module. The Media module holds a lot of promise and will probably be the future of where drupal is headed. Unfortunately it is also integrated with the styles module which shows a lot of promise but doesn't seem to work very well and is very confusing right now. Hopefully this will all get sorted out and more usable in the near future. The Media module also has beginning support for playing videos from many third parties such as youtube, blip.tv and vimeo. Besides youtube, however, there aren't even dev builds available even though there are branches available in git that are probably very unstable.
Uploading and Transcoding Videos
This is a very tough problem to solve and several different solutions were created for Drupal 6 so I was hoping that some of them made their way over to Drupal 7 already. It doesn't appear so though.
Mediamover was one of the more useful modules for video in Drupal 6. It pretty much allowed you to do whatever you needed to your videos after they were uploaded. You could define the path they went on before they were displayed on your site. It was common to send them to a transcoding server and then to a CDN. It was also common to upload to youtube or a third party service. As of writing this I am unable to find a Drupal 7 branch of the mediamover module. I really hope something like this makes it over soon.
The Video module is another module that recently has been resurrected from near obsolescence. The work being done on it looks good so far but it looks like once Media is more fleshed out it will do everything that Video does and more. I'm probably going to use it for now though as it is the only solution I've found so far that has some sort of transcoding workflow built in.
The Media module does allow you to upload files (including video) of any type of media but as far as I can tell right now it doesn't have any transcoding or CDN integration. I'm sure it's coming but I can't find any sign of it right now.
I also briefly looked into Kaltura which has a great upload screen and support for kaltura community servers but the whole thing is a bit of a mess right now for Drupal 7 and doesn't really do things "the drupal way" so it isn't going to work well with our other stuff.
Ultimate Video for Drupal 7
So what would I love to see for video in Drupal 7?
What I'd love to see is an upload/import/embed field similar to that of the Media module. The Media module is really getting it right for managing video within Drupal. The ability to pick, reuse and generally manage your media is really well done. Being able to add fields to files is pretty sweet as well.
Next we need some sort of media mover that hooks into the media module and will transcode videos through either ffmpeg, zencoder or some other sort of option. Since media contains any sort of media including audio, video, etc, it would theoretically be possible to modify whatever is uploaded. Essentially an imagecache for everything.
Once the media is uploaded and transcoded appropriately, it would be nice to have different output formats. The styles module is very close but doesn't really offer customizations through the UI (or in code for that matter). I'm sure this is coming but isn't quite there yet.
Finally for rendering the video I'd love to see the player in mediafront be a style option. I really like the fact that it isn't flash based and supports the different formats so well.
So where does this leave us? Video for Drupal 7 shows great promise, especially after what we had in Drupal 6. There is still some work to be done yet to really get this right. I'd like to give a special thanks to everyone who has gotten it as far as it is now.
Does anyone have any other video thoughts or advice? Anything I missed?
Photo Attribution: zcreem on flickr