I'm against an opt-out option, because I don't want authors to need to specify alternate content in their cases. This basically requires more time, more playtesting, more frustration from players when they are blocked because one key information was missing in one of the alternatives...
On the contrary, I'd prefer the author doing only one path, and doing it well, optimizing the video correctly and so on.
Regarding the API, I would look into
MediaElement.js
Basically, if it works as advertised it should allow us to develop mostly using the standard HTML5 / Javascript APIs for media, while having a Flash fallback to improve support. Because you know, video format support in browsers is still a mess out there, just like audio.
We need to define a standard video format though, so as to maximise browser support. Similar to what I did with audio : I enforce mp3 because that's the only format that almost everyone can play (thanks to Flash actually...)
Here, depending on the choice we make I'd go for a different format. If we use MediaElements.js , then we should enforce mp4/h264 as it'll be supported pretty much everywhere.
If we decide to go HTML5-only, then webM is a better choice.
Of course, the idea is that if we are using an API close to the standard one, then when some day a miracle occurs and everyone decides for native support of a given format we'll have no issue to embrace it.
Also, if MediaElements.js works as advertised, we might even use it to replace soundmanager2 for sound management at a later date.
Regarding the UI for playing :
- No UI (or rather no controls) when reading in top screen
- Standard UI (play, pause, seek) when examining court records and presenting.
Another idea of mine is : for the top screen rendering, instead of creating a new action and overlaying a player on top of everything, can we make it so that videos would be accepted wherever a gif is currently accepted ?
If you check
generateGraphicElement function, you'll notice I've left the possibility open to define other types of graphic elements.
Videos is obviously a good candidate for this. Imagine using a smoothly animated video of the sea as a background for example... Anyway it would be a fair bit of work on the rendering engine, and I'd probably be the one doing most of it - but it could be a powerful feature.
Overall, I'm willing to spend a bit of time on this work (provided I do find the time of course ^^) so of course I'd be here to help.