If you’re interested in open source pre-rolled video players – I’d highly recommend:
Video.js is an excellent open source solution. Its available in a variety of formats from raw source to WordPress Plugins. Its very robust and easy to use. I’ve used this one pretty extensively for my podcast sites.
I’ve not personally used this yet, but its VERY interesting. Basically Ambilight takes the edges of your video and projects ambient light on the sides – much like the effect some large screen televisions use. See a demo here.
SublimeVideo looks quite promising, but never seems to be ready for release. Not a slam to the project, but I’m seeing less and less of the point with Video.js working just fine. Hoping its worth the wait.
Another player I am very curious about trying out is Projekktor. Projekktor supports some additional scripting for things such as pre-roll and post-roll ads.
Why Video Players? Doesn’t HTML5 just do video and audio?
Video on the web is still somewhat immature in its implementation, but HTML5 is a major stride in moving towards a standard. Online video has come a long way since the dawn of the internet. I remember the early days of using Real Player to stream crummy pixelated video streams online. We’ve come a long way in terms of developing not only standard practice, but also ease of delivery.
In short, early web delivery of video was extremely difficult due to the variety of codecs available and also the bandwidth limitations we used to face. This made it hard to push large amounts of data, but even if you could – your viewers would most likely have to download some proprietary player.
When Macromedia owned Flash, they made a major advancement with upgrading Flash to support its own FLV format. Flash was great because it had extremely strong distribution as a browser plugin. In fact it was really the most widely used plugin in public use. When it expanded to support video this opened the door to YouTube. The codec was good enough and now you could watch video right in the browser. A few years later Flash began to support the h.264 codec which made serving video even better as it is much superior to the FLV format.
Then around 2007 mobile started becoming popular – mainly with the success of the iPhone. And unfortunately Flash support became difficult because 1) its a plugin and 2) its fairly resource intensive in terms of computing power. The iPhone did however support h.264 video rather nicely – and still does. So all was not lost, but it does create some questions to content developers as to what is the best and most simple solution of delivering content.
HTML5 is still maturing, though it does offer a native tag for video content. The bigger problem is still codec support. It seems we’ve got it down to 4 choices now which is still 3 too many. Internet Explorer and Safari support h.264, Firefox only supports Ogg Theora, and Chrome is going to only support WebM according to Google. At the moment it still supports h.264. Then you’ve got Flash as a fall back for exceptions and older browsers.
Solving this isn’t really that big of a deal. If you’re “rolling your own” player you can write some scripting to make all this happen pretty smoothly. Or if you can do it – the easiest solution is just to embed your content via YouTube. Vimeo is a nice solution as well. You can embed their players via iFrame tags and let those companies worry about the content delivery. However not everyone can use Vimeo and YouTube for a number of reasons for their content hosts and then we’re back to rolling our own so to speak.
As HTML5 matures I’m sure we will see easier ways of making this all happen, but until then its still all a 3-4 step solution.