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
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
Add a "flame" effect on each hand's index onto a video stream.

Add a "flame" effect on each hand's index onto a video stream. recording.webm.mov This script is just a quick hack, it's a bit of glue between mediapi

Paul Willot 7 Sep 15, 2022
pygamevideo module helps developer to embed videos into their Pygame display

pygamevideo module helps developer to embed videos into their Pygame display. Audio playback doesn't use pygame.mixer.

Kadir Aksoy 10 Dec 28, 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
Automatically segment in-video YouTube sponsorships.

SponsorBlock Auto Segment [Model Download] Automatically segment in-video YouTube sponsorships. Trained on a large dataset of YouTube sponsor transcri

Akmal 7 Aug 22, 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
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
Real-time video and audio streams over the network, with Streamlit.

streamlit-webrtc Example You can try out the sample app using the following commands.

Yuichiro Tachibana (Tsuchiya) 648 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
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
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
This is a simple script to generate a .opml file from a list of youtube channels.

Youtube to rss Don't spend more time than you need to on youtube.com This is a simple script to generate a .opml file from a list of youtube channels.

Kostas 1 Oct 04, 2022
PyAV is a Pythonic binding for the FFmpeg libraries.

PyAV is a Pythonic binding for the FFmpeg libraries. We aim to provide all of the power and control of the underlying library, but manage the gritty details as much as possible.

PyAV 1.8k Jan 01, 2023
Docker container to expose a local RTMP, RTSP, and HLS stream for all your Wyze cameras including v3

Docker container to expose a local RTMP, RTSP, and HLS stream for all your Wyze cameras including v3. No Third-party or special firmware required.

1.2k Jan 07, 2023
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
pyYotubemanager is full web automated bot capable of General tasks like:- Uploading a Video , Downloading , adding Title , Description , Listing types , adding Thumbnail

PyYoutubemanager Explore the docs ยป View Demo ยท Report Bug ยท Request Feature About The Project PyYotubemanager is full web automated bot capable of Ge

4 Jun 29, 2022
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
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
Video Chat Streamer With Python

Voice Chat Streamer This bot can stream audio or video files and urls in telegram voice chats :) ๐ŸŽฏ Follow me and star this repo for more telegram bot

WiskeyWorm 4 Oct 09, 2022
Terminal-Video-Player - A program that can display video in the terminal using ascii characters

Terminal-Video-Player - A program that can display video in the terminal using ascii characters

15 Nov 10, 2022