Showing posts with label Internet Explorer. Show all posts
Showing posts with label Internet Explorer. Show all posts

2011-01-06

ActiveX <video> controls

The recently released OpenCodecs release, beside fixing bugs and updating audio and video codecs libraries adds support for "controls" attribute in the ActiveX <video> player.

Without further ado here is a video showing this feature:


The ActiveX <video> player uses DirectShow to render an URL. The DirectShow "File Source (URL)" filter downloads a file from beginning to the end and it doesn't support seeking until has downloaded the whole file. This behavior is unfortunate and I hope I can fix this by writing my own "File Source (URL)" filter.

The above video presents a Theora video, which at first it has 0:00 length and then it has the right duration. This is due the fact that the current DirectShow Ogg demuxer needs to have access to the whole file in order to build the seeking table, the ActiveX player knows when the download is completed and builds the seeking table at the end. WebM should not have this limitation.

The UI was borrowed from Firefox and I've used GDI+ to draw the controls. I hope to use Cairo in a future version, in order to have prettier controls and to share it with the Kate subtitles decoder.

This should make the ActiveX player a bit more usable. In the next version besides having a new URL source filter I plan to add scripting support in order to control the ActiveX player from JavaScript code.

2010-05-16

rOGG on!

The "rOGG on!" title was borrowed from the FSFE campaign: Radio stations granted awards for using Open Standards. I think FSFE should also "boo" radio stations which drop support for Open Standards (Radio Swiss Jazz used to have a Vorbis stream)

In a previous blog entry I was presenting a technical preview of the HTML5 <video> tag running on Internet Explorer. That version worked only in
a few controlled cases.

I have released a new Xiph.Org Ogg Codecs version (grab it from here) which makes the technical preview of the HTML5 <video> tag a bit more useful.

In this version I have dropped the custom file/network reading code and now I rely on built in DirectShow filters to provide the same (better) functionality. Now one can listen to Absolute Classic Rock behind a network proxy using Windows Media Player.

Here are the improvements to the HTML5 <video> tag:
  • URI support given by uriparser library
  • VMR9 support (instead of VMR7), this requires DirectX9
  • Internet Explorer Standards mode support, instead of just Quirks mode
  • width and height basic attribute support
Here is a modified "Patent Absurdity" web page, to give it a try.

I have made a screen cast to illustrate the new features (better viewed full screen):

The wallpaper picture was taken in the beautiful island of Burano

I would like to thank Philip Jägenstedt for his contribution, which speedup this release.

2010-02-22

IE <video> tag - Take Two

Recently I have released a new version of Xiph.Org Ogg Codecs (grab it from here), this new version includes a few Theora and FLAC bugfixes, better Windows 7 support and a Technical Preview of the <video> tag for Internet Explorer.

By Technical Preview I mean only basic playback, no seeking, no controls, no HTML5 interfaces.

I have made a screen cast showing this feature:



To enable <video> tag for Internet Explorer you need to add xmlns="http://www.w3.org/1999/xhtml/video" attribute.

Edit: It works only when Internet Explorer is in Quirks mode

Mozilla's Bug 435339 - DirectShow backend for HTML5 video element - has helped me a lot, to say the least (thank you Chris Pearce).

The webpage used in screencast is: http://people.xiph.org/~maikmerten/demos/bigbuckbunny-videoonly.html with the xmlns attribute for <video>. Note that I have copied the webpage and the movie on my webserver, that page does not have the xmlns attribute.

Hope it works for you as it did for me in the screen cast above :)
Download the 32bit version installer from here (1,09Mb).

Edit: In order to use the <video> tag on Internet Explorer 6.0 and 7.0 please read my first IE <video> tag blog entry.

I have found out that there is an incompatibility between Windows XP and VMware while using the DirectShow Video Mixing Renderer 7 filter.

2010-02-11

IECanvas build

In my previous blog entry I've mentioned Vladimir Vukićević's IECanvas experiment, but at that time my IECanvas build was not working.

In the meantime I've made it work, added support for the new IE8 xml namespace, removed some of the ActiveX usage popups (there is only one infobar popup at first run), packaged it in a small installer.

Souce code with all dependent libraries (cairo, pixman, libpng, zlib) is located here. Download the 32bit installer from here (329Kb)

I've made a screen cast about how IECanvas experience looks like (nice beta fish background):



The two presented canvases are: squares with alpha blending and clock (which should look a bit different in other browsers than in the video)

One only needs to add the xmlns="http://www.w3.org/1999/xhtml/canvas" attribute to a <canvas> tag to have canvas working on IE, but the <canvas> support in IECanvas is far from complete.

<video> will have the same user experience as the IECanvas ActiveX,
and it theory it should be able to coexist with the <canvas> tag.

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.