May 31, 2011 1:43 PM   Subscribe

Motion JPG does everything I need it to do, effortlessly. But only in Chrome. IE doesn't natively support it.

I have a built a little proof of concept page that has a Brady Bunch style grid view of a bunch of security cameras. It works perfectly. Each stream is called using a plain old img src, 12 different camera views from a single page, and the whole thing is just as smooth as can be. In Chrome.

But, of course, the people who want to view this page are using IE.

Is there any way to make this work? The cameras are Axis M1113s, and they also serve out H.264. Can I embed a bunch of different H.264 streams in a page?

I think I can convince Those Who Need To Be Convinced to install a plug-in or add-on, but I doubt I could get them to switch to Chrome.
posted by dirtdirt to Computers & Internet (6 answers total)
It doesn't support gif?
posted by empath at 1:50 PM on May 31, 2011

The manufacturer's manual says that the camera can be configured to use a Java applet. That would potentially solve your IE problem. I also noticed that another person did the same -- but they only served Java applets to certain browsers (like IE), I think.
posted by circular at 1:54 PM on May 31, 2011 [1 favorite]

BTW, take a look at page 19 of this baby. There's a handy chart with other options for IE.
posted by circular at 1:55 PM on May 31, 2011 [1 favorite]

As it happens, I have done something exactly like this - I'm assuming it's like all the other axis cameras I have used, so the only way to get decent video in IE (I don't know about IE9, maybe it has improved) is to use an ActiveX control.

When you go to the camera's viewing page in MJPEG or H.264 mode it will load an ActiveX control from the camera (IE will prompt with the "Do you wish to install this control?" yellow bar at the top). But wait! You don't use that control, because it changes for each model of camera and sometimes with new firmware. Instead you need to grab the Axis Media Control (from here) and use that. The file you download is the SDK and inside that is a "redistributable" to actually install the control on client machines.

You can then embed it in the page using the object tag, something like this:
<object id="Player" height="290" width="470" border="1" classid="CLSID:745395C8-D0E1-4227-8586-624CA9A10A8D">
<param name="AutoStart" value="1">
<param name="UIMode" value="none">
<param name="MediaType" value="mjpeg">
<param name="NetworkTimame" value="">
<param name="MediaPassword" value="">
<param name="MediaURL" value="">
<param name="StretchToFit" value="true">

I've only tried this with a pair of cameras on a page, but there's no reason it won't work for more as far as I know.
posted by samj at 5:38 PM on May 31, 2011 [1 favorite]

Chrome Frame, which basically lets you install Chrome's rendering engine as an IE plugin, is now installable without admin rights in its experimental channel, so if you think the client can be persuaded to install a plugin, you can give them the same experience you're getting. Alternatively, Googling "mjpeg java applet" produced promising results, and if the IE flavor they're using is IE9, you can also use h264 and the HTML5 video tag. There shouldn't be any problem with using a bunch of them as long as the computer doing the viewing isn't ancient and they're not high-definition. The video decoding will even be hardware-accelerated if their machines' graphics hardware supports it.
posted by andrewpendleton at 8:25 PM on May 31, 2011 [2 favorites]

Samj, your solution looks correct. Andrewpendleton, your solution looks easy.

So, I am going with the ChromeFrame and it is NUTS how easy it is. Nuts.
posted by dirtdirt at 7:33 AM on June 1, 2011

« Older If I knew Dr. House, I'd ask him   |   Can you identify these bugs? Newer »
This thread is closed to new comments.