Movies v0.4, now with MediaElement support!

Just checked in v0.4 of Movies.

In the past couple months, I have learned a LOT about dealing with video on the web. I would describe the experiences I have had as “bone-crushingly painful,” “annoying,” and mostly “a gigantic waste of life.”

In my work building sites with WordPress, and with the work I have done at eMusic, I have been trying to find a default solution to use for video that works cross-browser / cross-platform / everywhere. Something painless, beyond easy, that degrades gracefully.

Here are my observations so far:

  • Ogg Theora (the video codec Firefox supports for native HTML5 Video) plays like hell in Firefox (or I’m encoding it wrong… nah, it plays like hell in Firefox)
  • Flash is mostly better than HTML5 Video in all cases except for WebKit browsers
  • a unified UI is way more important than broad HTML5 support
  • Flowplayer (VideoJS‘s Flash-fallback) is a bag of hell
  • MediaElement gets more right than VideoJS

Accordingly, I have made MediaElement the default player for Movies. You can still use VideoJS by editing one line of  code in the plugin file (you will get an admin warning that makes this painfully obvious) if you want, but I am going to recommend that MediaElement wins this fight.

I haven’t abandoned VideoJS. I updated the JS/CSS to the latest release, and I will keep a watchful eye on their development.

Because MediaElement maintains a consistent UI, I am only setting the MP4 source for the Video tags that are rendered. Flash beats Ogg Theora to a pulp in Firefox – it is sad by how much.

I have also added a new function to the Movies API (the_flash_video()) which will render only the Flash embed code on the page (no HTML5 Video tag) if that is what you desire. I found a use case for this when working on a Theme I am porting from Tumblr – stay tuned.