Plex

From Hurlster Wiki
Jump to navigation Jump to search

Plex DVR

Install Comskip, PlexComkip, and Dependencies:
As pointed out by Vincent in the comments, the following should be run inside the Plex Docker container. (Thank You)

Install dependencies

apt-get install -y git build-essential libargtable2-dev libsdl1.2-dev autoconf automake libtool libavutil-dev libavformat-dev vim ffmpeg mkvtoolnix

Install Comskip

cd /tmp
git clone git://github.com/erikkaashoek/Comskip
cd Comskip
./autogen.sh
./configure
make
make install
cd /tmp
rm -rf /tmp/Comskip

Get PlexComskip

cd /opt
git clone https://github.com/ekim1337/PlexComskip.git
cd PlexComskip
cp PlexComskip.conf.example PlexComskip.conf

Edit PlexComskip.conf and change ffmpeg-path

ffmpeg-path: /usr/bin/ffmpeg

Create comskip.sh with the following content

#!/bin/sh
/usr/bin/mkvpropedit "$1" --edit track:a1 --set language=eng --edit track:v1 --set language=eng
sleep 10
/usr/bin/python /opt/PlexComskip/PlexComskip.py "$1"

Save file and set permissions

chmod 777 comskip.sh

Configure Plex to use script:
Login to Plex Media Server
Click Settings
Select Server and then DVR (Beta)
Choose DVR Settings and entry /opt/PlexComskip/comskip.sh into the Post Processing Script section.

RasPlex

Installation on RaspberryPi 2 Get and install Rasbian Lite

https://downloads.raspberrypi.org/raspbian_lite_latest.torrent
  • Burn with Win32DiskImager

Prepare wireless network (/etc/wpa_supplicant/wpa_supplicant.conf)

network={
ssid="SSID"
psk="SSIDPASSWD"
}

Install updated tools

$ sudo wget -q -O - https://www.bunkus.org/gpg-pub-moritzbunkus.txt | sudo apt-key add -
$ sudo apt-get update && sudo apt-get upgrade -y
$ sudo nano /etc/apt/sources.list.d/bunkus.list

add these lines......

deb http://www.bunkus.org/debian/jessie/ ./
deb-src http://www.bunkus.org/debian/jessie/ ./

Then install plexmediaserver on raspberrypi 2

$ sudo wget https://dev2day.de/plex-latest
$ sudo dpkg -i plex-latest
$ sudo apt-get install mkvtoolnix libexpat1 libav-tools ntfs-3g samba samba-common exfat-utils -y
$ sudo wget -q -O - http://dev2day.de/pms/dev2day-pms.gpg.key | sudo apt-key add -
$ sudo su
# echo "deb http://dev2day.de/pms/ jessie main" >> /etc/apt/sources.list.d/pms.list
# apt-get update
# apt-get install plexmediaserver
  • left out ffmpeg

Mount external(USB/HDD) disk:

$ sudo nano /etc/fstab
/dev/sda1 /media/usbhdd1 ntfs-3g gid=pi,uid=pi,noatime 0 0
$ sudo mkdir -p /media/usbhdd1
$ sudo reboot
  • Option
Follow these simple steps to install PMS on your armv7 device running Debian or a deriviate :
# become root
sudo su
# add my public key
wget -O - https://dev2day.de/pms/dev2day-pms.gpg.key | apt-key add -
# add my PMS repo
echo "deb https://dev2day.de/pms/ jessie main" >> /etc/apt/sources.list.d/pms.list
# activate https
apt-get install apt-transport-https
# update the repos
apt-get update
# install PMS
apt-get install plexmediaserver-installer
For ARM64 please use the following steps:
# become root
sudo su
# add my public key
wget -O - https://dev2day.de/pms/dev2day-pms.gpg.key | apt-key add -
# add my PMS repo
echo "deb [arch=armhf] https://dev2day.de/pms/ jessie main" >> /etc/apt/sources.list.d/pms.list
# activate https
apt-get install apt-transport-https
#enable armhf support
dpkg --add-architecture armhf 
# update the repos
apt-get update
# install PMS
apt-get install plexmediaserver-installer:armhf

OpenPHT

  • Ubuntu 14.04 Trusty install
apt-get build-dep kodi
https://github.com/RasPlex/OpenPHT/releases
https://github.com/RasPlex/OpenPHT/releases/download/v1.6.2.123-e23a7eef/openpht_1.6.2.123-e23a7eef-trusty_amd64.deb
  • /etc/init.d/plexhometheater
#!/bin/sh

### BEGIN INIT INFO
# Provides:          plexhometheater
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts instance of Plex Home Theater
# Description:       starts instance of Plex Home Theater using start-stop-daemon and xinit
### END INIT INFO

############### EDIT ME ##################

# Read configuration variable file if it is present
[ -r /etc/default/plexhometheater ] && . /etc/default/plexhometheater

# path to xinit exec
DAEMON=/usr/bin/xinit

# startup args
DAEMON_OPTS="/usr/bin/openpht"

# script name
NAME=plexhometheater

# app name
DESC="Plex Home Theater"

# user
RUN_AS=root

# Path of the PID file
PID_FILE=/var/run/plexhometheater.pid

############### END EDIT ME ##################

test -x $DAEMON || exit 0

set -e

