【Debian】PlayStation3 Media Server のインストール【DLNA】
雑多なのでここでまとめておこう。
インストール
まずは必要ライブラリから。
# apt-get install openjdk-7-jre # apt-get install mencoder ffmpeg mediainfo vlc
本体
# cd /root/src # wget http://sourceforge.net/projects/ps3mediaserver/files/pms-1.90.1-generic-linux-unix.tar.gz/download # mv download pms-1.90.1-generic-linux-unix.tar.gz # tar xvzf pms-1.90.1-generic-linux-unix.tar.gz # mv pms-1.90.1 /opt/ # cd /opt/ # ln -s pms-1.90.1 pms
起動スクリプト
# vi /etc/init.d/pmsd
#! /bin/sh ### BEGIN INIT INFO # Provides: pmsd # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/stop PS3 Media Server ### END INIT INFO export LANG=ja_JP.UTF-8 #echo lang=$LANG ### BEGIN INIT INFO # Provides: pmsd # Required-Start: $network $local_fs $remote_fs # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: PS3 UPnP Media Server ### END INIT INFO ## ## Version 2.1 By RyLoS 06-nov-2009 (email: rylos78@gmail.com) ## # Source init-functions: #source /lib/lsb/init-functions . /lib/lsb/init-functions # Script variables: MONTH=`date +%Y-%m` PMS_HOME="/opt/pms" PMS_LOG="/var/log/pms/pms-$MONTH.log" DESC="PS3 UPnP Media Server" NAME="PMS.sh" # Path to executable: DAEMON="$PMS_HOME/$NAME" # Run as user/group [UPDATE THESE TO MAKE VALID]: PMSUSER=root PMSGROUP=root # update PATH: PATH="$PMS_HOME:${PATH:+$PATH:}/usr/sbin:/sbin" PMS_PROFILE="$PMS_HOME/PMS.conf" # export env-vars export PATH PMS_HOME PMS_LOG PMS_PROFILE # Exit if the package is not installed if [ ! -x "$DAEMON" ]; then { echo "Couldn't find $DAEMON or not executable" exit 99 } fi # # Function that starts the daemon/service # do_start() { # Return # 0 if daemon has been started # 1 if daemon was already running start-stop-daemon --start --quiet --chdir $PMS_HOME --chuid $PMSUSER:$PMSGROUP --exec $DAEMON --test > /dev/null || return 1 start-stop-daemon --start --chdir $PMS_HOME --chuid $PMSUSER:$PMSGROUP --exec $DAEMON > $PMS_LOG 2>&1 & } # # Function that stops the daemon/service # do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred start-stop-daemon --stop --signal 2 --retry 5 --quiet --name java RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 return "$RETVAL" } case "$1" in start) log_daemon_msg "Starting $DESC" "$NAME" do_start case "$?" in 0|1) log_end_msg 0 ;; 2) log_end_msg 1 ;; esac ;; stop) log_daemon_msg "Stopping $DESC" "$NAME" do_stop case "$?" in 0|1) log_end_msg 0 ;; 2) log_end_msg 1 ;; esac ;; force-reload|restart) echo "Restarting $DESC: " #log_daemon_msg "Restarting $DESC" "$NAME" sh $0 stop sh $0 start ;; *) echo "Usage: $SCRIPTNAME {start|stop}" >&2 exit 3 ;; esac exit 0
# chmod 755 /etc/init.d/pmsd
起動確認
# /etc/init.d/pmsd start
ツール類の更新
ffmpeg等、現在のdebian-Wheezyのsourse.listに含まれているものは古くてバグってたりする。現にpmsのデバッグログでそんなのが吐かれてた。
なもんで、source.listを追加して最新をもってくることにする。
# vi /etc/apt/sources.list.d/multimedia.list
deb http://www.deb-multimedia.org wheezy main non-free deb-src http://www.deb-multimedia.org wheezy main non-free
apt経由で更新
# apt-get install deb-multimedia-keyring # apt-get update # apt-get upgrade
ffmpeg等の更新が保留されてしまうことがある。その場合はupgradeじゃなくてdist-upgradeにする。
PMS.conf
基本的に大きくいじることは無い。ただ、最近の再生端末は対応フォーマットが多数ありサーバ上で無理してトラスコすることがあんまり要らなくなってきた。 なもんで、基本的な拡張子は変換しないようにしてみた。 環境に合わせて編集したらいいよ。
# /opt/pms/PMS.conf
disable_transcode_for_extensions =mp4,m4v,mpg,avi