2010-01-15

IE <video> tag

I have started hacking a <video> tag implementation for Microsoft Internet Explorer, based on the work of Vladimir Vukićević's IECanvas experiment. Source code is located here.

The AxPlayer will use the DirectShow OggCodecs for the actual video playback. At the moment it doesn't do much, it just displays a gray rectangle where the video should be, as seen below:



Internet Explorer versions 6.0 and 7.0 required the following syntax for Binary Element Behaviour components:
<html xmlns:html5>
<head>
<object id="videoFactory" classid="clsid:7cc95ae6-c1fa-40cc-ab17-3e91da2f77ca"></object>
<?import namespace="html5" implementation="#videoFactory"?>
</head>
<body>

<p>This is a header </p>

<html5:video src="http://videos.mozilla.org/firefox/3.5/meet/meet.ogv">
<p>your browser cannot handle video tag</p>
</html5:video>

<p>This is a footer </p>

</body>
</html>

Internet Explorer 8 has an improved syntax:
<html>
<body>

<p>This is a header </p>

<video src="http://videos.mozilla.org/firefox/3.5/meet/meet.ogv"
xmlns="http://www.w3.org/1999/xhtml">
<p>your browser cannot handle video tag.</p>
</video>

<p>This is a footer </p>

</body>
</html>


The <object> information has been moved into Windows Registry instead of html code:


The xmlns needs to be there in order to link <video> tag to AxPlayer, but the code looks way better :)


Next steps would be:

  • Actually display a video instead of a gray rectangle

  • Modify the OggCodecs source filter to proper handle videos from network

  • Implement the <video> and <audio> W3C HTML5 tag specifications

  • Improve the user experience by implementing all it's needed for Internet Explorer not to display the ActiveX warning popups.

3 comments:

Ivo said...

Now this, this is good stuff and may actually make a difference when it comes to <video> adaptation.

I'll keep following your progress. Congrats for a good initiative.

Unknown said...

or, alternatively, as a tremendous service to all members of humanity that occasionally design websites, you *could* inform users about the many available methods by which they can upgrade their ancient, broken, hellspawn web browsers.

Anonymous said...

sounds promising :-)