Coder Social home page Coder Social logo

comeover's Introduction

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:

  • Bump the versions of most packages (Angular, ng-bootstrap, WebTorrent)
  • Add an option for manual WebRTC connection
  • Add a realiable broadcasting option (signalhub is slow/unreliable by nature)
  • Use https://github.com/ngosang/trackerslist for automatically setting the trackers list
  • Better interface feedback on erros (server unavailable, no messages received, tracker wrong...)

comeover's People

Contributors

luccadoret avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

comeover's Issues

Open Source?

Was the intention to release the project as open source? If it was, it should state under which license it was released. The project looks interesting, shouldn't be too far away from becoming fully decentralized and viable.

Can't load stream

Hi, I love this project and I think it's very useful.
Recently though, I am not able to stream any kind of video from the site, this is what a visitor gets:
image

I checked and none of this problems could happen in my situation, is this a host problem or mine?
Thank you

Replace dead trackers with working ones and fix tracker format

When using the magnet link and .torrent feature, it seems that /announce is missing from the udp:// trackers. Additionally, udp://tracker.coppersurfer.tk:6969 is now a dead tracker that had shutdown long ago, it would be best to use trackers from ngosang's best trackers list.

Here are also some WebSocket trackers you can use:
wss://tracker.webtorrent.dev
wss://tracker.files.fm:7073/announce
ws://tracker.files.fm:7072/announce

One last note, when clicking on either Magnet URI or Download .torrent under Torrent info, unsafe: is added in front of it. And for Download .torrent, it downloads a file without the extension .torrent added to the end.

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.