Difference between revisions of "PS3 Mediaserver"

From ArchWiki
Jump to: navigation, search
(SysVinit)
(Running)
 
(15 intermediate revisions by 8 users not shown)
Line 1: Line 1:
[[Category:Networking]]
+
[[Category:Web server]]
 +
[[ja:PS3 Mediaserver]]
 
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 ==
 
== Installation ==
Install {{AUR|pms}} from [[AUR]].
+
 
 +
{{Note|Because of the dependency {{AUR|tsmuxer}} having extra 32-bit dependencies, you will need to enable the [[multilib]] repository if you have a 64-bit system.}}
 +
 
 +
[[Install]] the {{AUR|pms}} package.
  
 
== Configuration ==
 
== 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 {{ic|/opt/pms}} and the config file is at {{ic|/opt/pms/PMS.conf}}, there are comments describing what each option is for.
  
 
If running headless on a server
 
If running headless on a server
Line 12: Line 17:
 
minimized = true}}
 
minimized = true}}
  
If you don't want your entire filesystem to be shown
+
If you do not want your entire filesystem to be shown
 
{{hc|Media Locations|
 
{{hc|Media Locations|
 
folders = /directory.you.want.shared/,/another.directory
 
folders = /directory.you.want.shared/,/another.directory
Line 29: Line 34:
 
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].
  
Edit the system-wide configuration file:
+
== Running ==
{{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|
+
# 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).
+
{{hc|/etc/rc.d/pms|
+
#!/bin/bash
+
 
+
. /etc/rc.conf
+
. /etc/rc.d/functions
+
. /etc/conf.d/pms
+
 
+
PID&#61;`cat /var/run/pms.pid 2> /dev/null`
+
[ -z "$PID" ] && PID&#61;`ps -Ao pid,command &#124; grep java &#124; grep pms.jar &#124; 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&#61;$!
+
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&#124;stop&#124;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 ===
+
 
+
The package ships a systemd unit file by default now (since 1.71.0-2). After installation just run:
+
  
# systemctl daemon-reload
+
[[Start]] {{ic|pms@'''user'''.service}}, replacing {{ic|'''user'''}} with the user you want PMS to run under.
# systemctl start pms@<username>.service # to start once
+
# systemctl enable pms@<username>.service # automatically start at boot
+
# journalctl _SYSTEMD_UNIT&#61;pms@<username>.service # to debug the logfiles
+
  
 
== Indexing ==
 
== Indexing ==
  
 +
This should be done automagically upon starting the service, but if it does not, this is how to do it manually:
 +
* Browse the logs to see at what ip-address and port pms has started the built-in webservice
 
* 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'
 
* 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.
 
* After the indexing has ended, you are done.

Latest revision as of 14:30, 16 July 2016

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

Installation

Note: Because of the dependency tsmuxerAUR having extra 32-bit dependencies, you will need to enable the multilib repository if you have a 64-bit system.

Install the pmsAUR package.

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 do not 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.

Running

Start pms@user.service, replacing user with the user you want PMS to run under.

Indexing

This should be done automagically upon starting the service, but if it does not, this is how to do it manually:

  • Browse the logs to see at what ip-address and port pms has started the built-in webservice
  • 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.