Difference between revisions of "PS3 Mediaserver"

From ArchWiki
Jump to: navigation, search
(Use AUR template.)
(Added structure and information on systemd-systems)
Line 2: Line 2:
 
Server implemented in java. Has very good default transcoding profiles for several clients, but lacks good information for headless servers.
 
Server implemented in java. Has very good default transcoding profiles for several clients, but lacks good information for headless servers.
  
 +
== Installation ==
 
Install {{AUR|pms}} from [[AUR]].
 
Install {{AUR|pms}} from [[AUR]].
  
 +
== Configuration ==
 
The default install location is /opt/pms and the config file is at /opt/pms/PMS.conf, there are comments describing what each option is for.
 
The default install location is /opt/pms and the config file is at /opt/pms/PMS.conf, there are comments describing what each option is for.
  
Line 26: Line 28:
  
 
A list with all options can be found [http://ps3mediaserver.org/forum/viewtopic.php?f=3&t=254&hilit=pms.conf#p15283 here].
 
A list with all options can be found [http://ps3mediaserver.org/forum/viewtopic.php?f=3&t=254&hilit=pms.conf#p15283 here].
* In order to run it as a daemon:
+
 
 +
Edit the system-wide configuration file:
 +
{{hc|/etc/conf.d/pms|2=
 +
PMS_USER='<user name to run it as>'
 +
}}
 +
Make sure that you place your configuration file in /home/<user name to run it as>/.config/PMS/PMS.conf
 +
 
 
{{hc|May not be necessary on all systems|
 
{{hc|May not be necessary on all systems|
 
# mkdir /opt/pms/database
 
# mkdir /opt/pms/database
 
# chown <username> /opt/pms/database
 
# chown <username> /opt/pms/database
 
# chown <username> /var/log/pms.log
 
# chown <username> /var/log/pms.log
# /etc/rc.d/pms start
 
 
}}
 
}}
* Use your web browser to go to: <nowiki>http://<ip-address-of-your-server>:5001/console/home</nowiki> and click on 'index files and folders'
+
 
* (optionally) watch the output with 'tail -f /var/log/pms.log' or 'tail -f /opt/pms/debug.log' for any problems.
+
== Run as a daemon ==
* After the indexing has ended, you are done.
+
=== SysVinit ===
  
 
Use the following modified daemon script (originally from pms-svn).
 
Use the following modified daemon script (originally from pms-svn).
Line 91: Line 98:
 
}}
 
}}
  
{{hc|/etc/conf.d/pms|2=
+
{{hc||
PMS_USER='<user name to run it as>'
+
# /etc/rc.d/pms start
 
}}
 
}}
 +
 +
* (optionally) watch the output with 'tail -f /var/log/pms.log' or 'tail -f /opt/pms/debug.log' for any problems.
 +
 +
=== systemd ===
 +
Add a new service-file if this is not already present:
 +
{{hc|/lib/systemd/system/ps3mediaserver.service|
 +
[Unit]
 +
Description&#61;PS3MediaServer
 +
After&#61;syslog.target network.target rpcbind.service
 +
 +
[Service]
 +
User&#61;<username>
 +
Group&#61;users
 +
WorkingDirectory&#61;/opt/pms/
 +
Type&#61;simple
 +
ExecStart&#61;/opt/pms/PMS.sh
 +
 +
[Install]
 +
WantedBy&#61;multi-user.target
 +
}}
 +
 +
{{hc||
 +
# systemctl daemon-reload
 +
# systemctl start ps3mediaserver.service # to start once
 +
# systemctl enable ps3mediaserver.service # automatically start at boot
 +
# journalctl _SYSTEMD_UNIT&#61;ps3mediaserver.service # to debug the logfiles
 +
}}
 +
 +
== Indexing ==
 +
 +
* Use your web browser to go to: <nowiki>http://<ip-address-of-your-server>:5001/console/home</nowiki> and click on 'index files and folders'
 +
* After the indexing has ended, you are done.

Revision as of 21:24, 17 September 2012

Server implemented in java. Has very good default transcoding profiles for several clients, but lacks good information for headless servers.

Installation

Install pmsAUR from AUR.

Configuration

The default install location is /opt/pms and the config file is at /opt/pms/PMS.conf, there are comments describing what each option is for.

If running headless on a server

Operating Mode
minimized = true

If you don't want your entire filesystem to be shown

Media Locations
folders = /directory.you.want.shared/,/another.directory

If you run into issues with the wrong audio track playing (example: English desired)

Audio language priority
mencoder_audiolangs = eng,und

Example of english subtitles desired, no subtitles by default on English programs

Subtitle language priority
mencoder_sublangs = loc,eng,und

A list with all options can be found here.

Edit the system-wide configuration file:

/etc/conf.d/pms
PMS_USER='<user name to run it as>'

Make sure that you place your configuration file in /home/<user name to run it as>/.config/PMS/PMS.conf

May not be necessary on all systems
# mkdir /opt/pms/database
# chown <username> /opt/pms/database
# chown <username> /var/log/pms.log

Run as a daemon

SysVinit

Use the following modified daemon script (originally from pms-svn).

/etc/rc.d/pms
#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions
. /etc/conf.d/pms

PID=`cat /var/run/pms.pid 2> /dev/null`
[ -z "$PID" ] && PID=`ps -Ao pid,command | grep java | grep pms.jar | awk '{print $1}'`

case "$1" in
	start)
		stat_busy "Starting PS3 Media Server"
		if [ -z "$PID" ]; then
			if [ -n "$PMS_USER" ]; then
				su -s '/bin/sh' $PMS_USER -c "/usr/bin/ps3mediaserver &>> /var/log/pms.log" &
			else
				/usr/bin/ps3mediaserver &>> /var/log/pms.log &
			fi
			PID=$!
			if [ $? -gt 0 ]; then
				stat_fail
			else
				echo $PID > /var/run/pms.pid
				add_daemon pms
				stat_done
			fi
		fi
		;;
	stop)
		stat_busy "Stopping PS3 Media Server"
		[ ! -z "$PID" ]  && kill $PID &> /dev/null
		while ps -p $PID &> /dev/null; do sleep 1; done
		if [ $? -gt 0 ]; then
			stat_fail
		else
			rm /var/run/pms.pid 2> /dev/null
			rm_daemon pms
			stat_done
		fi
		;;
	restart)
		$0 stop
		sleep 1
		$0 start
		;;
	*)
		echo "usage: $0 {start|stop|restart}"
		;;
esac
exit 0

# /etc/rc.d/pms start
  • (optionally) watch the output with 'tail -f /var/log/pms.log' or 'tail -f /opt/pms/debug.log' for any problems.

systemd

Add a new service-file if this is not already present:

/lib/systemd/system/ps3mediaserver.service
[Unit]
Description=PS3MediaServer
After=syslog.target network.target rpcbind.service

[Service]
User=<username>
Group=users
WorkingDirectory=/opt/pms/
Type=simple
ExecStart=/opt/pms/PMS.sh

[Install]
WantedBy=multi-user.target

# systemctl daemon-reload
# systemctl start ps3mediaserver.service # to start once
# systemctl enable ps3mediaserver.service # automatically start at boot
# journalctl _SYSTEMD_UNIT=ps3mediaserver.service # to debug the logfiles

Indexing

  • Use your web browser to go to: http://<ip-address-of-your-server>:5001/console/home and click on 'index files and folders'
  • After the indexing has ended, you are done.