Currently, the best way to embed video on a webpage that will work across most browsers and devices is to use a combination of flash and html5. Embed a flash-based player with swfobject, and present html5 video as the alternate content. VideoObject (vidobject.swf) is a flash player that I’ve created that is open source and available for free commercial and non-commercial use.
There are cross-browser non-flash video embedding methods out there, but they require you to create and serve multiple encoded versions of your video. This method enables you to deliver video in a single fomat (baseline h.264 mp4). Follow Apple’s specs for Mobile Safari compatibility. This format will also work for flash, so creating multiple formats is not necessary.
To create a poster image for the video, make it the first frame. (The poster attribute for the html5 video tag isn't supported by Apple until at least iPhone SDK 4.0)
Basic VideoObject Embedding
A VideoObject embed with no custom parameters set:
Video Size - To embed videos of different sizes, simply set the correct width/height values on the object and video embed tags.
Player Color - To change the colors of the flash player chrome, set FlashVars backgroundColor and buttonColor values.