alexander-heimbuch / watch-together

Archived since Amazon and Disney now natively support syncing :)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Watch Together

Like Netflix Party for every Browser and most of the Streaming Services ... and without the browser plugin :)

Support

Streaming Sites

Pretty much everything that uses a HTML5 video tag:

  • Amazon Prime
  • Netflix
  • Disney+
  • Youtube
  • ...

Browsers

  • Chrome
  • Safari (even mobile!)
  • Firefox

Installation

  1. clone this repo
  2. run npm install

Start

  1. Create a file called local.json in config
  2. Adapt the configuration that is defined in config/default.json in this file (see node-config)
  3. Run npm start
  4. Access http://my-custom-server:PORT to get the bookmarklet
  5. Execute the bookmarklet on your devices

Development and Contributions

  1. Fork the respository
  2. Run npm install
  3. Run npm run dev to start the development environment
  4. use http://localhost:3000/example to get an interactive example

Deployment

  1. Change the APP_ROOT in docker-compose.yml
  2. Adapt the Caddyfile accordingly
  3. Checkout the repo on your server and run docker-compose up -d

Functionality

To syncronise videos between multiple clients a simple websocket client and server (relay) is used. A very simple bookmarklet injects the socket client into the streaming site. Each client generates a a random uuid that is used as a session identifier. The client that registers first with a new session id will run in operator mode. Every media control (play/pause/scrub) is pushed to the server and relayed to all other clients that registered for the same session id.

About

Archived since Amazon and Disney now natively support syncing :)


Languages

Language:JavaScript 79.4%Language:Pug 16.3%Language:HTML 2.4%Language:Dockerfile 1.4%Language:CSS 0.5%