Mediaelement.js is a cross-platform HTML5 / Javascript / CSS video embedding method which has Flash and Silverlight fallback. It is included in Wordpress, from what I hear. It has been in devlopment for quite a while. The documentation could be a little better though and it's hard to find a good tutorial on using the API. Here's the basic steps:
Download latest: http://mediaelementjs.com/
All the files that are needed are in the 'build' directory.
The CSS and JS files can go in whatever folder you want them in but by default, the Silverlight and Flash files must be in the same folder as the JS. I suppose the easiest way to do the directory structure is to rename the 'build' folder to something like mediaelement and just keep all the files in there. It might be tempting to organize the structure differently but it's probably not worth it (if you do it, make sure to test on all browsers to make sure they are picking up the plugins... ugh.) There is an option called 'pluginsPath' or something similar which is supposed to let you choose where to put the Flash and Silverlight files. The rest of the files are either CSS, JS, or assets called out from the CSS (I think... sorry, not 100% on this.)
$(document).ready(function() { var player = new MediaElementPlayer('#video', { clickToPlayPause: false, autoRewind: false }); player.play(); });
console.dir(player);
$('#video').on('ended', function() { alert('The video has ended.'); });