# PS3 Mediaserver (日本語)

Java で実装されたサーバーです。様々なクライアントに対応したトランスコードプロファイルをデフォルトで内蔵していますが、ヘッドレスサーバーとして使うための情報はあまりありません。

## インストール

AUR から pms をインストールしてください。

## 設定

デフォルトのインストール場所は /opt/pms で、設定ファイルは /opt/pms/PMS.conf です。設定ファイル内にそれぞれのオプションの説明が書かれています。

ヘッドレスのサーバーで動かす場合

    Operating Mode

    minimized = true

ファイルシステム全体から表示する場所を絞りたい場合

    Media Locations

    folders = /directory.you.want.shareuser name to run it asd/,/another.directory

オーディオトラックが間違っている場合 (例: 英語)

    Audio language priority

    mencoder_audiolangs = eng,und

英語の動画ではサブタイトルを出さず、それ以外では英語のサブタイトルを表示する場合

    Subtitle language priority

    mencoder_sublangs = loc,eng,und

全てのオプションの一覧はここにあります。

システム全体の設定ファイルを編集してください:

    /etc/conf.d/pms

    PMS_USER='<pms を実行するユーザー名>'

設定ファイルは /home/<pms を実行するユーザー名>/.config/PMS/PMS.conf に置くようにしてください。

    以下の作業はシステムによっては必要ありません

    # mkdir /opt/pms/database
    # chown <ユーザー名> /opt/pms/database

## デーモンとして実行

### SysVinit

以下の修正デーモンスクリプト (オリジナルは 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

- (任意) 'tail -f /var/log/pms.log' や 'tail -f /opt/pms/debug.log' で問題が起こった時に出力が見れます。

### systemd

現在 (1.71.0-2 から) パッケージには systemd のユニットファイルがデフォルトで含まれています。インストール後に以下を実行してください:

    # systemctl daemon-reload
    # systemctl start pms@<ユーザー名> # pms を実行
    # systemctl enable pms@<ユーザー名> # 起動時に自動実行
    # journalctl -u pms@<ユーザー名> # ログファイルにデバッグ出力

## インデックス化（索引付け）

- ウェブブラウザを使って次のページに行き: http://<サーバーの ip アドレス>:5001/console/home
- 'index files and folders' をクリック
- それでインデックスが作られます。

Category:

- Networking (日本語)