Best practice for cross browser/platform video format

I’m just about to start work on a portfolio site for a friend who has a huge amount of video content which he wants to showcase. He definitely wants the video content to be viewable on iOS and Android as well as the web, can anyone advise the best way to go about this? I’ve had a look at products like FlowPlayer and JW Player but am unsure if these are the best way to go or not. His videos are currently a mixture of mp4 and quicktime movies. Thanks for any help!

This is a tricky issue, as different devices support different video types. iOS, for example, doesn’t support flash, which is a PITA. There are lots of solutions out there, all a bit of a mess, many using the HTML5 video element.

You could look at this, for example:

I found this guide in Dive into HTML5 to be quite helpful:
Different browsers/devices support different formats and codecs. The only time I’ve done HTML5 video (with Flash fallback) I encoded mp4 and ogv files which covered most.

Thanks for the replies guys. I’ve had a look at both resources - really useful. It’s definitely not a straightforward thing to do though! Given that I’m developing a CMS, do you think it would be reasonable to expect the user to encode their video in the 3 required formats (via a desktop tool like Then I would just provide an admin panel in the CMS where they can browse and select the three different movie formats - I could take care of everything else after that, in terms of HTML5/Flash fallback stuff. I don’t think it’s feasible to do the encoding on the fly via PHP - I think ffmpeg, handbrake and FFMPEG2THEORA would all have to be run via PHP CLI and this could be tricky to handle, as well as taking ages!