Webcam not working under IE v 11


#1

Hi all. Just joined - 1st post.

Installed latest version of Octoprint yesterday and have got it working fine both locally and via the web using No-Ip. My browser of choice is Chrome and I can see no problems using it.

However - if I try Internet Explorer 11 (Windows 10) all works fine except the Webcam. I get the black screen with "Webcam stream not loaded". My webcam is a fairly old Microsoft HD (6 X 4 aspect ratio). The weird thing is the configured URL (/webcam/?action=stream) works fine in Chrome but not in IE. The snapshot URL (http://127.0.0.1:8080/?action=snapshot) works OK with both browsers.

Any ideas? I've never added any IE plugins so accept that IE may not be properly configured.

Cheers, Norman


#2

Welcome, Norman!

I definitely would not do port-forwarding to the OctoPrint here on your printer. I don't think it nor the Raspbian operating system was designed to be that hardened.

Are you running OctoPrint on your Windows-based workstation? I think many of us prefer to dedicate a Raspberry Pi 3 and run it on there. And then we use http://octopi.local/ to get to the OctoPrint interface remotely from our workstation.

Behind-the-scenes it probably assumes a certain path to some of the things it needs. In my case when I go to Settings -> Webcam & Timelapse it has /usr/bin/avconv as the path to the program which does the timelapse behavior. I bet you don't have that path on your Windows computer.


#3

I don't know about @Norman's configuration but I have OctoPrint 1.3.8 running on OctoPi 0.14 on a Raspberry Pi 3B (not plus) and when I open http://octopi with IE 11 on my Windows 10 Pro (64-bit) desktop and click on the Control tab I get:

IE11error

Firefox, Chrome, and even Edge all work as expected.


#4

(In IE) I think I'd press the F12 key and look for any errors. It may be a CORS-related issue or something like that.


#5

Nothing obvious in F12 but I'll use the obvious solution... don't use IE11 :smile:


#6

I've got a virtual machine running Win10 over here somewhere. I'll fire it up and see what's going on. I suspect that OctoPrint is missing a header which would bless CORS.

Update: Okay, it's not a frame or ilayer or anything so CORS isn't the issue. Still researching...


#7

Window 10 Microsoft Edge works fine, Chrome works fine, Firefox works fine, Explore 11 give black screen..
Don't use Explore.. fixed!


#8

Alright, I think I now understand what's going on. I just ran this on Win10/IE11 in a virtual machine and it's behaving like the following:

http://octopi.local/webcam/?action=stream

...if put into an IE11 in a tab by itself it prompts me for what I'd like to do with that content (open/save) rather than filling out the <img> tag as expected.

$ curl -v http://octopi.local/webcam/?action=stream
*   Trying 2600:8801:9908:a200:17ea:82c4:c397:e962...
* TCP_NODELAY set
* Connected to octopi.local port 80 (#0)
> GET /webcam/?action=stream HTTP/1.1
> Host: octopi.local
> User-Agent: curl/7.54.0
> Accept: */*
> 
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Access-Control-Allow-Origin: *
< Server: MJPG-Streamer/0.2
< Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0
< Pragma: no-cache
< Expires: Mon, 3 Jan 2000 12:34:56 GMT
< Content-Type: multipart/x-mixed-replace;boundary=boundarydonotcross
< 
--boundarydonotcross
Content-Type: image/jpeg
Content-Length: 147962
X-Timestamp: 0.000000

Some thoughts:

  • Is the mime type correct if it's image/jpeg?
  • Is the HTML tag correct if it's <img>? I'm pretty sure IE wants an OBJECT tag instead.
  • The DOCTYPE is straight HTML <!DOCTYPE html> but maybe it needs to be HTML5... <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">?

#9

As far as I remember IE11 has no native support for mjpeg streams without a (active-x?) plugin ...


#10

^^ Exactly right. IE does not support the MJPEG stream without an active-x to render it. No native support. So don't use IE if you want to see the mjpeg stream from octoprint.


#11

can't you just leave it at

Is there really anything else that needs to be said ?


#12

Well... NOW... we can just poke @foosel and suggest that the documentation knows all about this problem with IE 11 compatibility.

This is perhaps the third or fourth person on the forum who's show us the exact same error and we initially didn't know to ask if this is Internet Explorer.

In fact, if it were me, I'd sniff the user-agent and do a popup to give them the bad news.


#13

LOL !

Along with a picture of the "poop" emoji


#14

Thanks everyone for your considered replies. @b-morgan your setup is exactly the same as mine and you're getting the same result as me. I too run Octoprint on a Raspberry Pi 3B and can monitor and/or control the print using Chrome on my Win10 PC from within my own network (Ethernet) or from the web using a dynamic DNS service and port forwarding.

My question was purely related to IE11 not being able to perform a live stream but, as was noted, gives me the option to "Save or Run" the selected URL. The Snapshot URL works fine in IE11. I guess I'll just continue to use Chrome.

Thanks again.

Edit:- Microsoft Edge does work fine though.