first of all you might want to take a look at http://camendesign.com/code/video_for_everybody
if you haven't come across it already.
anyways, this should work if you want to provide a custom flash alternative:
<video width="..." height="..." controls="controls" preload="none">
<source src="video/demo.mp4" type="video/mp4" />
<source src="video/demo.webm" type="video/webm" />
<source src="video/demo.ogv" type="video/ogg" />
<span id="flashAlternative">what, no flash+no html5? crazy!</span>
</video>
<script>
swfobject.embedSWF( ..., "flashAlternative", ... );
</script>
obviously, if you want to use a youtube/vimeo/... video as alternative you just place the embed code instead of the script tag:
<video width="..." height="..." controls="controls" preload="none">
<source src="video/demo.mp4" type="video/mp4" />
<source src="video/demo.webm" type="video/webm" />
<source src="video/demo.ogv" type="video/ogg" />
<!-- embedding code here -->
</video>
both of this solutions prefer html5 video over the flash video, if you don't want to pay for loads of bandwidth you might prefer to show the youtube video to all the people who have flash, and only fallback to html5 if that's not available. that'll look something like this then:
<object type="application/x-shockwave-flash" width="..." height="..." data="...">
<param name="movie" value="..." />
<video width="..." height="...">
<source src="..." type="video/mp4" />
<source src="..." type="video/webm" />
<source src="..." type="video/ogg" />
<!-- here comes the alternative for people who have neither flash, nor html5 -->
</video>
</object>
please notice that you cannot just copy the embed code from youtube/video and smush html5 video inside, you need to modify it so it looks like the above (data and movie attribute both specify the source of the swf file, no embed tag needed!).