Plex for UnRAID FAQ

From unRAID
Jump to: navigation, search

Please contribute to this FAQ as you see fit


There is now a thread on the Plex forums to cover bugs/issues when running on an unRAID box

Elan (lead Plex developer) is aware of this thread, so it would be a great place to document all the current issues

Find it here: Bugs/Issues in Plex v0.9.2.8-34480ac with unRAID v5.0beta6a


Library does not show up in Plex for iOS Devices

There seems to be a problem when using the automatic server browser in Plex for iOS in conjunction with Plex Media Server on Linux. Sometimes the library will show up, other times it will not.

Thanks to a late night debugging session with Elan, we now have a permanent fix, which also works for LG MediaLink and AppleTV clients.

You need to do the following:

  1. cd into the ~/Library/Application Support/Plex Media Server/Plug-ins/ directory.
  2. Move Framework.bundle to Framework.bundle.orig, and then symlink to it. e.g. ln -s Framework.bundle.orig Framework.bundle (This prevents autoupdates removing our fix).
  3. Edit Framework.bundle/Contents/Resources/Versions/2/Python/Framework/components/networking.py
  4. Look for this line: if hostname.endswith('.local.') and self._core.runtime.os in ('Linux', 'Windows'):
  5. and change it to: if (hostname.endswith('.local.') or hostname.endswith('.local')) and self._core.runtime.os in ('Linux', 'Windows'):
  6. Save the file, and restart PMS.

Your iOS clients (and any other clients) should find the library just fine now.


For iOS client, the following does also work, but often the library will disappear the next time you run Plex:

  1. Open Plex on your iOS Device
  2. Turn OFF the Find Nearby Servers option
  3. Tap Add a new server
  4. Enter any Friendly name you wish (unRAID, tower, etc.)
  5. Tape Add a new connection
  6. Enter the IP address of your unRAID Server (There may be issues with using a short name or NetBIOS name, ie: "tower", if you experience the same issue, use the IP address of your unRAID server)
  7. Tap Save
  8. If you use any credentials to access your Plex Media Server, enter them now
  9. Tap Save again to save the new server config
  10. Try going to your library and hopefully you will see your Media sections.

Unable to play video from iOS / AppleTV / Roku devices

Due to the way Plex works with the aforementioned devices, it needs to transcode the video files using a piece of software called "ffmpeg". The default unRAID installation (5.0b6) which is required for Plex does not contain the necessary libraries to run this.

The good thing is that Plex ships with them when you download it from their website. We just need to do a little fiddling to get it to work properly.

1. Modify your /boot/config/go

Include the following lines in your /boot/config/go file:

echo "/mnt/cache/.custom/apps/Plex" >> /etc/ld.so.conf
ldconfig

Replace /mnt/cache/.custom/apps/Plex with the location where you installed Plex

2. Copy ALSA Sound library file

The initial build of Plex does not include the ALSA Sound libraries which are required for ffmpeg to work. For this reason, you need to download the alsa-lib-1.0.23-i486-1.txz file and place it in /boot/extra

That's it! You should now be able to transcode video from iOS and other devices that require transcoding.


Need configurable transcode directory

The current version of Plex for Linux puts temporary transcode files into the /tmp directory. This is fine on standard Linux distributions, but is very bad for unRAID. The entire unRAID root filesystem resides in RAM, including /tmp. I have seen my unRAID server fall to it's knees due to Plex using up all available memory for storing it's interim transcode files. It would be great if we could have a configurable transcode directory in the preferences section of the UI. Workaround is to create a symlink from /tmp to a location on your cache drive, or one of your shares.

An alternative to a symlink is the mount --bind command. To put /tmp on a disk based filesystem from your /boot/config/go script, you could use the following:

cd /tmp; tar cf - . | (cd /mnt/cache/.tmp; tar xf -)
mount --bind /mnt/cache/.tmp /tmp

Plex shares do not show up on LG MediaClient devices

This is now fixed. Please see first entry in this FAQ.

LG Media Client cannot fast forward or rewind video files from Plex unRAID server

Using the side effect mention in 4. above to view the unRAID media shares, I find that fast forward and rewind does not work in the LG Media Client. The position marker moves along the bar in the display, but the file continues to play in the same place. The same operation using the Plex shares on the Mac works fine.


Transcode DTS to stereo option for LG Media Link does not work on unRAID Plex server

I've selected this option, and then attempted to playback an MKV file which contains only DTS audio. The Media Link client simply shows the spinning busy logo, and eventually times out with a 'Media cannot be played' error. The same operation on the Mac server (with the same MKV file) works fine. It is interesting to see that no 'ffmpeg' process is kicked off on the unRAID server, unlike the Mac.

A fix for this is now known, and should be in the next public beta release of PMS for Linux. The fix also adds DTS -> AC3 transcoding for clients that don't support DTS.


start.sh script doesn't work when called from outside Plex directory

The start.sh script directly references ./Plex Media Server, which will only work if you are currently in the Plex install directory.

We need to change this:

#!/bin/sh
SCRIPT=$(readlink -f $0)
SCRIPTPATH=`dirname ${SCRIPT}`
export LD_LIBRARY_PATH="${SCRIPTPATH}"
export PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS=6
ulimit -s 3000
./Plex\ Media\ Server

into this:

#!/bin/sh
SCRIPT=$(readlink -f $0)
SCRIPTPATH=`dirname ${SCRIPT}`
export LD_LIBRARY_PATH="${SCRIPTPATH}"
export PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS=6
ulimit -s 3000
$SCRIPTPATH/Plex\ Media\ Server

Not all items in your media path are scanned (you will see ascii encoding errors in the scanner log)

You need to add the following lines to your start.sh script (or /boot/custom/plex.sh if you use the Unraid Plugin) just after the other export lines:

export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"

Note: props to benni-chan for this.

Known issue: PMS crashes after 4-8 hours

Please see this Plex forum post: http://forums.plexapp.com/index.php/topic/29195-unraid-pms-randomly-quits-usually-in-about-a-day/

Summary: There appears to be some sort of memory leak that is being experienced by a significant portion of Plex on unRAID users. This causes PMS to quit (crash) when the growing process exceeds available physical memory. At this time, the Plex devs are aware of the problem, however it is unknown if they have pinpointed this issue or if it's even being actively worked on.