---
title: "Discussion on \"Let's build a video conferencing app\" | Hashnode"
description: "Discussion on \"Let's build a video conferencing app\". Hello Everyone👋,\nIn this article we will see how to build a video conferencing app.\nPrerequisites:\nBasics of Webrtc\nTo implement this we will be using the following libraries:\n\nReact\nNodejs\nsimple-peer\nsocket.io\nchance\n\nSetup Server:\ntouch app.js\nya..."
url: "https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [Let's build a video conferencing app](https://blog.rbkannan.dev/lets-build-a-video-conferencing-app?utm_source=hashnode&utm_medium=feed)

Hello Everyone👋, In this article we will see how to build a video conferencing app. Prerequisites: Basics of Webrtc To implement this we will be using the following libraries: React Nodejs simple-peer socket.io chance Setup Server: touch app.js ya...

Oct 31, 2020 · 11 min read · blog.rbkannan.dev  
Read the article

-   [#nodejs](https://hashnode.com/tag/nodejs)
-   [#reactjs](https://hashnode.com/tag/reactjs)
-   [#webdev](https://hashnode.com/tag/webdev)
-   [#webrtc](https://hashnode.com/tag/webrtc)

## Written by

[Kannan](https://hashnode.com/@rbkannan1)

@rbkannan1 · India

  
[View profile](https://hashnode.com/@rbkannan1)

Senior Software Engineer at Zoominfo

Senior Software Engineer at Zoominfo

## Responses 8

Markdown supported · ⌘↵ to post

[Astha Srivastava](https://hashnode.com/@asthaundefined)

[Nov 6, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5fa50c7147631a19e811fdd2)

Wonderful tutorial. I will surely try it out.. :-)

[Kannan](https://hashnode.com/@rbkannan1)

[Nov 6, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5fa50c7147631a19e811fdd2#reply-5fa521fd47631a19e811ffe5)

Thanks Astha

[Juliano Costa](https://hashnode.com/@julianojcs)

[Nov 4, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5fa233a024a897066ab263ce)

Hey buddy.

I'm trying to use a local ip like 192.168.0.49, but it does not work. Do u know what could be happen ?

[Kannan](https://hashnode.com/@rbkannan1)

[Nov 4, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5fa233a024a897066ab263ce#reply-5fa23a6ecad5a1068b51ae5e)

Is the application loading in your other device ?. If it is not loading I think you have to allow inbound traffic for the port.

If it is loading and you just dont see the video stream then it might be due to the browser which blocks the web rtc stream if the website does not have https associated with it. It will work only in localhost with http.

In either these case you can use [ngrok](https://www.npmjs.com/package/ngrok) npm to publish the port (aka proxy) from local server to internet.

just install ngrok globally via npm / yarn

In terminal you can run ngrok by ngrok http <ClientAppPort>

In another window ngrok http <ServerAppPort>

Once you get the server proxy url make sure you replace it in the client application.

[N. M. Ali Hayder](https://hashnode.com/@ahayder)

[Nov 3, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5fa1568924a897066ab25af9)

Hi Kannan, I've hosted the server into Heroku and the client into firebase hosting. Now, If I test on my own network using multiple devices then it's working fine. But on another network, the video becomes black when I test it with a friend. An error shows in the console is like: Uncaught Error: Connection failed. at d.value (index.js:658) at RTCPeerConnection.t.\_pc.onconnectionstatechange (index.js:116)

[Nov 3, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5fa1568924a897066ab25af9#reply-5fa159f2cad5a1068b51a582)

Hi [N. M. Ali Hayder](https://hashnode.com/@ahayder) Can you share your client Url here please ?

[N. M. Ali Hayder](https://hashnode.com/@ahayder)

[Nov 6, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5fa1568924a897066ab25af9#reply-5fa52c7d47631a19e8120093)

Hi, [Kannan](https://hashnode.com/@rbkannan1) I solved the issue by configuring the ice servers. The snippet looks like this now.

```
const peer = new Peer({
      initiator: true,
      trickle: false,
      config: {
        iceServers: [
          {
            urls: "stun:numb.viagenie.ca",
            username: "sultan1640@gmail.com",
            credential: "98376683"
          },
          {
            urls: "turn:numb.viagenie.ca",
            username: "sultan1640@gmail.com",
            credential: "98376683"
          }
        ]
      },
      stream,
    });
```

[Kannan](https://hashnode.com/@rbkannan1)

[Nov 6, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5fa1568924a897066ab25af9#reply-5fa5970954cc5b4ad931e1d5)

Thanks [N. M. Ali Hayder](https://hashnode.com/@ahayder)

[Murewa Ashiru](https://hashnode.com/@murewaashiru)

[Nov 1, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5f9f15fade85d46a77d5ea4e)

Awesome! Can't wait to try it out.

[Kannan](https://hashnode.com/@rbkannan1)

[Nov 2, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5f9f15fade85d46a77d5ea4e#reply-5f9f6d7ede85d46a77d5ed61)

Thanks Murewa

[Tapas Adhikary](https://hashnode.com/@atapas)

[Nov 1, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5f9e8025701b426a980956f4)

[Kannan](https://hashnode.com/@rbkannan1), Great tutorial. Thanks for sharing. I'm going to use it in my DemoLab soon.

[Kannan](https://hashnode.com/@rbkannan1)

[Nov 1, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5f9e8025701b426a980956f4#reply-5f9e82bbde85d46a77d5e3ec)

Thanks Tapas

[Victoria Lo](https://hashnode.com/@victoria)

[Oct 31, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5f9df77b701b426a98095389)

This is such an awesome article! Thanks for sharing!

[Kannan](https://hashnode.com/@rbkannan1)

[Nov 1, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5f9df77b701b426a98095389#reply-5f9e1900701b426a98095449)

Thanks Victoria

[Ezenwankwo Ugochukwu](https://hashnode.com/@devugo)

[Oct 31, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5f9d8de4b309125fbb61a564)

Thank you for this! This will surely come handy in the future for me! Bookmarked!

[Kannan](https://hashnode.com/@rbkannan1)

[Nov 1, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5f9d8de4b309125fbb61a564#reply-5f9e193ade85d46a77d5e15c)

[Ezenwankwo Ugochukwu](https://hashnode.com/@devugo) I am glad its helpful

[Vivek Tiwari](https://hashnode.com/@vivek566)

[Oct 31, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5f9d30c4b309125fbb61a0b6)

Awesome tutorial. I always wanted to understand how this works. 👏

[Kannan](https://hashnode.com/@rbkannan1)

[Nov 1, 2020](https://hashnode.com/posts/lets-build-a-video-conferencing-app/5f9d1ff465cd015fab581a6d/comment/5f9d30c4b309125fbb61a0b6#reply-5f9e1918701b426a9809544e)

Thanks Vivek
