webrtc-web | Realtime communication with WebRTC | Socket library

 by   googlecodelabs JavaScript Version: Current License: Apache-2.0

kandi X-RAY | webrtc-web Summary

kandi X-RAY | webrtc-web Summary

webrtc-web is a JavaScript library typically used in Networking, Socket, Nodejs applications. webrtc-web has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

Realtime communication with WebRTC
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              webrtc-web has a low active ecosystem.
              It has 567 star(s) with 275 fork(s). There are 34 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 51 open issues and 36 have been closed. On average issues are closed in 166 days. There are 7 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of webrtc-web is current.

            kandi-Quality Quality

              webrtc-web has 0 bugs and 0 code smells.

            kandi-Security Security

              webrtc-web has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              webrtc-web code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              webrtc-web is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              webrtc-web releases are not available. You will need to build from source code and install.
              webrtc-web saves you 124 person hours of effort in developing the same functionality from scratch.
              It has 312 lines of code, 0 functions and 27 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of webrtc-web
            Get all kandi verified functions for this library.

            webrtc-web Key Features

            No Key Features are available at this moment for webrtc-web.

            webrtc-web Examples and Code Snippets

            No Code Snippets are available at this moment for webrtc-web.

            Community Discussions

            QUESTION

            How do I configure WebRTC to connect to my TURN server?
            Asked 2020-May-16 at 12:57

            I am working on a very basic WebRTC project, but I can't seem to get my website to connect to my TURN server. I'v setup the TURN server using coturn on my local machine (MacOS 10.15.4), and I'm pretty sure its working and configured properly. (when I test it from https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ I can see an rtp host, rtp srflx and an rtp relay, both from inside and outside of my local network, so I'm assuming that means its working as its supposed to.)

            The website is a slightly modified version of the this codelab's step 5 example, with the node.js index.js file modified slightly to host the site over https to allow webcam access from outside the local network.

            Everything works fine as long as both clients are on the same network (so no TURN server is needed), but as soon as one of the clients tries to connect from a different network then the other client, the PeerConnection doesn't gets established properly and both clients can only see their own localStream.

            I think something is missing from the JavaScript on the website, because when I test the TURN server from the webrtc.github.io example, I see this output from my TURN server in my terminal:

            ...

            ANSWER

            Answered 2020-May-16 at 12:57

            So... It turns out it was a stupid question.

            After debugging for longer then I would care to admit, it turns out that the pcConfig where I defined my TURN server was not actually used when creating a new RTCPeerConnection.

            All I had to do was change:

            Source https://stackoverflow.com/questions/61822108

            QUESTION

            WebRTC make a connection between two different devices
            Asked 2020-May-08 at 14:54

            Well I am studying about Web-RTC from its official documentation. I need to integrate live streaming in my website but after seeing this and studying about all its documentation. I only learn about streaming on locally like on same browser and same page. But this is not what i want. I want to start stream from my admin panel(This part has been completed) and broadcast that stream whoever has access to my website whatever the website is and whatever device. Whoever open my website if i m streaming then he should see that and if some of u have worked on live streaming then u should tell me. It will be a great help for me. All i did until now is to make a connection between two peers on same page. Now i want to make global peer to peer connection

            ...

            ANSWER

            Answered 2020-May-08 at 12:04

            You have to do signaling which mean that you have to exchange the PEER CONNECTIONS over the server and which required you to build a server page and client page so both of you can exchange the peer connection.

            here is the complete procedure of exchanging the peer connection over the server.

            find the heading RTCPeerConnection plus servers https://www.html5rocks.com/en/tutorials/webrtc/basics/

            Source https://stackoverflow.com/questions/61678514

            QUESTION

            WebRTC - Networking issue on Codelab STUN/TURN servers
            Asked 2020-Mar-03 at 22:34

            this is my first question here in stackoverflow, I am very blocked and I need some help here. First of all, thank you very much.

            I am trying to develop a WebRTC solution in a web app to stream video from different machines. I am developing it using NodeJS, just following the guidelines from the WebRTC codelab . Once I copied it and understood it, I developed a deploy file to deploy the solution to an Azure web app. Now I am able to see my video stream, and if I connect from a different host but in my same network I can see both video stream, each one from the different machines. Ok, this is what I want. But once I go to my web from a different network, it does not work. I can see in the console the connection from the other peer and the messages from it (maybe because the STUN server?) but the video streaming does not appear.

            I think that it is because the TURN server, but I am not sure because I am trying to use others and it still does not work.

            It is the same code as the codelab that I am pointing above, someone had the same issue here? Is it possible that the TURN server is not working?

            (Part of the code in where the Turn server is added)

            ...

            ANSWER

            Answered 2018-Feb-06 at 21:32

            Well, TURN servers which relay a lot of data cost money to run. A lot of money. Nobody is going to let you access theirs for free, you need to run your own. See this blog post for more details.

            Also the URL from the codelab leads to a 404 page.

            Source https://stackoverflow.com/questions/48650775

            QUESTION

            Not displaying video immediately when using WebRTC
            Asked 2019-Sep-19 at 20:49

            I was wondering what is the best way to not display video right after calling getUserMedia(); with WebRTC. Many tutorials seem to have you display video immediately, but for real use-cases, it often makes sense to not display video until the user presses a button.

            I am not sure how most apps handle this, but currently, I am thinking that perhaps it is possible to accomplish this with styling by not displaying the video element on the page until the user presses a button, but that would mean that the stream would technically be "on", just not displayed on the page. So, I was wondering if there was a way using JS to maybe set or access the stream later when pressing a button.

            It seems like when using getUserMedia(); that the stream has to be set and stored immediately (below is code from the Google Code Lab) so I am not sure if this is not possible.

            ...

            ANSWER

            Answered 2019-Sep-19 at 20:49

            Simply don't display it.

            You can keep that stream in your variable. Just don't assign it as the srcObject on a video element.

            Source https://stackoverflow.com/questions/58018671

            QUESTION

            WebRTC is not working connecting Safari with Chrome for Android
            Asked 2019-Jul-24 at 07:37

            WebRTC is not working connecting Safari with Chrome for Android. From Chrome on Desktop to Safari there is no problem. Also Safari - Safari gives no problems.

            Apple is natively supporting WebRTC since iOS 11 and Safari 11 on the desktop.

            As a base, I used the code of google codelab where I have a basic video chat app between two browsers. For the test I used both devices within the same WiFi network, just to make sure.

            It works WELL in these cases (see specifications devices):

            • Desktop/Chrome <-> Desktop Safari
            • Desktop/Chrome <-> Android/Tab/Chrome
            • Desktop/Chrome <-> iPad/Safari
            • Desktop/Chrome <-> iPhone/Safari
            • Desktop/Safari <-> iPad/Safari
            • Desktop/Safari <-> iPhone/Safari
            • iPad/Safari <-> iPhone/Safari

            It's NOT working in these cases:

            • Android/Tab/Chrome <-> iPad/Safari
            • Android/Tab/Chrome <-> iPhone/Safari
            • Android/Tab/Chrome <-> Desktop/Safari

            Specifications of the devices:

            Desktop/Chrome
            - Macbook MacOS 10.12.6
            - Chrome 63.0.3239.132

            Desktop/Safari
            - Macbook MacOS 10.12.6
            - Safari 11.0.2

            Android/Tab/Chrome
            - Samsung Galaxy Tab3 8.0 inch (SM-T310)
            - Android 4.4.2
            - Chrome 63.0.3239.111

            iPad/Safari
            - iPad mini 2 (A1489)
            - iOS 11.2.2
            - Safari

            iPhone/Safari
            - iPhone 6 (A1586)
            - iOS 11.2.2
            - Safari

            1) Android/Tab/Chrome <-> iPad/Safari

            Android/Tab/Chrome sends an offer, then iPad/Safari receives it, but then giving an error:

            ...

            ANSWER

            Answered 2017-Nov-24 at 20:51

            There are several issues:

            • iOS only supports H264 (profile 42e01f)
            • your offer only contains VP8 & VP9 video codecs which Safari can decode but will not encode (blame politics)
            • android devices seem to support H264 but with profile 42001f... hence a profile mis-match

            The upshot is that you may have to do some SDP-munging in order to get H264 running on all your devices.

            Source https://stackoverflow.com/questions/47462247

            QUESTION

            about socket connection in webrtc using socket,io
            Asked 2018-May-24 at 08:33

            i am study about peer to peer video chat and i follow the google Codelab for study.and i am just read theoretical part about webrtc from html 5 rocks website, so i'm not aware too much about coding part of socket connection.

            link of code lab is https://codelabs.developers.google.com/codelabs/webrtc-web/#2 please visit step 05.

            and i didn't understand following part from "main.js" file.

            ...

            ANSWER

            Answered 2018-May-23 at 23:02

            WebRTC use signalling to create a connection. Signalling is basically the messages fired back and forth between peers via websockets. You can use something like sockets.io for this.

            Signalling helps establish a connection and maintain it. The signalling sends session description protocol info' back and forth.

            The signalling or socket messages used to establish a connection consists of an offer and an answer.

            It looks like this:

            • Participant 1 (P1) joins and let's people know they are there over sockets
            • Participant 2 (P2) responds with an offer sent over sockets
            • P1 receives the offer and stores P2's details as the remote description
            • P1 sends back an answer containing their details P2 receives this answer and stores P1's details as the remote description
            • Connected!

            The information is called Session Description Protocol (SDP). It contains information like:

            • Multimedia type (audio, video, screen share)
            • Media capability
            • Transport addresses
            • Metadata

            There is a detailed explanation on my blog if you are interested.

            https://blog.videorooms.io/2018/05/mesh-architecture.html

            The socket simply sends JSON back and forth between two people that are trying to connect with each other.

            Hope that helps.

            Source https://stackoverflow.com/questions/50493175

            QUESTION

            Webrtc adding ice candidate to remote peer
            Asked 2018-May-24 at 07:41

            Below is the sample webrtc peer to peer connection code from google webrtc tutorilal. this link. I couldn't understand properly ,how addIceCandidate() add its Ice candidate to its remote peer using onIceCandidate(). what does event.candidate means here. A clear explanation would be appreciated

            ...

            ANSWER

            Answered 2018-May-24 at 07:39

            When peer A has discovered an ICE candidate (a potential route which could be used to communicate), it needs to send this ICE candidate to peer B (and vice versa). Peer B then adds that ICE candidate to its connection. Both peers exchange ICE candidates this way until they have found the optimal route that both are able to use to communicate with each other directly.

            In that simple sample, peer A and B seem to be in the same machine, so the (dummy) getOtherPc function can get a handle of "the other peer" and you can directly use its addIceCandidate method. In practice however you will have to send that ICE candidate using a signalling server; some other way in which the peer can exchange the information across a network. Typically that signalling server will use a websocket connection via which information can be relayed in near-realtime.

            Source https://stackoverflow.com/questions/50503493

            QUESTION

            how can I run a webRTc demo in two different pc
            Asked 2018-Feb-28 at 18:23

            I am trying to learn webRTC from webRTC Google Codelabs
            They have given a lot of demo projects.Almost all of them run perfectly http://127.0.0.1:8887 only in the same pc.
            But how do I run a demo on two different pc?
            Do I need to do something more to run these on two different pc? then what should I do?
            Can you suggest any tutorials for this work?

            ...

            ANSWER

            Answered 2018-Feb-28 at 18:23

            You can simply run your server on the private IP of your local network. Make sure your two machines are sharing the same network.

            Step 1 Find the private IP.

            On windows: type ipconfig in the command line prompt. On Linux: type ifconfig in the terminal.

            Step 2 Self-sign SSL to your local server

            Http will only work when running WebRTC on the non-localhost environment. Since you will be running the server on a private IP, you need to self-sign the server with a fake certificate.

            Step 3 Run server on your private IP address.

            Configure your application server to run on the private IP address

            Yay, you can now connect start your WebRTC session via the private IP address.

            Source https://stackoverflow.com/questions/49015685

            QUESTION

            WebRTC dataChannel is never open
            Asked 2018-Feb-07 at 10:14

            I've created a demo on Codepen it work it's based on https://codelabs.developers.google.com/codelabs/webrtc-web/#0 article.

            I have two buttons first is executed to listen for (like the join event in the article) and the second is to create connect (like create following ready event). the main function look like this:

            ...

            ANSWER

            Answered 2018-Feb-07 at 10:14

            1.) You can test if your network is set-up correctly for a call by using the webRTC-tester: https://test.webrtc.org/

            2.) You can test if the Turn and Stun Server is working by using: https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

            Source https://stackoverflow.com/questions/48660974

            QUESTION

            WebRTC for UWP, new RTCPeerConnection() doesn't complete execution
            Asked 2017-Apr-11 at 13:02

            I’m trying to create a Universal Windows Platform application that uses WebRTC, but my code never executes past the first new RTCPeerConnection.

            I have been looking at the open source project WebRTC for UWP (blog post with links to git repos) and managed to build and run the ChatterBox VoIP client example. Since I am new to both UWP programming and WebRTC (and .NET, C# and Windows programming in general) the examples I have been looking at in the repos mentioned above have been much too complex for me to follow.

            To start with something simpler, I want to recreate the WebRTC.org minimalistic codelab exercise as a UWP application written in C#. The original HTML/javascript creates a webpage with two video streams, one that is the local videostream and one that is sent over WebRTC. But, my UWP code doesn’t even get past creating the first RTCPeerConnection.

            I am using Visual Studio 2015 and have installed the Nuget WebRTC package for UWP.

            My code, first version

            ...

            ANSWER

            Answered 2017-Apr-11 at 13:02

            I found the problem at last, and the solution is semi-embarassing not to have found earlier :)

            There is a static method Initialize(CoreDispatcher dispatcher) that initializes WebRTC with dispatcher and worker thread (link to definition in the UWP WebRTC wrapper). The following statement before creating a new RTCPeerConnection solved the problem.

            Source https://stackoverflow.com/questions/43331677

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install webrtc-web

            You can download it from GitHub.

            Support

            This code has the resources you need for the codelab Realtime communication with WebRTC.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/googlecodelabs/webrtc-web.git

          • CLI

            gh repo clone googlecodelabs/webrtc-web

          • sshUrl

            git@github.com:googlecodelabs/webrtc-web.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Socket Libraries

            monolog

            by Seldaek

            libuv

            by libuv

            log.io

            by NarrativeScience

            Flask-SocketIO

            by miguelgrinberg

            Try Top Libraries by googlecodelabs

            tools

            by googlecodelabsGo

            android-compose-codelabs

            by googlecodelabsKotlin

            android-testing

            by googlecodelabsKotlin

            android-room-with-a-view

            by googlecodelabsJava

            android-navigation

            by googlecodelabsKotlin