All Projects → qq99 → Muvee

qq99 / Muvee

Licence: gpl-2.0
μv: (mew-vee) Netflix, for your home. WIP

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Muvee

Pollyjs
Record, Replay, and Stub HTTP Interactions.
Stars: ✭ 9,484 (+10556.18%)
Mutual labels:  netflix
Stimulus reflex expo
StimulusReflex demos
Stars: ✭ 85 (-4.49%)
Mutual labels:  rails
Csso Rails
CSS Optimizer(csso) ruby wrapper for Rails Asset pipeline
Stars: ✭ 86 (-3.37%)
Mutual labels:  rails
Embedding Reference Apps
Reference applications for common web frameworks showing how to embed Metabase charts
Stars: ✭ 83 (-6.74%)
Mutual labels:  rails
Rails Security Checklist
🔑 Community-driven Rails Security Checklist (see our GitHub Issues for the newest checks that aren't yet in the README)
Stars: ✭ 1,265 (+1321.35%)
Mutual labels:  rails
Dockstarter
DockSTARTer helps you get started with home server apps running in Docker.
Stars: ✭ 1,265 (+1321.35%)
Mutual labels:  media-server
Snibox
Self-hosted snippet manager
Stars: ✭ 1,247 (+1301.12%)
Mutual labels:  rails
Instuigram
🎓 Learning Ruby on Rails through building the Instagram Application.
Stars: ✭ 88 (-1.12%)
Mutual labels:  rails
Graphjin
GraphJin - Build APIs in 5 minutes with GraphQL. An instant GraphQL to SQL compiler.
Stars: ✭ 1,264 (+1320.22%)
Mutual labels:  rails
Pager Api
Easy API pagination for Rails
Stars: ✭ 86 (-3.37%)
Mutual labels:  rails
Netflix
Subscribe to my YouTube channel: https://bit.ly/CognitiveSurge - Building Netflix Using React
Stars: ✭ 1,254 (+1308.99%)
Mutual labels:  netflix
Thredded
The best Rails forums engine ever.
Stars: ✭ 1,263 (+1319.1%)
Mutual labels:  rails
Rails React Boilerplate
Ruby on Rails, React, Webpack 4 boilerplate app.
Stars: ✭ 86 (-3.37%)
Mutual labels:  rails
Pluck all
A more efficient way to get data from database. Like #pluck method but return array of hashes instead.
Stars: ✭ 83 (-6.74%)
Mutual labels:  rails
Covid Volunteers
Organizing and matching volunteers with COVID-19 projects
Stars: ✭ 87 (-2.25%)
Mutual labels:  rails
Streama
Self hosted streaming media server. https://docs.streama-project.com/
Stars: ✭ 8,948 (+9953.93%)
Mutual labels:  media-server
Chaskiq
A full featured Live Chat, Support & Marketing platform, alternative to Intercom, Drift, Crisp, etc ...
Stars: ✭ 1,263 (+1319.1%)
Mutual labels:  rails
Errdo
A simple plugin to handle, log, and customize production errors in Rails applications
Stars: ✭ 88 (-1.12%)
Mutual labels:  rails
Simpleadmin Rails
SimpleAdmin - Dashboard for modern website without wasting time
Stars: ✭ 87 (-2.25%)
Mutual labels:  rails
Rails or
Cleaner syntax for writing OR Query in Rails 5, 6. And also add #or support to Rails 3 and 4.
Stars: ✭ 86 (-3.37%)
Mutual labels:  rails

μv (aka muv aka muvee)

μv: (pronounced: mew-vee, somewhat like "movie")

This project is something like Netflix, but run on a server in your own home. It aims to be an open source alternative to Plex. It can attempt to reach out to the Internet to find sources for media that you legally own, but do not yet possess backups of.

At the moment, it's a media manager that presents a web UI reminiscent of Netflix. It grabs metadata, posters, and fanart, and displays it all in a nice to consume format from any device in your household.

I started it because I wanted to view my media on my PS4. Since then, PS4 added DLNA and I've modified muvee so much that this project won't even work with the PS4 browser (alas, it can't handle flexbox). It works quite nicely on a Mac Mini connected to your TV.

Recent pictures

YouTube video of a recent revision

Pictures of the project in very early stages

Pictures

Movies index

Detailed movie view page, when movie is sourced (you have a copy)

Detailed movie view page, when movie is not yet sourced (you don't have a copy)

Attempting to find copies

Discover movies, or search for them on the net

Movies index while downloading, blue progress bar appears

Detailed movie page while downloading, blue progress bar appears

Pressing the t key on any index page lets you quickly search the movies muvee knows about

Series index page

Series details page, green bars represent your watching progress

Series details page, trying to find a source

Series details page while downloading, blue progress bar appears

On deck, your latest unwatched episodes

Viewing more details about a particular episode in a season

Settings and configuration

Status page, any progress bars of currently executing jobs

The player itself

To install and use on Linux

  1. Install the Transmission bittorrent client, and enable web access (restricting it to 127.0.0.1 is fine). This is required to run muvee atm until I code around errors thrown when it is not running. Your remote settings should look like this for muvee to interact with Transmission. You can set your other client settings however you like.
  2. sudo apt-get install postgresql-9.3 libpq-dev libav-tools nginx redis or if on OSX, brew install postgresql redis nginx libav
  3. bundle install
  4. bundle exec rake database:create (or manually create a postgres role and set up your database.yml, e.g., psql -c "create role muvee with createdb login password 'password1'")
  5. bundle exec rake db:create (different than above!) then bundle exec rake db:migrate
  6. If the last step failed to migrate, try bundle exec rake db:reset
  7. Make sure your database.yml is correct!
  8. bundle exec rake nginx:restart to start up nginx with the custom configuration required. It will attempt to kill any instances of nginx the user can access (but should not be a problem if you're not doing this as root). Disregard any error messages regarding logs.
  9. bundle exec foreman start (or if you want to run rails separately from sidekiq, bundle exec rails s and bundle exec sidekiq)
  10. Visit http://localhost:8080
  11. Set up your media paths
  12. If all is well, you can then click the gear and "Scan for new media". Wait, and media items will begin to appear as you refresh
  13. Set your TV to Just scan mode or similar (see your TV's documentation) so that edges aren't clipped

Integration with Hue lights

muvee can control your lights! Your lights will brighten when playback is paused/stopped, and dim when playback is starts. Additionally, there is a setting to have it sample the picture periodically to change the hue to approximate the colours of the scene.

If you haven't played with the Ruby hue gem yet, you'll need to create a group with the API (easiest in bundle exec rails console):

client = Hue::Client.new
light = client.lights.first
light.on! # or light.off!, you will need to hit the button on your bridge, then try these commands again until it works
group = client.group
group.lights = client.lights # or a specific subset of the lights you want to control
group.name = "Default Group"
group.create!

At the moment, muvee uses client.groups.first as the set of lights it will dim and brighten throughout playback. This will hopefully change as the project grows and matures to be configurable from within the UI.

Dependencies (and tested with):

  • transmission 2.84
  • postgresql-9.3 libpq-dev
  • ruby 2.2.2
  • redis (for sidekiq)
    • sudo apt-get install redis
  • libav-tools
    • avconv / ffmpeg (req avconv command on your path)
      • avconv version 9.14-6:9.14-0ubuntu0.14.04.1
      • ffmpeg version 2.7.6-0ubuntu0.15.10.1
    • avprobe / ffprobe (req avprobe command on your path)
      • avprobe version 9.14-6:9.14-0ubuntu0.14.04.1
      • ffprobe version 2.7.6-0ubuntu0.15.10.1
  • nginx version (req nginx command available on your path):
    • nginx/1.9.3 (Ubuntu)
    • nginx/1.4.6 (Ubuntu)

Deprecated dependencies:

  • ImageMagick 6.7.7-10 2014-03-06 Q16 (deprecated for now)
  • libffi-dev libphash0 libphash0-dev (for determining 3D-ness of movies; deprecated)
    • sudo apt-get install libffi-dev libphash0 libphash0-dev

Hotkeys

  • spacebar: pause
  • left arrow: Jump back in time
  • right arrow: Jump forward in time
  • up arrow: Increase volume
  • down arrow: Decrease volume
  • t (on series/movie index pages): Bring up a quick search bar

Definitions of terms

  • sbs: side-by-side (3D)
  • tab: top-and-bottom (3D)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].