Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

Camera and Mic not loading in properly

Using Google Chrome, on Windows 10. When I jump into any game in Roll20 and turn on the "broadcast Video and Voice" option, they never load up. Chrome doesn't seem to register it's looking for a camera/microphone (my URL bar doesn't show the cam/mic icon, and I never get a popup asking for permission to use them) and I get a black swirling icon forever.
Just tested, and the same issue arises in Firefox. I do not have this issue on other sites which require camera/microphone use (I tested it on chatroulette in particular).
There needs to be at least one other person in the game at the same time before the camera and microphone is being activated.
1474557779

Edited 1474557824
Pat S.
Forum Champion
Sheet Author
As Quatar stated, there has to be two or more people in the game room to have the camera and voice activated. If this is happening when you are in a group then we will need you to go through our trouble shooting guide for A/V issues. Let's carefully work through Steps 1 through 8 of the Roll20 guide to Audio Visual Troubleshooting : Step 1: Make sure you’re using the most recent version of either Chrome or Firefox Please check if these issues persist when using both Chrome and Firefox. Step 2: Give Roll20 permission to use your microphone and camera Step 3: Make sure Video and Voice are turned on inside Roll20 Step 4: Clear your Web Browser’s Cache Step 5: Make sure you have the right ports open Step 6: Check if your camera is working with WebRTC Step 7: Check that your camera is functioning Step 8: Do a bandwidth test If none of the above succeeds, please thoroughly work through Step 9 : Step 9: Solving Technical Issues Step 9.2: Ensure that there are no extensions/addons interfering with Roll20 Please disable all add-ons/extensions and anti-virus programs. Step 9.4: Provide a bug report Please ensure that the Console Log is complete. Thank you!
I am aware that there needs to be another person in the game, I have been testing with that in mind. I just get an image of my avatar when I'm alone in the room, as expected. For what it's worth, this is a relatively recent issue - The only thing that's changed that I can think of is a Windows update. (Same hardware, same accessories, no driver updates to my knowledge, etc.) Step 6 is giving me trouble - I'm not getting any camera or mic access in the WebRTC room either. It's just giving me a grey screen there.
1474561114
Gid
Roll20 Team
Quadz08, we recently had an update which adds an additional video chat method to Roll20. It you go to the Video + Audio Chat Options in Settings, do you have the same issue if using the Roll20 (beta WebRTC) AND the OpenTok Web RTC? Or is it with just one of them?
I was using OpenTok. When I swap to the Roll20 beta, It just sticks on my avatar and never attempts to load at all.
Though it is giving me a mute/unmute button on my portrait?
1474897783
Gid
Roll20 Team
quadz08, could you provide a  console log while Roll20 fails to pick up your mic and camera?
Using Roll20 Beta WebRTC: Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' https://*.googlesyndication.com https://*.doubleclick.net <a href="https://partner.googleadservices.com" rel="nofollow">https://partner.googleadservices.com</a> <a href="https://www.googletagservices.com" rel="nofollow">https://www.googletagservices.com</a> <a href="https://ssl.google-analytics.com" rel="nofollow">https://ssl.google-analytics.com</a> <a href="https://www.google-analytics.com" rel="nofollow">https://www.google-analytics.com</a> <a href="https://ajax.googleapis.com" rel="nofollow">https://ajax.googleapis.com</a> <a href="http://ajax.googleapis.com" rel="nofollow">http://ajax.googleapis.com</a> <a href="https://d3clqjduf2gvxg.cloudfront.net" rel="nofollow">https://d3clqjduf2gvxg.cloudfront.net</a> <a href="https://cdn.firebase.com" rel="nofollow">https://cdn.firebase.com</a> https://*.firebaseio.com https://*.tokbox.com https://*.opentok.com <a href="http://static.opentok.com" rel="nofollow">http://static.opentok.com</a> <a href="http://www.google-analytics.com" rel="nofollow">http://www.google-analytics.com</a> <a href="http://cdn.crowdin.com" rel="nofollow">http://cdn.crowdin.com</a> <a href="https://crowdin.com" rel="nofollow">https://crowdin.com</a> <a href="http://stun.l.google.com" rel="nofollow">http://stun.l.google.com</a>". Either the 'unsafe-inline' keyword, a hash ('sha256-QIqmlMjUTW85LKHbK7ONAp2auJ+ubSQptIrKrwvENv0='), or a nonce ('nonce-...') is required to enable inline execution. /editor/:13 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' https://*.googlesyndication.com https://*.doubleclick.net <a href="https://partner.googleadservices.com" rel="nofollow">https://partner.googleadservices.com</a> <a href="https://www.googletagservices.com" rel="nofollow">https://www.googletagservices.com</a> <a href="https://ssl.google-analytics.com" rel="nofollow">https://ssl.google-analytics.com</a> <a href="https://www.google-analytics.com" rel="nofollow">https://www.google-analytics.com</a> <a href="https://ajax.googleapis.com" rel="nofollow">https://ajax.googleapis.com</a> <a href="http://ajax.googleapis.com" rel="nofollow">http://ajax.googleapis.com</a> <a href="https://d3clqjduf2gvxg.cloudfront.net" rel="nofollow">https://d3clqjduf2gvxg.cloudfront.net</a> <a href="https://cdn.firebase.com" rel="nofollow">https://cdn.firebase.com</a> https://*.firebaseio.com https://*.tokbox.com https://*.opentok.com <a href="http://static.opentok.com" rel="nofollow">http://static.opentok.com</a> <a href="http://www.google-analytics.com" rel="nofollow">http://www.google-analytics.com</a> <a href="http://cdn.crowdin.com" rel="nofollow">http://cdn.crowdin.com</a> <a href="https://crowdin.com" rel="nofollow">https://crowdin.com</a> <a href="http://stun.l.google.com" rel="nofollow">http://stun.l.google.com</a>". Either the 'unsafe-inline' keyword, a hash ('sha256-0e7Q3QqVn8f0h38oogzHudH+MBBdX9InX4bX658dij4='), or a nonce ('nonce-...') is required to enable inline execution. app.js?1474563557:35 70 app.js?1474563557:35 TOUCH SUPPORTED: false app.js?1474563557:35 USING WEBGL ACCELERATION... app.js?1474563557:35 WEBGL STARTUP SUCCESS app.js?1474563557:37 Custom Sheet Translation app.js?1474563557:30 select app.js?1474563557:30 Switch mode to select app.js?1474563557:46 Initializing new dice engine with randomness... app.js?1474563557:46 Using random entropy app.js?1474563557:48 Unable to start up OpenTok! app.js?1474563557:50 Compiling sheet... app.js?1474563557:50 Found rolltemplate: 5e-shaped app.js?1474563557:50 Found webworker script app.js?1474563557:50 Finding sheet rolls... app.js?1474563557:51 window resize app.js?1474563557:36 Final set zoom! app.js?1474563557:35 UPDATE GL SIZE! app.js?1474563557:36 Final set zoom! tutorial_tips.js:7 tuts loaded app.roll20.net/:1 Mixed Content: The page at '<a href="https://app.roll20.net/editor/" rel="nofollow">https://app.roll20.net/editor/</a>' was loaded over HTTPS, but requested an insecure image '<a href="http://imgsrv.roll20.net/?src=i.imgur.com/X44kw8b.png" rel="nofollow">http://imgsrv.roll20.net/?src=i.imgur.com/X44kw8b.png</a>'. This content should also be served over HTTPS. sheetsandboxworker.js?20160628:225Starting up WEB WORKER app.js?1474563557:42 Final page load. app.js?1474563557:51 Refresh jukebox List! app.js?1474563557:41 Auth'ed. app.js?1474563557:41 Go post auth! app.js?1474563557:41 initial setup app.js?1474563557:51 Refresh jukebox List! app.js?1474563557:39 T.r {attributes: Object, _escapedAttributes: Object, cid: "c0", changed: Object, _silent: Object…} app.js?1474563557:51 Refresh jukebox List! app.js?1474563557:41 Got players value... app.js?1474563557:41 joining game... 7app.js?1474563557:39 Full load page! app.js?1474563557:41 We have 7 pages app.js?1474563557:39 Player -KQBJoJyNAoOuvCmRM2d is offline... app.js?1474563557:40 Global Volume: 100=1 app.js?1474563557:39 Player -KQHTFJVwJbDA-23dHYH is offline... app.js?1474563557:39 Player -KQJBC-YXwOZ4BUfSjxb is offline... app.js?1474563557:39 Player -KRp96HHK_F-kV3xUT3Q is offline... app.js?1474563557:39 Player -KRpriaFVLCNak5QMEdh is offline... app.js?1474563557:39 Player -KRupnsrnub6-sVUcCNe is offline... app.js?1474563557:41 Deferred finish joining... app.js?1474563557:35 Firebase Online app.js?1474563557:39 Adding myself before r app.js?1474563557:49 Init internal WebRTC app.js?1474563557:49 addOverlay -KQBJoJyNAoOuvCmRM2d app.js?1474563557:41 handle page changes app.js?1474563557:41 false app.js?1474563557:49 Refresh Journal List! app.js?1474563557:49 Search took 6ms app.js?1474563557:44 refershing page listings! app.js?1474563557:37 Do refresh link cache! app.js?1474563557:49 connectionReady app.js?1474563557:49 sessionsId RY-9-cm5yjyy1CeDAAck app.js?1474563557:41 init active page! app.js?1474563557:39 activate page! app.js?1474563557:39 FULLY ACTIVATE VIEWS FOR PAGE. app.js?1474563557:39 Graphics: 1 app.js?1474563557:39 Paths: 0 app.js?1474563557:39 Reorder by ZORDER app.js?1474563557:42 Scan for new plays! app.js?1474563557:44 refershing page listings! app.js?1474563557:49 Refresh Journal List! app.js?1474563557:49 Search took 13ms app.js?1474563557:38 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/23433419/C-j14pStPrdmdZJnvXG0Sg/thumb.jpg?14747492025" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/23433419/C-j14pStPrdmdZJnvXG0Sg/thumb.jpg?14747492025</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/23433419/C-j14pStPrdmdZJnvXG0Sg/max.jpg?14747492025" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/23433419/C-j14pStPrdmdZJnvXG0Sg/max.jpg?14747492025</a> app.js?1474563557:39 Reorder by ZORDER app.js?1474563557:49 INITIATLIZING INTERNAL VIDEO CHAT app.js?1474563557:51 Refresh jukebox List! app.js?1474563557:38 setting src
Using OpenTOK WebRTC Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' https://*.googlesyndication.com https://*.doubleclick.net <a href="https://partner.googleadservices.com" rel="nofollow">https://partner.googleadservices.com</a> <a href="https://www.googletagservices.com" rel="nofollow">https://www.googletagservices.com</a> <a href="https://ssl.google-analytics.com" rel="nofollow">https://ssl.google-analytics.com</a> <a href="https://www.google-analytics.com" rel="nofollow">https://www.google-analytics.com</a> <a href="https://ajax.googleapis.com" rel="nofollow">https://ajax.googleapis.com</a> <a href="http://ajax.googleapis.com" rel="nofollow">http://ajax.googleapis.com</a> <a href="https://d3clqjduf2gvxg.cloudfront.net" rel="nofollow">https://d3clqjduf2gvxg.cloudfront.net</a> <a href="https://cdn.firebase.com" rel="nofollow">https://cdn.firebase.com</a> https://*.firebaseio.com https://*.tokbox.com https://*.opentok.com <a href="http://static.opentok.com" rel="nofollow">http://static.opentok.com</a> <a href="http://www.google-analytics.com" rel="nofollow">http://www.google-analytics.com</a> <a href="http://cdn.crowdin.com" rel="nofollow">http://cdn.crowdin.com</a> <a href="https://crowdin.com" rel="nofollow">https://crowdin.com</a> <a href="http://stun.l.google.com" rel="nofollow">http://stun.l.google.com</a>". Either the 'unsafe-inline' keyword, a hash ('sha256-AA0KOlrS9LoTnP0jYql98viR92LclTdWsAHgwf//u5k='), or a nonce ('nonce-...') is required to enable inline execution. /editor/:13 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' https://*.googlesyndication.com https://*.doubleclick.net <a href="https://partner.googleadservices.com" rel="nofollow">https://partner.googleadservices.com</a> <a href="https://www.googletagservices.com" rel="nofollow">https://www.googletagservices.com</a> <a href="https://ssl.google-analytics.com" rel="nofollow">https://ssl.google-analytics.com</a> <a href="https://www.google-analytics.com" rel="nofollow">https://www.google-analytics.com</a> <a href="https://ajax.googleapis.com" rel="nofollow">https://ajax.googleapis.com</a> <a href="http://ajax.googleapis.com" rel="nofollow">http://ajax.googleapis.com</a> <a href="https://d3clqjduf2gvxg.cloudfront.net" rel="nofollow">https://d3clqjduf2gvxg.cloudfront.net</a> <a href="https://cdn.firebase.com" rel="nofollow">https://cdn.firebase.com</a> https://*.firebaseio.com https://*.tokbox.com https://*.opentok.com <a href="http://static.opentok.com" rel="nofollow">http://static.opentok.com</a> <a href="http://www.google-analytics.com" rel="nofollow">http://www.google-analytics.com</a> <a href="http://cdn.crowdin.com" rel="nofollow">http://cdn.crowdin.com</a> <a href="https://crowdin.com" rel="nofollow">https://crowdin.com</a> <a href="http://stun.l.google.com" rel="nofollow">http://stun.l.google.com</a>". Either the 'unsafe-inline' keyword, a hash ('sha256-0e7Q3QqVn8f0h38oogzHudH+MBBdX9InX4bX658dij4='), or a nonce ('nonce-...') is required to enable inline execution. app.js?1474563557:35 70 app.js?1474563557:35 TOUCH SUPPORTED: false app.js?1474563557:35 USING WEBGL ACCELERATION... app.js?1474563557:35 WEBGL STARTUP SUCCESS app.js?1474563557:37 Custom Sheet Translation app.js?1474563557:30 select app.js?1474563557:30 Switch mode to select app.js?1474563557:46 Initializing new dice engine with randomness... app.js?1474563557:46 Using random entropy app.js?1474563557:50 Compiling sheet... app.js?1474563557:50 Found rolltemplate: 5e-shaped app.js?1474563557:50 Found webworker script app.js?1474563557:50 Finding sheet rolls... app.js?1474563557:51 window resize app.js?1474563557:36 Final set zoom! app.js?1474563557:35 UPDATE GL SIZE! app.js?1474563557:36 Final set zoom! tutorial_tips.js:7 tuts loaded app.roll20.net/:1 Mixed Content: The page at '<a href="https://app.roll20.net/editor/" rel="nofollow">https://app.roll20.net/editor/</a>' was loaded over HTTPS, but requested an insecure image '<a href="http://imgsrv.roll20.net/?src=i.imgur.com/X44kw8b.png" rel="nofollow">http://imgsrv.roll20.net/?src=i.imgur.com/X44kw8b.png</a>'. This content should also be served over HTTPS. sheetsandboxworker.js?20160628:225Starting up WEB WORKER app.js?1474563557:42 Final page load. app.js?1474563557:51 Refresh jukebox List! app.js?1474563557:41 Auth'ed. app.js?1474563557:41 Go post auth! app.js?1474563557:41 initial setup app.js?1474563557:51 Refresh jukebox List! app.js?1474563557:39 T.r {attributes: Object, _escapedAttributes: Object, cid: "c0", changed: Object, _silent: Object…} app.js?1474563557:51 Refresh jukebox List! app.js?1474563557:41 Got players value... app.js?1474563557:41 joining game... 7app.js?1474563557:39 Full load page! app.js?1474563557:41 We have 7 pages app.js?1474563557:39 Player -KQBJoJyNAoOuvCmRM2d is offline... app.js?1474563557:40 Global Volume: 100=1 app.js?1474563557:39 Player -KQHTFJVwJbDA-23dHYH is offline... app.js?1474563557:39 Player -KQJBC-YXwOZ4BUfSjxb is offline... app.js?1474563557:39 Player -KRp96HHK_F-kV3xUT3Q is offline... app.js?1474563557:39 Player -KRpriaFVLCNak5QMEdh is offline... app.js?1474563557:39 Player -KRupnsrnub6-sVUcCNe is offline... app.js?1474563557:41 Deferred finish joining... app.js?1474563557:35 Firebase Online app.js?1474563557:39 Adding myself before r app.js?1474563557:44 refershing page listings! app.js?1474563557:41 handle page changes app.js?1474563557:41 false app.js?1474563557:49 Refresh Journal List! app.js?1474563557:49 Search took 5ms app.js?1474563557:44 refershing page listings! app.js?1474563557:37 Do refresh link cache! app.js?1474563557:41 init active page! app.js?1474563557:39 activate page! app.js?1474563557:39 FULLY ACTIVATE VIEWS FOR PAGE. app.js?1474563557:39 Graphics: 1 app.js?1474563557:39 Paths: 0 app.js?1474563557:42 Scan for new plays! app.js?1474563557:44 refershing page listings! app.js?1474563557:38 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/23433419/C-j14pStPrdmdZJnvXG0Sg/thumb.jpg?14747492025" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/23433419/C-j14pStPrdmdZJnvXG0Sg/thumb.jpg?14747492025</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/23433419/C-j14pStPrdmdZJnvXG0Sg/max.jpg?14747492025" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/23433419/C-j14pStPrdmdZJnvXG0Sg/max.jpg?14747492025</a> app.js?1474563557:49 Refresh Journal List! app.js?1474563557:49 Search took 18ms app.js?1474563557:38 setting src app.js?1474563557:39 Reorder by ZORDER app.js?1474563557:39 Reorder by ZORDER app.js?1474563557:48 initiatlizing video chat app.js?1474563557:48 Connecting to WebRTC app.js?1474563557:51 Refresh jukebox List! app.js?1474563557:48 Connected to session app.js?1474563557:48 Someone just connected. app.js?1474563557:48 Not us, increasing active connections. app.js?1474563557:48 Begin publishing! app.js?1474563557:48 initializing publisher app.js?1474563557:48 Someone just connected. app.js?1474563557:48 It's us? data:image/png;base64,/users/avatar/1003225/150:1 GET data:image/png;base64,/users/avatar/1003225/150 net::ERR_INVALID_URL