WebRTC Project

Welcome to my WebRTC project repository! Here, I'll be experimenting with WebRTC and implementing various features to learn more about real-time communication over the web.

Live Preview

https://webrtc-sahilverma.netlify.app/

Table of Contents

Introduction

WebRTC (Web Real-Time Communication) is a powerful API that enables real-time communication directly between web browsers. It allows for peer-to-peer audio, video, and data sharing without the need for plugins or additional software.

In this project, I'll explore different aspects of WebRTC, including:

  • Setting up a basic peer-to-peer connection
  • Implementing audio and video streams
  • Integrating data channels for non-media communication
  • Exploring advanced features like screen sharing and file transfer

Todo

  • Custom TURN server
  • File transfer
  • Group video chat with SFU

Features

  • Peer-to-peer audio and video communication under same network

Installation

  1. Clone the Repository:

    git clone https://github.com/sahilverma-dev/webrtc/
  2. Install Packages:

    Client (React Frontend):

    cd webrtc/client
    npm install

    Server (Node.js in TypeScript):

    cd ../server
    npm install
  3. Run the Application:

    Client:

    npm run dev

    Server:

    npm run dev

    You may now access the application at the specified address in your browser.

  4. Setup TURN server (optional) This step us only required if you're planning to host the project. Read this to setup your custom TURN Server.

Contact Me