And it can be all done from a Content Editor Web Part if you like by using a <div> and the built in mediaplayer.js script shipping with SharePoint.
Here is an example on how it could be used:
<xsl:template name="OuterTemplate.GetEditLink"> <xsl:param name="UrlColumnName"> <xsl:if test="$UseCopyUtil = 'True'"> <xsl:value-of select="concat($RootSiteRef,'/_layouts/CopyUtil.aspx?Use=id&Action=editform&ItemId=',@ID,'&ListId=',@ListId,'&WebId=',@WebId,'&SiteId=',$SiteId,'&Source=',$Source)"> </xsl:value-of> </xsl:if> <xsl:if test="$UseCopyUtil != 'True'"> <xsl:call-template name="OuterTemplate.GetSafeStaticUrl"> <xsl:with-param name="UrlColumnName" select="$UrlColumnName"> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:param> </xsl:template>
<xsl:variable name="SafeLinkEditUrl">
<xsl:call-template name="OuterTemplate.GetEditLink">
<xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>
</xsl:call-template>
</xsl:variable>
<a href="" title="{@LinkToolTip}"
onmouseover="javascript:this.style.cursor='hand';"
onclick="javascript:SP.UI.ModalDialog.ShowPopupDialog('{$SafeLinkEditUrl}');return false;">
<xsl:value-of select="$DisplayTitle"/>
</a>