This project utilizes Networking fundamentals and some protocols like HTTP and TCP Socket protocols as well as UDP to implement a Video Streaming broadcast with WebRTC technology. WebRTC is web based technology that enables peer-to-peer content sharing of data between nodes that consume content from a source.
What does this project introduce? This project mainly comprises of a server written in Node.js (Server-side javascript) and Javascript on the Front end.
This project enables a single user to broadcast and live stream their video to a group pf users via a peer to peer connection.
In order to establish the IP addresses of the viewers and broadcaster, the broad caster and the viewer both need to notify the server using a websockets connection that they have connected and also notify them of the type of the user they are. The server then assigns them the IP addresses and connection metadata to the connected candidates.
Once connetion is achieved the stream is successful and can be done from one node across mutiple nodes. Below are some images of the running application.
These are the pre-requisites needed to run this project.
Run the following commands in your terminal in order to start the project
$ npm install
$ npm run build
$ npm run start