There are essentially two ways to universally ensure your video can playback:
Encoding and storing multiple versions of every video is time consuming and expensive, so many people prefer option #2. In this scenario, you serve the same video to some clients using native HTML5 support, and to others using a plug-in like Silverlight.