Giter VIP home page Giter VIP logo

video_streaming_web_interface-webrtc's Introduction

Happy Meet

How to use:

As an User:

1- Firstly, register yourself on the app using the Signup option. Provide correct information as the details are permanent and cannot be changed.

2- Once signed up, you are eligible for logging in using the credentials submitted while registering/ Signing up.

3- After Logging you will have a choice to either join an ongoing meeting or create a new meeting.

4- After creating a new meeting you will asked to allow mic and video to be able to interact with the others.

5- Then you will be in the pre-viewing room and you will be asked to click on the green phone to enter the call room.

As Developer:

Prerequisites

You have to install Node.js in your machine.

Installing

1- Firstly, clone the git repository to your local machine or you can download the zip file and extract it.

2- Open the command prompt and navigate to the directory you extracted in the previos step and run the command:

npm install

Nodemon For automatically restart the server as a dev dependency (optional)

npm i --sav-dev nodemon

Setting Database

For the database I use mongodb Atlas. But you can use the local also.

If you don't have any account in Atlas. Visit the page and create a free account then get your connection string. More at Documentation.

Use your connection string to replae the one present in .env file.

Running the App

If you install nodemon the you can use. (devStart script is already added to the package.json)

npm run devStart

or

node server.js

Built With

  • Node Js - The Backend
  • Peer JS - PeerJS simplifies WebRTC peer-to-peer data, video, and audio calls.
  • SocketIo - For realtime communication
  • NPM - Dependency Management
  • GIT - Used for version control
  • Heroku - Used to Deploy Node.js applications

Features of this WebApp:

  • Login/register.
  • Create a meeting.
  • Room Id of your choice.
  • Join a meeting.
  • Multipe users can interact.
  • Pre-Viewing and chatting before Joining.
  • Invite others via mail.
  • mute audio.
  • stop video.
  • chatting.
  • share screen.
  • Record Screen.
  • Minimizing/ maximizing other video.
  • Picture in picture.
  • Profile page.

Live Demo

For deploy the project I use heroku

Video Chat

Compatibility and other requirements

Designed for:

  • Mainly targetted to work on browsers running on Desktop and laptops. However, can be used in thge browser of your smartphone or tablets as well.
  • Works the best on browsers like Chrome and Firefox.
  • Best performance is obtained if the numer of users in a meet is less than 5, however this may vary with the device you use and the internet connectivity you are using.

Some specific points to remember:

  • Recording of audio of the meeting and sharing the audio along with screen sharing is tested only for Google Chrome and might not be available on other browsers.
  • The feature of "picture in picture" is only tested on Mozilla Firefox and might not work on other browsers.
  • You are allowed to have a RoomId of your choice, however letting a Id getting created automatically is more seecured due to its random nature making it unique.
  • The downloaded video format of the recording may not be supported by some media players including windows media player, so it is prescribed to use VLC media player to view the recorded video.
  • If you want to use the same room for any purpose again including the monitoring of the chat history, do have the roomId/link to the room stored with you.
  • The invite link for a meet may also be delivered to the spam section of the mail of the person recieving the invite.

The web app has been tested on:

  • Samsung Galaxy J7 Prime (Android- Chrome)
  • Acer Predator Helious 300 (Windows 10- Chrome, Firefox, Edge)
  • Realme 2 pro (Android- Chrome)
  • Acer Predator Helious 300 (Ubuntu- Firefox)

video_streaming_web_interface-webrtc's People

Contributors

rahulgoel2000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.