case "$1" in
  start)
        echo "Starting $DESC"
        start-stop-daemon --start -c $RUN_AS --background --pidfile $PID_FILE  --make-pidfile --exec $DAEMON -- $DAEMON_OPTS
        ;;
  stop)
        echo "Stopping $DESC"
        start-stop-daemon --stop --pidfile $PID_FILE
        ;;

  restart|force-reload)
        echo "Restarting $DESC"
        start-stop-daemon --stop --pidfile $PID_FILE
        sleep 5
        start-stop-daemon --start -c $RUN_AS --background --pidfile $PID_FILE  --make-pidfile --exec $DAEMON -- $DAEMON_OPTS
        ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0

OpenPHT Debian

Installation for Jessie/Sid

  • Enable all extras.ubuntu.com packages in sources.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 16126D3A3E5C1192
  • Add repos
apt-get install software-properties-common
add-apt-repository ppa:team-xbmc/ppa
apt-get update
  • Install key
gpg --keyserver pgp.mit.edu --recv-keys 0x860CDC13 && gpg --armor --export 0x860CDC13 | apt-key add -
  • Add /etc/sources.list.d/openpht.list
deb http://www.preining.info/debian/ openpht-sid main
deb-src http://www.preining.info/debian/ openpht-sid main
  • Install libssl
wget http://ftp.us.debian.org/debian/pool/main/o/openssl/libssl1.0.2_1.0.2h-1_i386.deb
dpkg -i libssl1.0.2_1.0.2h-1_i386.deb
apt-get update
apt-get install libjpeg62-dev openpht

OpenPHT Minimal (ION)

The following guide/information assume you have decent linux knowledge adn can create a bootable usb pen
Get the ubuntu minial iso from ubuntu, extract it to a usb pen. Use plex as your username in the setup
When the initial setup completes and you've logged in, run the following commands

sudo apt-get install software-properties-common pkg-config
sudo apt-add-repository ppa:plexapp/plexht
sudo apt-add-repository ppa:pulse-eight/libcec
  • Install plexmediaserver (if dual setup system)
wget https://downloads.plex.tv/plex-media-server/1.0.3.2461-35f0caa/plexmediaserver_1.0.3.2461-35f0caa_i386.deb
dpkg -i plexmediaserver_1.0.3.2461-35f0caa_i386.deb
  • Add /etc/sources.list.d/openpht.list
deb http://www.preining.info/debian/ openpht-sid main
deb-src http://www.preining.info/debian/ openpht-sid main
  • Install preining.info key
gpg --keyserver pgp.mit.edu --recv-keys 0x860CDC13 && gpg --armor --export 0x860CDC13 | apt-key add -
  • Update
apt-get update
  • Get libshair requirement
wget https://www.preining.info/debian/pool/main/s/shairplay/libshairplay0_0.9.0.20160527-1_i386.deb
dpkg -i libshairplay0_0.9.0.20160527-1_i386.deb
  • Install SSL
wget http://ftp.us.debian.org/debian/pool/main/o/openssl/libssl1.0.2_1.0.2h-1_i386.deb
dpkg -i libssl1.0.2_1.0.2h-1_i386.deb
  • Install deps
sudo apt-get install openpht xorg alsa-utils lirc libsdl1.2-dev libjpeg-dev liblzo2-dev libyajl-dev \
libmicrohttpd-dev libtinyxml-dev libglew-dev libavahi-client-dev libflac++-dev libsdl-image1.2-dev \
libboost-thread1.58-dev libva-dev libtiff5-dev libjpeg-turbo8-dev libjpeg62-dev -y
  • NVidia only install
wget http://us.download.nvidia.com/XFree86/Linux-x86/340.96/NVIDIA-Linux-x86-340.96.run
chmod 755 NVIDIA-Linux-x86-340.96.run
sudo ./NVIDIA-Linux-x86-340.96.run -a -q --opengl-headers -X --dkms

sudo nvidia-xconfig -s --no-logo --force-generate --output-xconfig=/etc/X11/xorg.conf

Set X to be accessed by everyone?

sudo dpkg-reconfigure x11-common

Setup OpenPHT to boot at startup by editing openpht

sudo nano /etc/init.d/openpht

Paste this:

#!/bin/sh

### BEGIN INIT INFO
# Provides:          openpht
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts instance of Plex Home Theater
# Description:       starts instance of Plex Home Theater using start-stop-daemon and xinit
### END INIT INFO

############### EDIT ME ##################

# Read configuration variable file if it is present
[ -r /etc/default/plexhometheater ] && . /etc/default/plexhometheater

# path to xinit exec
DAEMON=/usr/bin/xinit

# startup args
DAEMON_OPTS="/usr/bin/openpht"

# script name
NAME=openpht

# app name
DESC="Plex Home Theater"

# user
RUN_AS=root

# Path of the PID file
PID_FILE=/var/run/openpht.pid

############### END EDIT ME ##################

test -x $DAEMON || exit 0

set -e

case "$1" in
 start)
       echo "Starting $DESC"
       start-stop-daemon --start -c $RUN_AS --background --pidfile $PID_FILE  --make-pidfile --exec $DAEMON -- $DAEMON_OPTS
       ;;
 stop)
       echo "Stopping $DESC"
       start-stop-daemon --stop --pidfile $PID_FILE
       ;;

 restart|force-reload)
       echo "Restarting $DESC"
       start-stop-daemon --stop --pidfile $PID_FILE
       sleep 5
       start-stop-daemon --start -c $RUN_AS --background --pidfile $PID_FILE  --make-pidfile --exec $DAEMON -- $DAEMON_OPTS
       ;;
 *)
       N=/etc/init.d/$NAME
       echo "Usage: $N {start|stop|restart|force-reload}" >&2
       exit 1
       ;;
esac

exit 0
  • Make executable
update-rc.d openpht defaults

And finally run

sudo reboot