All Projects → wolveix → Plexus

wolveix / Plexus

Licence: gpl-3.0
A suite of tools to help manage your media collection.

Programming Languages

shell
77523 projects
bash
514 projects

Projects that are alternatives of or similar to Plexus

Plexidrive
Scripts to facilitate the use of cloud storage (such as Google Drive) as storage for Plex media server
Stars: ✭ 118 (+51.28%)
Mutual labels:  bash-script, rclone, plex, plex-media-server
Cloud Media Scripts
Upload and stream media from the cloud with or without encryption. Cache all new and recently streamed media locally to access quickly and reduce API calls
Stars: ✭ 84 (+7.69%)
Mutual labels:  rclone, plex, plex-media-server
plex-traefik
Plex media server with traefik 2 in docker and docker-compose
Stars: ✭ 30 (-61.54%)
Mutual labels:  plex, plex-media-server
PGMA-Modernized
An updated approach for Plex Gay Media Adult Agents for both Full Feature Films and Scenes
Stars: ✭ 59 (-24.36%)
Mutual labels:  plex, plex-media-server
Kitana
A responsive Plex plugin web frontend
Stars: ✭ 252 (+223.08%)
Mutual labels:  plex, plex-media-server
UpdateTool
A tool to update the IMDB ratings for Plex libraries that contain movies/series and use the IMDB agent to receive ratings
Stars: ✭ 195 (+150%)
Mutual labels:  plex, plex-media-server
BPfM
unofficial Plex web client wrapper for macOS
Stars: ✭ 15 (-80.77%)
Mutual labels:  plex, plex-media-server
Saltbox
Ansible-based solution for rapidly deploying a Docker containerized cloud media server.
Stars: ✭ 117 (+50%)
Mutual labels:  plex, rclone
PlexAutoSkip
Automatically skip content in Plex
Stars: ✭ 95 (+21.79%)
Mutual labels:  plex, plex-media-server
Telly
An IPTV proxy
Stars: ✭ 557 (+614.1%)
Mutual labels:  plex, plex-media-server
Plex Nginx Reverseproxy
Configuration to serve Plex Media Center https://plex.tv using Nginx https://nginx.com
Stars: ✭ 523 (+570.51%)
Mutual labels:  plex, plex-media-server
Homescripts
My Scripts for Plex / Emby with Google Drive and rclone
Stars: ✭ 652 (+735.9%)
Mutual labels:  rclone, plex-media-server
multi-scrobbler
Scrobble plays from multiple sources to multiple clients
Stars: ✭ 54 (-30.77%)
Mutual labels:  plex, plex-media-server
PlexServerAutoUpdater
Automatically update Plex when running the Plex service.
Stars: ✭ 94 (+20.51%)
Mutual labels:  plex, plex-media-server
synology-update-plex
Script to Auto Update Plex Media Server on Synology NAS
Stars: ✭ 89 (+14.1%)
Mutual labels:  plex, plex-media-server
clusterplex
ClusterPlex is basically an extended version of Plex, which supports distributed Workers across a cluster to handle transcoding requests.
Stars: ✭ 123 (+57.69%)
Mutual labels:  plex, plex-media-server
plexmedia-downloader
Offline download media from Plex Media Server
Stars: ✭ 15 (-80.77%)
Mutual labels:  plex, plex-media-server
Plex.py
Python interface for the Plex Media Server API
Stars: ✭ 22 (-71.79%)
Mutual labels:  plex, plex-media-server
rpi-nas
🌐👨‍💻💻 Setup your own NAS on a Raspberry Pi
Stars: ✭ 29 (-62.82%)
Mutual labels:  plex, plex-media-server
plex-utills
Manage your Plex library automatically
Stars: ✭ 258 (+230.77%)
Mutual labels:  plex, plex-media-server

Plexus

A suite of tools to help manage the media behind a Plex server.

Docker

Rather than installing the dependencies and downloading Plexus locally, you can run the Plexus Docker image:

