The answer really depends. One common solution that gets thrown around alot is Pickle Player ( http://www.pickleplayer.com/ ). The answer though is typically, the HTML5 video tag with an MP4 is the most compatible format right now spanning across the most platforms (Chrome, Android, iOS, Safari, IE9). I would probably say WebM is next over Ogg because last I read, Google and MS are backing that and I think Firefox also supports it. Basically, just plan for time to convert or look at some commercial options like that Pickle Player. Nothing is a specification yet so information is always changing and you have to be prepared for that.
Yes there are a number of options...
I'm not really crazy about HTML 5 video right now... support is not universal and adding playlists and custom skins complicate the isse.
I recommend using the mp4 video container format and a dedicated video player that you embed in the Web page.... rather than just relying on HTML5.... which may or may not actually play the video in the Web page... rather than opening a separate tab/window/OS video player.
Here are just a few of the players available:
With a good player embedded in the page and an mp4 video, you get great quality, relatively small file size, and most players come with all code needed to embed into your Web page.
Personally, I use the JWPlayer and use QuickTime Pro to create an .m4v video file (the iProduct version of the mp4). Here is an example.... plays on both PC and mobile iProduct devices:
In the chapter on video in Dive Into HTML5 it says this:
There is no single combination of containers and codecs that works in all HTML5 browsers.
This is not likely to change in the near future.
To make your video watchable across all of these devices and platforms, you’re going to need to encode your video more than once.
And a suggested workflow:
For maximum compatibility, here’s what your video workflow will look like:
- Make one version that uses WebM (VP8 + Vorbis).
- Make another version that uses H.264 baseline video and AAC “low complexity” audio in an MP4 container.
- Make another version that uses Theora video and Vorbis audio in an Ogg container.
- Link to all three video files from a single
<video>element, and fall back to a Flash-based video player.
I think that your starting point is to consider your target audience.