Is it possible to check if the user has a camera and microphone and if the permissions have been granted with Javascript?

Live Demo: https://www.webrtc-experiment.com/DetectRTC/ If user didn’t allow webcam and/or microphone, then media-devices will be having “NULL” value for the “label” attribute. Above page will show this message: “Please invoke getUserMedia once.” PS. You can type “DetectRTC.MediaDevices” in the Chrome Console developers tool. Note: It works only in Chrome. Firefox isn’t supporting similar API yet. (Updated: … Read more

WebRTC on isolated LAN without ice/stun/turn server

Omit the iceServers list: const pc = new RTCPeerConnection(); Either omit the iceServers list from the RTCPeerConnection constructor, or make it the empty list []. From RTCPeerConnection docs: iceServers | optional An array of RTCIceServer objects, each describing one server which may be used by the ICE agent; these are typically STUN and/or TURN servers. … Read more

Which version of Microsoft Internet Explorer support WebRTC?

For now IE doesn’t support WebRTC. Moreover, it seems like MS don’t plan to implement WebRTC. They announced a new technology called CU-RTC-Web – kinda Microsoft analog of WebRTC. CU-RTC-WEB: http://html5labs.interoperabilitybridges.com/cu-rtc-web/cu-rtc-web.htm Expected that this CU-RTC-WEB will be compatible with todays WebRTC. UPDATED Some people also report that IE supports WebRTC when using http://www.google.com/chromeframe UPDATED Microsoft … Read more

Why is a signaling server needed for WebRTC?

WebRTC doesn’t solve discovery (nor should it). WebRTC knows how to talk directly to another peer without a signaling server, but it doesn’t know how to discover another peer. Discovery is an inherent problem, so I’m a bit baffled that people expect WebRTC to solve it for them. Think about it: How are you going … Read more

Node.js WebRTC client

I came along the same problem and stumbled upon these two gems: https://github.com/helloIAmPau/node-rtc Sadly it is lacking any documentation. However https://github.com/js-platform/node-webrtc seems more reliable to me.

How to do network tracking or debugging WebRTC peer-to-peer connection

If you’re using Chrome, you can navigate to chrome://webrtc-internals. This will show you the offer, answer, ICE states, and statistics about the connection (once it has been established). For more in-depth debugging, you can see logs of all the STUN pings between candidates by starting Chrome with the following flags: –enable-logging –v=4 The logs will … Read more

What is the difference between WebRTC and WebSockets for low level data communication

There is one significant difference: WebSockets works via TCP, WebRTC works via UDP. In fact, WebRTC is SRTP protocol with some additional features like STUN, ICE, DTLS etc. and internal VoIP features such as Adaptive Jitter Buffer, AEC, AGC etc. So, WebSockets is designed for reliable communication. It is a good choice if you want … Read more