/offline-video-synchronization

A project that enable you to play locally downloaded video on different devices in sync

Primary LanguageJavaScript

Objective:

To play locally downloaded videos and movies in sync across different devices using low bandwidth.

Working:

The project works in the node.js environment and is divided into two different codebases for server and client. The server codebase is hosted and the client is run locally on the device. The communication between server and client is achieved using socket.io.

Usage:

The video that needs to be watched in sync is downloaded and the client codebase is run across all devices. When a user starts a movie the current time along with the start signal is sent to the server which further transmits the signal to all the connected clients, similarly, other signals like pause or seek are transmitted across all the connected clients and video u are able to watch the video in sync even at a low bandwidth

Prerequisites:

Node and npm should be installed

Instructions:

  • Clone the repo to your local device
  • Move inside the movie-party folder
  • Move the desired video that needs to be played in the movie-client folder and rename it to video.mp4 and remove the previous video
    1. Open the movie-server folder in a desired Ide
    2. Run the command node server.js
    3. If an error appears download the required node modules and retry the command node server.js
  • Open another window in the ide
    1. Open the movie-client folder here
    2. Run the command node server.js
    3. If an error appears download the required node modules and retry the command node server.js
  • Go to a web browser and search url localhost:3000 across all devices
  • Play the video to watch in sync