How to choose input video device for webrtc?
On Chrome: chrome://settings/content/camera chrome://settings/content/microphone On Firefox: media.navigator.permission.disabled=false
On Chrome: chrome://settings/content/camera chrome://settings/content/microphone On Firefox: media.navigator.permission.disabled=false
TURN it’s an extension of STUN, so TURN server has also STUN features. https://code.google.com/p/rfc5766-turn-server/ works also as a STUN, so you can try to write something like this: var pc_config = { “iceServers”: [{ “url”:”turn:my_username@<turn_server_ip_address>”, “credential”:”my_password” }] }; pc_new = new webkitRTCPeerConnection(pc_config);
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.
the answer from @Ichigo is correct, but it is a litte bit bigger. Every ICE contains ‘a node’ of your network, until it has reached the outside. By this you send these ICE’s to the other peer, so they know through what connection points they can reach you. See it as a large building: one … Read more
Update: working example near bottom. This depends greatly on which browser you are using at the moment, due to an evolving spec. In the specification and Firefox, peer connections are now fundamentally track-based, and do not depend on local stream associations. You have var sender = pc.addTrack(track, stream), pc.removeTrack(sender), and even sender.replaceTrack(track), the latter involving … Read more
Edit: A nice implementation in github.io taken from comment to another answer( choose “relay” in IceTransports value): Test TURN Server following Benjamin Trent’s advice, I wrote the below code to test TURN server’s connectivity, works on both firefox n chrome: function checkTURNServer(turnConfig, timeout){ return new Promise(function(resolve, reject){ setTimeout(function(){ if(promiseResolved) return; resolve(false); promiseResolved = true; }, … Read more
Chrome is not broken, the WebRTC standard is evolving to prevent sites from collecting local addresses by diverting the WebRTC API. If you used this hack to obtain local addresses, you might need to find another approach. Here are the corresponding issues for Chromium and Firefox, and the current IETF draft for WebRTC mDNS candidates.
STUN/TURN is different from signaling. STUN/TURN in WebRTC are used to gather ICE candidates. Signaling is used to transmit between these two PCs the session description (offer and answer). You can use free STUN server (like stun.l.google.com or stun.services.mozilla.org). There are also free TURN servers, but not too many (these are resource expensive). One is … Read more
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