Giter VIP home page Giter VIP logo

tugcanolgun / vigilio Goto Github PK

View Code? Open in Web Editor NEW
148.0 4.0 24.0 838 KB

Your own movie streaming service. Easy to install, easy to use. Download, manage and watch your favorite movies conveniently from your browser or phone. Install it on your server, access it anywhere and enjoy.

Home Page: https://vigilio.tugcan.net/

License: MIT License

Shell 0.46% Makefile 0.85% Dockerfile 0.65% Python 51.94% JavaScript 37.44% CSS 3.00% HTML 5.66%
streaming-service streaming streaming-server movies

vigilio's Introduction

Vigilio Build Status Documentation Status

Your own movie streaming service. Easy to install, easy to use. Download, manage and watch your favorite movies conveniently from your browser or phone. Install it on your server, access it anywhere and enjoy.

๐Ÿ“บ Demo

You can find a live demo with limited functionality here:
demo.vigilio.tugcan.net

๐Ÿ“„ Installation & Documentation

Head to the documentation to find the instructions on how to install here:
docs.vigilio.tugcan.net

๐Ÿ”ฅ Quick Installation

For detailed info, go to documentation.

git clone https://github.com/tugcanolgun/vigilio.git

cd vigilio

docker-compose up -d

Go to http://localhost:8000
Default username: admin
Default password: adminadmin

โœจ Screenshots

main page

movie details page

search page

๐Ÿ‘ Features

  • Easy to install.
  • Automated movie info, imdb score, image, genre, subtitle downloading.
  • Continue movie feature.
  • My list feature that you can add and remove your movies.
  • Fully featured video player with subtitle and video quality options.
  • Video player supports PIP (Picture in picture) feature.
  • Search movies via different sources and add them with one click.
  • Add movies manually by providing a source and imdb ID.
  • Control background processes.
    • Force start, start, pause, delete qbittorrent entries.
    • View and cancel background processes (subtitle downloads, movie information fetcher, video processor)

โค License

MIT License

vigilio's People

Contributors

tugcanolgun 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

vigilio's Issues

Scan existing movies

This issue is tied to (#10), shouldn't be complete before that issue.

A feature should be added to scan all existing movies, including the user's movies and given a list to add found movies to vigilio.

Backend

Scan

  1. Scan the media folder.
  2. Filter the folders that does not contain a valid video.
  3. Filter the folders that already exists on vigilio
  4. Return the list of folders/files.

Add

  1. Should receive each movie separately with the full path to the file and an imdb id.
  2. Should acquire movie info, convert the movie file, download subtitles (feature already exists)

Frontend

  • A scan movies button that would make a request to the backend.
  • Should list all the folder that is found.
  • Upon selecting a movie, a search bar should be presented to enter imdb id (preferably, the user should be able to enter the movie's title and choose the correct movie and imdb id should be acquired)
  • Add button should be added.
  • Optional: Add multiple movies at once option could be beneficial.

Add database dump for each movie

Right after a download for a given movie is finished and the folder is initiated, write a dump of the info for this movie into a reusable file inside this folder. This will be used to scan movies feature. So if for some reason a user re-installs vigilio, there would be no need to redownload the movies or add movie details by hand.

Feature should include:

  • Movie database object
  • MovieContent database object
  • MovieSubtitles database object

Find the movie in search sources when movie search finds no movie

When users search existing movies via the search bar on the top and no movie is found, the movie should also be searched via the existing search sources. The results should be presented to easily add a movie to vigilio.

Sources are called MudSource and located at panel/models.py.

Search api is called MoviesEndpoint and located at stream/api/views.py.

Frontend part of it is located at frontend/src/stream/search/index.js.

Subtitle encoding is wrong

Subtitles in different languages appear to be missing language specific letters,

Possible reasons:

  • While downloading subtitles from opensubtitles as .gz and extracting.
  • During the conversion of files to .vtt format.
  • Not passing relative language information to videojs.

Deleting critical files is not deleting the database entries

In movie details page, users can delete files in the movie folders. If a marked critical file is selected to be deleted, the back-end is not deleting the database entry for that given file. This creates the problem where the said movie details page always shows that there are missing files.

Temporary workaround
As the issue still there, users can delete the said files from their admin panels.

Required solution
Front-end should send isCritical information along side with the file path when deleting the files. The back-end should search the said file in the database and delete it.

Better approach
Instead of searching the database for a file, id and table of the file could be sent for optimization.

Update django to avert security vulnerability

There is a security vulnerability for django before the version 3.1.8 whereas vigilio is using 3.1.7.
GHSA-xgxc-v2qg-chmh

This is not a high severity vulnerability.

Since django released a LTS version 3.2 on the 6th of April. Consider updating to that after QA testing it.

Selecting no subtitle languages cause problem

If a user does not choose a subtitle language and then wants to add another subtitle later, '-' is added to both .env file and redis which causes subtitle downloading logic to skip downloading since choices include -.

Solution
Remove - from the list if one or more language is selected. Associated file: frontend/src/settings/SubtitleLanguages.js

Add get movie info functionality

A way to download movie info again, with the choice of changing the movie's imdb id should be added.

back-end
An api in panel/api should be added. It will recieve both the database movie object's id and an optional imdb id and repopulate the database instance.

front-end
Update movie info option should be added to movie details page.

Eventually, redownload movie info (such as the redownload subtitles function) should be added to the settings. (out of the scope of this issue)

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.