そろそろPS3とMediatomb@Macについてまとめておくか

先日PS3がマイナーモデルチェンジして付属のコントローラがDualshock3になり、ようやく振動無しコントローラの在庫処分に付き合わなくてよくなったので、BlurayDLNA経由動画プレイヤー目的で買った。 そこで、DLNAサーバ構築要領をまとめておく。

再生したい動画ファイルはDVDからVOB抜きしたmpegファイルと、それをDivXエンコードしたaviファイル。つまりどちらもそのままPS3で再生できる形式で、トランスコードの必要無し。

なら外付けHDD直結ではなくどうしてわざわざDLNAか?というと、

  • PS3が外付けHDDはFAT32フォーマットしか認識できず、そうなると4GBの壁にぶち当たり、映画とか大きいファイルは無理
  • 接続するたびにPS3がHDD内のファイルサーチを行うため、ファイル数が多くなると認識完了するまでに結構な時間がかかる

という欠点が解消されるから。

高機能かつ無料のDLNAサーバは、Windows PC & TVersityというのが一番メジャーと思われるが、目的と手持ちの機器の空き具合と消費電力と静音性を考慮した結果、Mac & Mediatombでいくことにする。

使用機器とか

  • クライアント:
    • PLAYSTATION3(CECHL00 通称80G版)
    • システムソフトウェア v2.52

インストール前準備

  • Xcodeをインストール
  • MacPortsを使ってiconv最新版をインストール

(そのままMacPortsでMediatombをインストールしても良いような気もするが…)

Mediatombのインストール

http://blog.drikin.com/article/108331313.htmlを参考に。
ホームディレクトリでソースを解凍して、

% cd mediatomb-0.11.0
% ./configure
% make
% sudo make install

Mediatombの設定

さらにhttp://cappmac.exblog.jp/8359270/も参考に。
いきなり

% mediatomb --ip 192.168.0.ddd --port 49152

で初回起動&即終了。
~/.mediatomb/config.xml(設定ファイル)が作られるので、それを編集していく。

PS3に対応

コメント通り

<protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->

に変更。

文字コード指定
<filesystem-charset>UTF-8-MAC</filesystem-charset>
<metadata-charset>UTF-8-MAC</metadata-charset>
<scripting script-charset="UTF-8">

に変更&追加。

動画ファイル拡張子指定

間に、

<map from="m4v" to="video/mp4"/>
<map from="mp4" to="video/mp4"/>
<map from="mpg" to="video/mpeg"/>
<map from="mpeg" to="video/mpeg"/>
<map from="avi" to="video/divx"/>

を追加。

ついでに次項の準備
<virtual-layout type="js">

登録する動画ファイルをフォルダで整理できるようにする

Mediatombのデフォルト設定では、登録した動画ファイルは全てVIDEOフォルダ直下に置かれる。そこでhttp://allegro.10.dtiblog.com/blog-entry-26.htmlを参考にフォルダ整理されるようにする。

/usr/local/share/mediatomb/js/import.js内のaddVideo関数を以下のとおりにする。

function addVideo(obj)
{
  var desc = obj.location;
  var arr = desc.split('/');
  var u_path = f2i(arr[arr.length -2]);

  var chain = new Array('Video', u_path);
  addCdsObject(obj, createContainerChain(chain));
}

Mac起動時にMediatombも立ち上げる

Macを起動するたびに、ターミナルを開いてコマンド入力してMediatombを立ち上げる手間を省くため、Mac起動時に自動的にMediatombも開始するようにする。

Applescriptを作る

スクリプトエディタ.appで以下のスクリプトを入力、コンパイル、アプリケーションフォーマットで保存。

tell application "Terminal"
        activate
        do script with command "mediatomb --ip 192.168.0.ddd --port 49152 &"
end tell
自動起動に登録する

[システム環境設定]→[アカウント]→[ログイン項目]に上のApplescriptを追加。

そんなこんなで…

快適な動画再生環境ができた。

見たいDVDを探す手間、DVD挿入・マウントにかかる時間、見たくも無い警告や企業ロゴを強制的に見させられる不毛な時間が無くなるメリットはとても大きい。また、HDMI端子のないHDブラウン管テレビを使っているため、DVDを直接再生するとPS3のアップコンバート機能が使えなかった問題も解決される。(法的にアレな部分はおいといて)

Mediatombにはトランスコード機能もあるようだが試してない。というか動画トランスコードにPowerPC G4は力不足な気がするし、Windows & TVersityの方が設定も簡単で良いだろう。