I am trying to use my Raspberry Pi 2 and Raspberry Pi Camera to join a WebRTC session in the browser. I was able to set up a WebRTC server on my Pi through this tutorial and I am able to start/join a WebRTC session on any PC with video/audio enabled.
Also, I installed UV4L, which enables the browser to recognize the Pi camera.
navigator.mozGetUserMedia() to start the video, returning the error "Starting video failed". The
mozGetUserMedia is bound in this line of code and the method is called here.
I am using the IceWeasel browser because the Chromium and Epiphany browsers do not seem to support WebRTC on the Pi. Can anyone provide guidance on getting my Pi Camera detected by WebRTC? Or is there another browser that will properly run my Raspberry Pi Camera?
My browser's console output is here:
"early firefox webrtc implementation" 192.168.0.103:1234:55 "getting user media..." 192.168.0.103:1234:59 "got user media..." 192.168.0.103:1234:61 The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol. 192.168.0.103:1234 "setting up local video stream" 192.168.0.103:1234:374 "setting up connection to signaling server" 192.168.0.103:1234:153 "you are the Caller" 192.168.0.103:1234:158 "updating UI to loading_state" 192.168.0.103:1234:182 "sending 'join' signal for call token:#1442483208369-4377" 192.168.0.103:1234:172 "Starting video failed" 192.168.0.103:1234:555
Similarly, when I try to join a Firefox Hello chat in my Pi's browser, I get these debug console messages:
The Components object is deprecated. It will soon be removed. utils.js:9 "No information about this conversation is available. Please request a new link from the person who sent it to you." standaloneRoomViews.js:366 Use of getPreventDefault() is deprecated. Use defaultPrevented instead. 2768540301.js:92 "OT.Publisher.onStreamAvailableError Starting video failed: Unknown Error while getting user media" sdk.js:3399 "OT.exception :: title: Unable to Publish (1500) msg: GetUserMedia" sdk.js:3399 1500 "Unknown Error while getting user media" sdk.js:3399 "OT.exception :: title: Unable to Publish (1500) msg: Unknown Error while getting user media" sdk.js:3399 Error: HTTP 401 Unauthorized Stack trace: failureHandler@https://hello.firefox.com/js/standaloneMozLoop.js:44:9 loop.StandaloneMozLoop</StandaloneMozLoopRooms.prototype._postToRoom/xhrReq.onload<@https://hello.firefox.com/js/standaloneMozLoop.js:142:11
Here are some details on my setup:
[pi@raspberrypi]~$ uname -a Linux raspberrypi 4.1.6-v7+ #2 SMP PREEMPT Fri Sep 4 16:49:07 UTC 2015 armv7l GNU/Linux [pi@raspberrypi]~$ cat /etc/*-release PRETTY_NAME="Raspbian GNU/Linux 7 (wheezy)" NAME="Raspbian GNU/Linux" VERSION_ID="7" VERSION="7 (wheezy)" ID=raspbian ID_LIKE=debian ANSI_COLOR="1;31" HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" [pi@raspberrypi]~$ iceweasel --version Mozilla Iceweasel 31.8.0
And my camera is working fine, where I can run
raspivid -t 10000 which displays the camera's video for 10 seconds.
My IceWeasel install supports WebRTC, which I confirmed here: http://iswebrtcready.appear.in/