Confirm the problem with the WebRTC Test
Start with the WebRTC Test. It should show green checks for camera, microphone, UDP connectivity, and H.264/VP8 codecs. Keep the test open and re-run it after each fix to see what changed. If the test already fails on camera or mic, focus on permissions first; if it fails on connectivity, focus on network and VPN steps.
Common symptoms:
- Meet or Teams joins with no audio or video
- "Camera is blocked" or "Microphone not available" banners
- People can hear you but you cannot hear them
- Calls connect but freeze after a few seconds
Fix 1: Allow camera and microphone in the browser
WebRTC will fail if the browser denies device access.
- Click the lock icon in the address bar and set Camera and Microphone to Allow for the current site.
- If you clicked "Block" earlier, click Reset permissions and reload.
- In Chrome/Edge, go to Settings > Privacy and security > Site settings > Camera/Microphone and remove the site from the blocked list.
Fix 2: Grant OS-level permissions
Even if the browser allows access, the operating system can still block devices.
- Windows 10/11: Settings > Privacy & security > Camera then Microphone. Turn on Allow apps to access and enable access for your browser. If your device uses enterprise controls, you may need IT to unlock it.
- macOS Ventura or later: System Settings > Privacy & Security > Camera and Microphone. Enable your browser in both lists. Then quit and reopen the browser.
- Linux (GNOME/KDE): Check the privacy panel and ensure cameras are enabled.
Fix 3: Pick the right devices
If your laptop, monitor, and headset each expose cameras and mics, WebRTC may choose the wrong pair.
- Open the call app's device picker and select the intended Camera, Microphone, and Speakers.
- In Chrome/Edge, visit chrome://settings/content/camera and .../microphone and set the correct default device.
- Unplug unused USB webcams or headsets and rerun the WebRTC Test to confirm the right devices stay selected.
Fix 4: Close apps that already own the camera
Windows and macOS block sharing a camera between multiple apps. If the LED is on in another app, the browser cannot grab it.
- Quit Zoom/Teams desktop, Discord desktop, FaceTime, OBS, or any app using the camera.
- On Windows, check the Task Manager > Processes tab; end video apps still running in the background.
- On macOS, check the menu bar for camera icons and quit those apps.
Fix 5: Remove WebRTC blockers and VPN features
Privacy add-ons and some VPNs block WebRTC to prevent IP leaks.
- Disable extensions like WebRTC Control, WebRTC Leak Shield, or DuckDuckGo Privacy Essentials.
- In ProtonVPN, Mullvad, or NordVPN browser add-ons, turn off options labeled "block WebRTC" or "prevent IP leak" while you are on a call.
Fix 6: Fix network and firewall rules
WebRTC prefers UDP and needs to reach STUN/TURN servers.
- Test another network: a mobile hotspot is a fast way to see if your office firewall is the blocker.
- If calls only work on other networks, ask IT to allow outbound UDP 3478 and 10000-20000 and permit traffic to your meeting provider's TURN servers.
- On home routers, disable SIP ALG and enable UPnP. Then reboot the router and rerun the WebRTC Test.
Fix 7: Update browser and media drivers
- Update the browser: Chrome/Edge → Settings > About; Firefox → Help > About Firefox. Apply the update and restart.
- Update audio drivers (Windows): In Device Manager > Sound, video and game controllers, right-click your audio device → Update driver. For vendor-specific devices, install the latest package from the manufacturer.
- Update camera firmware if your webcam vendor provides it (Logitech G Hub, Elgato Camera Hub).
Fix 8: Toggle hardware acceleration only for glitchy video
If calls connect but video freezes or shows green blocks, your GPU path may be unstable.
- Chrome/Edge: Settings > System and performance > Use hardware acceleration when available. Toggle Off, restart, test. If stability improves but CPU spikes, try turning it back On after updating the GPU driver.
- Firefox: Settings > General > Performance. Toggle hardware acceleration and test both ways.
Fix 9: Clear corrupted site data
Bad cached permissions or SDP data can break reconnections.
- Open Site settings for the call site and click Clear data.
- Reload and sign back in.
- Rerun the WebRTC Test to confirm a clean negotiation.
Verify after each change
Run the WebRTC Test again. Look for:
- Green checks for camera and microphone
- "UDP connectivity: yes"
- "H.264 supported" and "VP8 supported" If any line stays red, the last change did not address that layer; move to the next fix.
Edge cases worth checking
- Browser profile corruption: Create a fresh profile, sign in to the meeting, and see if the test passes.
- Incognito/Private windows: They drop persistent permissions. Grant access every time or use a normal window for trusted call sites.
- Corporate DLP/AV: Data-loss-prevention agents can hook the camera. If you see the device vanish whenever DLP is active, involve IT rather than chasing browser flags.
- Old hardware: Some 2013-era laptops expose only MJPEG cameras that newer sites reject. A cheap USB UVC webcam fixes this instantly.
