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.

Overview

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

Comments
  • [Suggestion] - Create CoreModel for common fields

    [Suggestion] - Create CoreModel for common fields

    Hi, for your common fields in model, you can create abstract model for don't repeat fields in all models.

    Ex:

    class CoreModel(models.Model):
       created_at = models.DateTimeField()
       class Meta:
          abstract  = True
    

    further reading: https://docs.djangoproject.com/en/3.1/topics/db/models/#abstract-base-classes

    opened by iamnotagentleman 1
  • 1.0.0

    1.0.0

    • Update dependencies due to security vulnerability #14
    • Update makefile help section to be more descriptive
    • Fix selecting no language causes problems #8
    • Fix subtitle encoding

    Closes #6 Closes #8 Closes #14

    opened by tugcanolgun 0
  • Update django to avert security vulnerability

    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. https://github.com/advisories/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.

    low priority 
    opened by tugcanolgun 0
  • Selecting no subtitle languages cause problem

    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

    bug good first issue low priority 
    opened by tugcanolgun 0
  • Subtitle encoding is wrong

    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.
    bug high priority 
    opened by tugcanolgun 0
  • Minor update

    Minor update

    Aim:

    • Enhance documentation
    • Fix typos
    • Create CoreModel for models ( #3 )
    • Use strings for ForeignKey to prevent circular imports
    • Move stream view logic to handlers
    WIP 
    opened by tugcanolgun 0
  • Add ability to chromecast

    Add ability to chromecast

    opened by tugcanolgun 0
  • Find the movie in search sources when movie search finds no movie

    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.

    enhancement good first issue 
    opened by tugcanolgun 0
  • Scan existing movies

    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.
    enhancement 
    opened by tugcanolgun 0
  • Add database dump for each movie

    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
    enhancement 
    opened by tugcanolgun 0
  • Add get movie info functionality

    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)

    enhancement good first issue 
    opened by tugcanolgun 0
  • Deleting critical files is not deleting the database entries

    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.

    bug low priority 
    opened by tugcanolgun 0
Releases(1.0.0)
Owner
Tugcan Olgun
Software Engineer
Tugcan Olgun
Python application that can be used to generate video thumbnail for mp4 and mkv file types.

Thumbnail Generator 🎬 What is This This is a Python application that can be used to generate video thumbnail for mp4 and mkv file types. Installation

Tharindu N. 13 Jan 03, 2023
Python package to display video in GUI using OpenCV-Python and PySide6

Python package to display video in GUI using OpenCV-Python and PySide6. Introduction cv2PySide6 is a package which provides utility classes and functi

3 Jun 06, 2022
A wrapper around ffmpeg to make it work in a concurrent and memory-buffered fashion.

Media Fixer Have you ever had a film or TV show that your TV wasn't able to play its audio? Well this program is for you. Media Fixer is a program whi

Halit Şimşek 3 May 04, 2022
Convert lecture videos to slides in one line. Takes an input of a directory containing your lecture videos and outputs a directory containing .PDF files containing the slides of each lecture.

Convert lecture videos to slides in one line. Takes an input of a directory containing your lecture videos and outputs a directory containing .PDF files containing the slides of each lecture.

Sidharth Anand 12 Sep 10, 2022
A Python library that simplifies working with video from soccer matches.

Match Video This is a Python library that simplifies working with video from soccer matches. It allows match video to be selected intuitively by perio

Grant Wenzinger 2 Jul 21, 2022
MoviePy is a Python library for video editing, can read and write all the most common audio and video formats

MoviePy is a Python library for video editing: cutting, concatenations, title insertions, video compositing (a.k.a. non-linear editing), video processing, and creation of custom effects. See the gall

10k Jan 08, 2023
Program to play videos with props in Apex Legends

R5Fresh A video player for the Apex Legends mod R5Reloaded

9 Nov 13, 2022
Converts Betaflight blackbox gyro to MP4 GoPro Meta data so it can be used with ReelSteady GO

Here are a bunch of scripts that I created some time ago as a proof of concept that Betaflight blackbox gyro data can be converted to GoPro Metadata F

108 Oct 05, 2022
A Simple Telegram Bot By @Tellybots to add Subtitle Files in Video

Video-subtitle-merger A Simple Telegram Bot By @Tellybots to add Subtitle Files in Video Features Force Sub Button Added Soon Support Media Type Such

6 Dec 31, 2021
Streams video from raspberry pi to desktop T1 - Recognizes Faces on client T2

VideoStreamingServer Completed: Streams video from raspberry pi to desktop T1 - Recognizes Faces on client T2 In progress: Change the transmission Pro

1 Dec 06, 2021
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.

Vigilio Your own movie streaming service. Easy to install, easy to use. Download, manage and watch your favorite movies conveniently from your browser

Tugcan Olgun 141 Jan 06, 2023
A VcVideoPlayer Bot for Telegram made with 💞 By @ThePro_CoderZ

VcVideoPlayer A VcVideoPlayer Bot for Telegram made with 💞 By @Akki_ThePro Heroku Deploy The easiest way to deploy this Bot is via Heroku. License

1 Dec 06, 2021
All the code in these repos was created and explained by HashLips on the main YouTube channel.

Welcome to HashLips 👄 All the code in these repos was created and explained by HashLips on the main YouTube channel. To find out more please visit: ?

HashLips 6.7k Jan 06, 2023
OpenShot Video Editor is an award-winning free and open-source video editor for Linux, Mac, and Windows, and is dedicated to delivering high quality video editing and animation solutions to the world.

OpenShot Video Editor is an award-winning free and open-source video editor for Linux, Mac, and Windows, and is dedicated to delivering high quality v

OpenShot Studios, LLC 3.1k Jan 01, 2023
Search a video semantically with AI.

Which Frame? Search a video semantically with AI. For example, try a natural language search query like "a person with sunglasses". You can also searc

David Chuan-En Lin 1 Nov 06, 2021
Takes a video as an input and creates a video which is suitable to upload on Youtube Shorts and Tik Tok (1080x1920 resolution).

Shorts-Tik-Tok-Creator Takes a video as an input and creates a video which is suitable to upload on Youtube Shorts and Tik Tok (1080x1920 resolution).

Arber Hakaj 5 Nov 09, 2022
A web RTSP play platform based on websocket and tornado, websocket use blob binaryType read as ArrayBuffer

A web RTSP play platform based on websocket and tornado, websocket use blob binaryType read as ArrayBuffer

2 Feb 25, 2022
Automatic video generator for local news

Automatic video generator for local news

Gabriel Monteiro 2 Jan 11, 2022
Simple background blur for your webcam

backgroundblur Simple background blur for your webcam. This script will capture your webcams output, add a blur effect to the background and output th

Stefan Wagner 4 Dec 07, 2021
Stream anime from kaa.si with python

kaa.si-cli Stream anime using MPV player from kaa.si with python

Muhammad Rovino Sanjaya 52 Dec 24, 2022