Skip to content

Repository files navigation

ComeOver Client

The Comeover Website, that you can access at https://luccadoret.github.io/comeover/home

This website allows you to shave a video file with other people, using webtorrent, and watch it live together, with a simple time sync. It also includes experimental functionalities like in-browser transcoding, subtitle files, and even live streaming (VERY experimental, and with delay). For it to work well, I advise you to use a .mp4 h264 file, 1.8 GB max. Feel free to contribute, there are many bugs to fix.

How it works

Comeover makes uses 3 key components:

  • @ffmpeg/core to verify video format, extract subtitles, or transcode the video
  • WebTorrent that allows for sharing the video over WebRTC using a BitTorrent-like protocol
  • SignalHub to connect users together, allowing them to sync their video via WebRTC

The only centralized points are the SignalHub inital handshake, and the use of a tracker website to share the data related to the torrent. The rest is completely P2P. This could be further improved by allowing users to manually share their WebRTC data, eliminating the need for SignalHub.

Run locally

  • Make sure you use node v16 at most or use the legacy OpenSSL in newer versions
  • npm install
  • node patch.js we need to manually patch the webpack build options
  • npx ng serve

TODO:

About

The comeover website

Resources

Stars

33 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages