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
基于BililiveRecorder 的集群录播客户端

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

NGWORKS 7 Jul 10, 2022
Stream music with ffmpeg and python

youtube-stream Stream music with ffmpeg and python original Usage set the KEY in stream.sh run server.py run stream.sh (You can use Git bash or WSL in

Giyoung Ryu 14 Nov 17, 2021
Turn any live video stream or locally stored video into a dataset of interesting samples for ML training, or any other type of analysis.

Sieve Video Data Collection Example Find samples that are interesting within hours of raw video, for free and completely automatically using Sieve API

Sieve 72 Aug 01, 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
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
Examples of usage of GStreamer hlssink3 plugin.

Examples of usage of GStreamer hlssink3 plugin.

Rafael Carício 2 Aug 03, 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
获取斗鱼&虎牙&哔哩哔哩&抖音&快手等 48 个直播平台的真实流媒体地址(直播源)和弹幕,直播源可在 PotPlayer、flv.js 等播放器中播放。

获取斗鱼&虎牙&哔哩哔哩&抖音&快手等 48 个直播平台的真实流媒体地址(直播源)和弹幕,直播源可在 PotPlayer、flv.js 等播放器中播放。

乌帮图 5.6k Jan 06, 2023
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
Home Assistant custom component for viewing IP cameras RTSP stream in real time using WebRTC technology

WebRTC Camera Home Assistant custom component for viewing IP cameras RTSP stream in real time using WebRTC technology. Based on: Pion - pure Go implem

Alex X 739 Dec 30, 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

Adnan Ahmad 82 Jan 03, 2023
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
A Python extension that provides bindings to WebRTC M92

This project follows the W3C specification with some modifications and additions to make it work better with Python applications, with useful APIs like programmatic audio and video.

Il'ya 104 Dec 26, 2022
Add filters (background blur, etc) to your webcam on Linux.

Add filters (background blur, etc) to your webcam on Linux.

Jashandeep Sohi 480 Dec 14, 2022
Image and video quality assessment

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

Tencent 133 Dec 20, 2022
This program is to make a video based on Deep Dream

This program is to make a video based on Deep Dream. The program is modified from DeepDreamAnim and DeepDreamVideo with additional functions for bleding two frames based on the optical flows. It also

Aertist 23 Jan 22, 2022
Script simples para baixar vídeos/áudios/playlist do YouTube

🔗 VilelaTube ▶️ Script simples para baixar vídeos/áudios/playlist do YouTube Requisitos • Como usar • Melhorias futuras ⚠️ Atenção! ⚠️ Lembre-se de a

João Victor Vilela dos Santos 2 Nov 03, 2021
A Python media index

pyvideo https://pyvideo.org is simply an index of Python-related media records. The raw data being used here comes out of the pyvideo/data repo. Befor

pyvideo 235 Dec 24, 2022
camKapture is an open source application that allows users to access their webcam device and take pictures or create videos.

camKapture is an open source application that allows users to access their webcam device and take pictures or create videos.

manoj 1 Jun 21, 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