Nettuts+ has a good article detailing the current state of the various video codecs supported by desktop and mobile browsers. Basically, there’s still no single format with universal support; Flash is still the best option for the desktop, and H.264 is the only option for mobile devices. In the future browsers will natively support HTML5’s video element through WebM/VP8.