I don't know about iframes but here is what I use. A buddy gave me the code once. Works on every major browser except Netscape, as near as I was able to determine by testing.
PHP Code:
<center><object id="video" width="320" height="240" border="1" classid="CLSID:05589FA1-C356-11CE-BF01-00AA0055595A">
<param name="ShowDisplay" value="1">
<param name="ShowControls" value="1">
<param name="AutoStart" value="1">
<param name="AutoRewind" value="1">
<param name="PlayCount" value="1">
<param name="Appearance" value="1">
<param name="BorderStyle" value="1">
<param name="MovieWindowHeight" value="320">
<param name="MovieWindowWidth" value="240">
<param name="FileName" value="../../videos/vbc027.mpg">
<embed src="../../videos/vbc027.mpg" type="MPG" width="320" height="240" loop="true" autostart="false" controls="true">
</embed>
</object></center>
You change the two lines with the filenames for each individual video (obviously). And just imbed it in the body of your html page.
To be sure, I also change the 3 sets of height and width tags to the dimensions of the individual video, but it seems to work on all browsers I tested even if you skip that step.
On each video page I also include a link to the file using a plain old hyperlink for those members who have Netscape Nav or who want to save the file for viewing later. Member's seem to like having the choice.