docker run -v $HOME/.config/plexus:/root/.config/plexus -v $HOME/.plexus:/root/.plexus -v /path/to/media:/media wolveix/plexus:latest 

Install

Automatic

You can automatically install Plexus by running the following line via a supported command line interface:

curl https://plexus.wolveix.com/install.sh | sudo bash

If you don't have superuser priviledges or are using macOS, use this instead:

curl https://plexus.wolveix.com/install.sh | bash

Manual

Alternatively, you can manually install Plexus to a custom location on your device. You should install sudo if it doesn't already exist on your system. Install any missing dependencies (Debian/Ubuntu):

sudo apt-get -qq -y update && sudo apt-get -qq -y upgrade
sudo apt-get -qq -y install curl ffmpeg rsync

Install any missing dependencies (CentOS/Rhel):

sudo yum -q -y install epel-release
sudo yum -q -y update && sudo yum -q -y upgrade
sudo yum -q -y localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
sudo yum -q -y install curl ffmpeg ffmpeg-devel rsync

Install any missing dependencies (macOS):

brew update && brew upgrade
brew install curl ffmpeg rsync

Create all of the temporary folders required:

mkdir -p $HOME/.config/plexus $HOME/.plexus/encode/convert $HOME/.plexus/encode/converted $HOME/.plexus/rclone /tmp/plexus

Download the default config file and move it into the correct location:

curl -O https://raw.githubusercontent.com/Wolveix/Plexus/master/plexus.conf
mv plexus.conf "$HOME"/.config/plexus/

Next, download the executable itself:

curl -O https://raw.githubusercontent.com/Wolveix/Plexus/master/plexus

Finally, correct the file permissions and move it into your respective operating system's application directory. The following example is for Linux:

chmod u+x plexus && chmod 755 plexus
sudo chown root:root plexus
sudo mv plexus /usr/bin/plexus

That's it!

Plexus natively supports RClone and a custom build of FFmpeg. You can install any dependencies via Plexus' built-in install function.

Configuration

This is the default config file:

audio_codec="aac"
blacklist_file="$HOME/.plexus/blacklist"
convert_dir="$HOME/.plexus/encode/convert"
converted_dir="$HOME/.plexus/encode/converted"
deinterlacing="true"
ffmpeg_binary=""
ffmpeg_threads="2"
ffmpeg_preset="faster"
ffprobe_binary=""
force_overwrite="true"
fusermount_binary=""
hardware_acceleration="false"
hardware_codec="opencl"
list_file="$HOME/.plexus/list.txt"
media_container="mkv"
media_dir="/mnt/plexdrive"
mount_dir=""
rclone_binary=""
rsync_binary=""
video_codec="h264"
video_library="libx264"

Without changing any options, Plexus will create a list of your files that either don't use the MKV container, x264 video codec or the aac audio codec. You can then process this list by running the encode command which will move through the list and re-encode each file to fit the above three conditions.

Original files are replaced by default, but you can disable this by changing the force_overwrite value to false. You can edit the config file directly ($HOME/.config/plexus/plexus.conf) or you can use the built-in config function by running plexus config.

Usage

This somewhat varies depending on whether you're planning on encoding local media or media contained on an RClone remote. Firstly, specify your ideal codecs via the config function.

Local Media

Run plexus list -d /path/to/media to start building a recursive list of your media which needs to be re-encoded.

Once the list function has finished its process, you can begin the encoding process by running plexus encode -l /path/to/list.

Remote Media

Run plexus list -d /mount/path/path/to/media -m /mount/path to start building a recursive list of your media which needs to be re-encoded.

Once the list function has finished its process, you can begin the encoding process by running plexus encode -l /path/to/list -r RCloneRemote:.

Support

If you run into any issues, please submit an issue via this repo. If the issue occurs during the encode command, please run the command again with the --verbose flag so that we may have a better idea of what's happening.

Credits

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].