PS3 Media Server、入れてみた。

ps3mediaserver

ps3mediaserver


 現在の自鯖機(Ubuntu 10.04.4@Express5800/70 typeFL)のDLNAサーバーはMediaTomb。 PS3 Media Serverも何度か(最後は2010年10月)入れてはみたが、いつしか使わなくなって削除した。

次期・自鯖機のDLNAサーバー

 次期・自鯖機の導入にあたり、何も考えずにMediaTombを入れるべきか、それとも既に更新しなくなって久しいMediaTombを果たして入れていいものか、ちょっと考えたりした。
 ネットをいろいろ徘徊してみて、MediaTombの対抗馬は、やはりPS3MediaServerと思えた。 自分が導入したのは 1.20前後だったが、最新は1.82(2013.7.21時点)まで上がっているらしい。 しかも簡単にインストールするパッケージも(公式ではないが)配布されていて、導入も非常に簡単になっているらしい。 ただ、配布版が1.51なのでどうせなら最新版を先ずはメディアファイルもたくさんある現行・自鯖機の方で試してみる事にした。

PS3mediaserver の導入、設定

 PS3mediaserver を動かすには必要になるパッケージが幾つかある。 先ず、それらを入れる。

$ sudo apt-get install mplayer mencoder sun-java6-jre

以下の本家からダウンロード
 http://www.ps3mediaserver.org/

$ mkdir psm; cd psm
psm $ wget https://code.google.com/p/ps3mediaserver/downloads/detail?name=pms-generic-linux-unix-1.82.0.tgz
psm $ tar tvzf pms-generic-linux-unix-1.82.0.tgz
psm $ sudo mkdir /opt/pms
psm $ sudo mv pms-generic-linux-unix-1.82.0/* /opt/pms

●PMS.confの設定
オリジナルのPMS.conf をコピーしとく

$ cd /opt/pms
/opt/pms $ cp PMS.conf PMS.conf.org
/opt/pms $ sudo vi PMS.conf

で、変更箇所は下記。

name = hogehoge  #ホスト名
network_interface = eth0  # 環境によって変わるかも
hostname = 192.168.1.100  # host名でもいいかも
port = 5001  # いれなくてもいいかも
forders = /media/video,/media/music  # 公開するメディアのフォルダ
# — binary tools path —-
# 既にインストールされているモノを明記
mencoder_path = /usr/bin/mencoder
ffmpeg_path = /usr/local/bin/ffmpeg
mplayer_path = /usr/bin/mplayer
tsmuxer_path = /opt/pms/tsMuxeR
dcraw_path = /usr/bin/dcraw
vlc_path = /usr/bin/vlc

●起動スクリプト
ネットから落としたんだが、ソースを忘れてしまった。 orz
変更箇所は赤字。

$ cat pmsd
#! /bin/sh
### BEGIN INIT INFO
# Provides: pms
# 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 3.0 By RyLoS 12-ago-2011 (email: rylos78@gmail.com)
## Contributed by MikyZ on 18/06/2011
## Contributed by Sylvain on 11/08/2011
##
export LANG=ja_JP.UTF-8

# 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”
PMS_PROFILE=”/opt/pms/PMS.conf”

# Path to executable:
DAEMON=”$PMS_HOME/$NAME”

#PID file to create
PIDFILE=”/var/run/pms.pid”

# Run as user/group [UPDATE THESE TO MAKE VALID]:
# PMSUSER=marco
# PMSGROUP=sfz
PMSUSER=root
PMSGROUP=root

# update PATH:
PATH=”$PMS_HOME:${PATH:+$PATH:}/usr/sbin:/sbin”

# 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
if [ -e “$PIDFILE” ]; then {
log_daemon_msg “$DESC” “$NAME already running or PID file present”
return 2
}
fi

log_daemon_msg “Starting $DESC” “$NAME”
start-stop-daemon –start –quiet –chdir $PMS_HOME –chuid $PMSUSER:$PMSGROUP –exec $DAEMON –pidfile $PIDFILE –make-pidfile –test > /dev/null || return 1
start-stop-daemon –start –quiet –chdir $PMS_HOME –chuid $PMSUSER:$PMSGROUP –exec $DAEMON –pidfile $PIDFILE –make-pidfile > $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
log_daemon_msg “Stopping $DESC” “$NAME”
start-stop-daemon –stop –signal 2 –retry 5 –quiet –pidfile $PIDFILE
RETVAL=”$?”
[ “$RETVAL” = 2 ] && return 2
if [ -e “$PIDFILE” ]; then {
rm $PIDFILE
}
fi
return “$RETVAL”
}

case “$1” in
start)
do_start
case “$?” in
0|1) log_end_msg 0 ;;
2) log_end_msg 1 ;;
esac
;;
stop)
do_stop
case “$?” in
0|1) log_end_msg 0 ;;
2) log_end_msg 1 ;;
esac
;;
restart)
do_stop
do_start
case “$?” in
0|1) log_end_msg 0 ;;
2) log_end_msg 1 ;;
esac
;;
*)
echo “Usage: $SCRIPTNAME {start|stop|restart}” >&2
exit 3
;;
esac

exit 0

自動起動する

上記のスクリプトを /etc/init.d配下に置き、更に起動レベルに併せてスタート・ストップを定義する。

/opt/pms$ sudo cp pmsd /etc/init.d
/opt/pms$ sudo chown root /etc/init.d/pmsd
/opt/pms$ sudo chmod +x /etc/init.d/pmsd
/opt/pms$ sudo sysv-rc-conf –level 2345 pmsd on  # ラン・レベル 2,3,4,5 で起動
/opt/pms$ sudo sysv-rc-conf –level 015 pmsd off  # ラン・レベル 0,1,6 で停止
/opt/pms$ sudo sysv-rc-conf -list pmsd  # ラン・レベルの確認
pmsd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

起動してみる

$ sudo /etc/init.d/pmsd start

しばらくの間、ディスクへのアクセスが発生する。 公開ファイルのスキャンしてるから。
そしてPS3にも「PS3 Media Server」という文字が「Video」メニューに現れた。

当初のディスクスキャンの時こそCPU負荷は高かったが、それが終わると静かなもの。
動画再生時もCPU負荷はほぼ見られない。 たまにjavaが1,2%を指す程度だ。(Celeron E3300)

次期・自鯖機のDLNAサーバ、これで行こうかな。

Leave a Reply

  

  

  

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください