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
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
Autocut the Twitch VODs based on Marker

Markut Given the VOD of the stream and the markers that are exported as a CSV file, generate a video using ffmpeg that cuts out part of the VOD accord

Tsoding 18 Dec 19, 2022
Python retagging utility for mkv files using mkvmerge.

pyretag A python script to retag mkv files. Setting Up pip install pyfiglet pip install rich Move the mkv files to input folder.

25 Dec 04, 2022
Synchronize Two Cameras in Real Time using Multiprocessing

Synchronize Two Cameras in Real Time using Multiprocessing In progress ... 📁 Project Structure 📚 Install Libraries for this Project (requirements.tx

Eduardo Carvalho Nunes 2 Oct 31, 2021
Repository to create Ascii art in CMD based on video file.

Made to take any file format, and transform it into ascii art, displayed as a video in the cmd. If the cmd formatting is wrong, try zooming a little and remember to make cmd fullscreen. I made my cmd

60 Dec 17, 2022
pyffstream - A CLI frontend for streaming over SRT and RTMP specializing in sending off files

pyffstream - A CLI frontend for streaming over SRT and RTMP specializing in sending off files

Gregory Beauregard 3 Mar 04, 2022
A pure python media player that can be used in AI media API development.

A pure python media player that can be used in AI media API development.

YDOOK 1 Dec 04, 2021
基于BililiveRecorder 的集群录播客户端

高度自动化的录播服务端! 一、项目介绍 1、介绍 这是NGlive的录播服务器集群的客户端部分实现代码,它可以自动化的进行录制-压制-上传-通知,同时流程高度可自定义,并且可以任意受中心服务器的调度,有一定的错误修复能力。可以保证长期稳定的运行。 2、基本功能 这个客户端集 录制、转码压制、上传为一

NGWORKS 7 Jul 10, 2022
BlogBot - a Python script that create blogs from YouTube videos.

BlogBot - Convert Youtube Videos To Blogs BlogBot is a Python script that create blogs from YouTube videos.

Nikhil Bhamere 4 Apr 22, 2022
Meteor scan - Scan through video for meteor

meteor_scan Scan through video for meteor Installation Install python packages b

2 Jun 04, 2022
Filtering user-generated video content(SberZvukTechDays)Filtering user-generated video content(SberZvukTechDays)

Filtering user-generated video content(SberZvukTechDays) Table of contents General info Team members Technologies Setup Result General info This is a

Roman 6 Apr 06, 2022
video streaming userbot (vsu) based on pytgcalls for streaming video trought the telegram video chat group.

VIDEO STREAM USERBOT ✨ an another telegram userbot for streaming video trought the telegram video chat. Environmental Variables 📌 API_ID : Get this v

levina 6 Oct 17, 2021
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
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
FLIR/DJI IR Camera Data Parser, Python Version

FLIR/DJI IR Camera Data Parser, Python Version Parser infrared camera data as NumPy data. Usage Clone this respository and cd thermal_parser. Run pip

14 Dec 23, 2022
Telegram Music/ Video Streaming Bot Using Pytgcalls

Video Player 🔥 ᴢᴀɪᴅ ᴠᴄ ᴘʟᴀyᴇʀ ɪꜱ ᴀ ᴛᴇʟᴇɢʀᴀᴍ ᴘʀᴏᴊᴇᴄᴛ ʙᴀꜱᴇᴅ ᴏɴ ᴘʏʀᴏɢʀᴀᴍ ꜰᴏʀ ᴘʟᴀʏ ᴍᴜꜱɪᴄꜱ ɪɴ ᴠᴄ ᴄʜᴀᴛꜱ... 🅡🅔🅟🅞 🅢🅣🅐🅣🅢 ʀᴇQᴜɪʀᴇᴍᴇɴᴛꜱ 📝 FFmpeg NodeJ

16 Nov 30, 2022
Cross-platform command-line AV1 / VP9 / HEVC / H264 encoding framework with per scene quality encoding

Av1an A cross-platform framework to streamline encoding Easy, Fast, Efficient and Feature Rich An easy way to start using AV1 / HEVC / H264 / VP9 / VP

Zen 947 Jan 01, 2023
Simple VLC-based media player that can play multiple videos at the same time

Screenshots About Simple VLC-based media player that can play multiple videos at the same time. You can play as many videos as you like, the only limi

161 Jan 05, 2023
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
Text2Video's purpose is to help people create videos quickly and easily by simply typing out the video’s script and a description of images to include in the video.

Text2Video Text2Video's purpose is to help people create videos quickly and easily by simply typing out the video’s script and a description of images

Josh Chen 19 Nov 22, 2022