Giter VIP home page Giter VIP logo

ez-watch-along's Introduction

EZ Watch Along

A hassle free solution for watching and syncing videos you own amongst your friends!

  • πŸ€— EZ to setup with a single command!
  • πŸ“œ Subtitles support for those foreign film nights!
  • πŸ“±Mobile support!
  • πŸ›‘οΈ No complicated user management system. Jut use a generated unique URL.

EZ Watch Along Demo

Requirements

How to Run

npm install # only need to run once.
node index.js --root <path_to_videos_folder>

A lookup table of all *.mp4 that can be recursively found in the root folder will execute. This can take a bit of time.

Setup

Your root should contain various mp4 videos. Subtitles can be optionally registered, in the same folder, by having the same name as the .mp4 but with .vtt extension.

MKV supprt is coming soon (see Future Goals) but until then, you will need to manually convert.

Contributions and Testing

To contribute to the code, ensure that your tests are passing before submitting a PR. To run a test, use the following:

npm test

Trouble Shooting

Issues with Finding ffmpeg?

ffmpeg is the standard for video utilities and our tools requires this installation, ensure the tool is in your PATH. Most Linux distributions have an apppropriate single line call to install this library. Windows can be a bit more involved, however, you can find tutorials online.

We use node-fluent-ffmpeg under-the-hood. You can use the variables FFMPEG_PATH and FFPROBE_PATH instead of PATH to point to your binary.

Cannot connect to server?

A couple of things to verify:

  • Ensure your server has port (8080) forwarding on the router (if hosting at home.)
  • Ensure you are passing in a token in the URL.
  • Ensure that your firewall allows port 8080.
  • Ensure you don't have another program using port 8080.

Taking a while to generate video lookup cache?

If your library is very large, it can take a while to generate a video_library.json cache file which caches video metadata. The original purpose of this tool was to support a small to medium sized library. Consider pointing your root to a sub-folder for a single session.

If there is interest in supporting larger video libraries, please file an issue.

Future Goals

  • Support simple MKV with h.246 and subtitles.
  • Support fancier subtitle interactions.
  • Make video_library.json generation more efficient.

ez-watch-along's People

Contributors

programmingincluded avatar timsyoon avatar

Stargazers

 avatar

Watchers

 avatar

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.