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
A way to run youtube videos in TTY

TTY youtube client its finally here, the one thing literally NO ONE ASKED FOR!! A way to run youtube videos in TTY Dependencies: (pip) yt-search (syst

1 Nov 28, 2021
Video stream image stacking -- live version

video stream image stacking v2 -- live version A very simple streamed video image stacking code! Version 2.1 left mouse click to select a small region

Chakravarthy Mathiazhagan 1 Jan 03, 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
Your self hosted Youtube media server

The Tube Archivist Your self hosted Youtube media server Core functionality Subscribe to your favourite Youtube channels Download Videos using yt-dlp

Simon 2.1k Dec 31, 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
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 Telegram bot to convert videos into x265/x264 format via ffmpeg.

Video Encoder Bot A Telegram bot to convert videos into x265/x264 format via ffmpeg. Configuration Add values in environment variables or add them in

1 Mar 08, 2022
Image and video quality assessment

CenseoQoE: 视觉感知画质评价框架 项目介绍 图像/视频在编解码、传输和显示等过程中难免引入不同类型/程度的失真导致图像质量下降。图像/视频质量评价(IVQA)的研究目标是希望模仿人类视觉感知系统, 通过算法评估图片/视频在终端用户的眼中画质主观体验的好坏,目前在视频编解码、画质增强、画质监。

Tencent 133 Dec 20, 2022
Video processing routines for SciPy

scikit-video Video Processing SciKit BETA Video processing algorithms, including I/O, quality metrics, temporal filtering, motion/object detection, mo

Alex Izvorski 119 Dec 27, 2022
Webcam Indicator is an application to recieve and send messages from your own Webcam Server.

Welcome to Webcam Indicator 👋 Webcam Indicator is an application to recieve and send messages from your own Webcam Server. 🏠 Homepage Prerequisites

Lorenzo Carbonell 2 Apr 04, 2022
Code for the manim-generated scenes used in 3blue1brown videos

Code for the manim-generated scenes used in 3blue1brown videos

Grant Sanderson 4.1k Jan 09, 2023
Скрипт который выводит видео в консоль. Ничего лишнего)

video-to-ascii Скрипт который выводит видео в консоль. Ничего лишнего) Требования Минимальное разрешение экрана: 1280x720 Видео в качестве 360p 10-45f

Daniil Pisarev 155 Nov 28, 2022
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
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
I have baked a custom integration to control Eufy Security Cameras and access RTSP and P2P stream if possible.

I have baked a custom integration to control Eufy Security Cameras and access RTSP (real time streaming protocol) and P2P (peer to peer) stream if pos

Fuat Akgün 422 Jan 01, 2023
Youtube-dislikes-adder - Add dislikes to the description of your YouTube videos.

Add number of dislikes to the description of your YouTube videos. Number of dislikes are updated if you let this function as a bot.

fluks 1 Aug 23, 2022
Program for converting video to GIF

video-to-gif Program for converting video to GIF Install the lib: pip install moviepy Usage: Specify the path to the video file. clip = VideoFileClip(

Artem Mokin 0 Dec 13, 2021
Stream-Cli application that allow you to play your favorite movies from the terminal

Stream-Cli application that allow you to play your favorite movies from the terminal

redouane 380 Jan 08, 2023
Uncompress DEFLATE streams in pure Python

stream-deflate Uncompress DEFLATE streams in pure Python. Work in progress. This README serves as a rough design spec. Installation pip install stream

Michal Charemza 7 Oct 13, 2022
Simple nightcore song+video maker

nighty nighty is a simple nightcore song maker (+ video) Installation clone the repo wherever you want git clone https://www.github.com/DanyB0/nighty

DanyB0 2 Oct 02, 2022