PS3とFreeBSDでDLNA

新型PS3を早速買ったけど、やるゲームがあまりないので、自宅サーバDLNAサーバを入れて動画やら音楽やらを楽しもうと思ったメモ

mediatombをインストール

いろいろ調べてみるとこれがFreeBSDとかLinuxとかで動くDLNAサーバらしい
昔なら自分でソースをとってきて入れるところだけど、子供が騒がないうちに作業しないとならんので/usr/ports/net/mediatombをmake installすることにした。
/usr/ports/X11の下のライブラリをいろいろ入れる事になったので普段X環境無いと結構時間かかるのかも
特に問題も起こらずに*1インストールできた
今回インストールしたのはmediatomb-0.11.0らしい

MYSQLを使う

mediatombにはsqlitemysqlかどっちかのデータベースが必要。
うちのサーバにはmysqlがすでに入っているのでそれを使うことにした。
で、mediatomb用にデータベースを作ってあげないといけない。
mediatombというユーザをmysqlに作ってmediatombという名前のデータベースを作るらしい
http://mediatomb.cc/pages/documentation#id2535847

で、/usr/local/share/mediatomb/mysql.sqlmysqlコマンドから投入してあげると良い

mysql -u mediatomb -p -D mediatomb < mediatomb/mysql.sql

このファイルはすでにあるテーブルをdropしてから作成し直しとかしないので後からいろいろ実験でデータベースを作り直したい時は

drop table `mt_cds_object`;
DROP TABLE `mt_cds_active_item`;
DROP TABLE `mt_internal_setting`;
DROP TABLE `mt_autoscan`;

とかいう内容のファイルを作っておくとあっという間に初期状態に戻せる

mediatomb設定

いろいろmediatombの事を調べるとmediatomb.confが必要的な事が書いてあったりするけど、古いバージョン用なのかconfig.xmlだけが設定ファイルになっているみたい。
portsからインストールしたら/usr/local/mediatomb/config.xmlにある。
確認したり変更したりする内容はmysqlを有効にする部分と

<mysql enabled="yes">
  <host>localhost</host>
  <username>mediatomb</username>
  <database>mediatomb</database>
  <password>パスワード</password>
</mysql>

あと<!-- For PS3 support change to "yes" -->というコメントが書かれてる部分とか
<!-- Uncomment the line below for PS3 divx support -->というコメントが書かれてる部分をその通りに編集する

あとは/etc/rc.confに設定を書く

mediatomb_enable="YES"
mediatomb_mtuser="mediatomb"
mediatomb_mtgroup="mediatomb"
mediatomb_config="/usr/local/etc/mediatomb/config.xml"
mediatomb_logfile="/var/log/mediatomb.log"
mediatomb_pidfile="/tmp/mediatomb.pid"
mediatomb_port="49152"
mediatomb_interface="vge0"

最後のinterfaceを設定しないとmediatombが一番はじめに見つけたインターフェースのIPアドレスで動く様になるからネットワークインターフェースが2個以上付いていれば設定するし、そうでなければいらない。

動作確認

設定が終わったら/usr/local/etc/rc.d/mediatomb startで動くはず
mediatomb_logfileに設定したファイルを確認してみる

ファイルを登録

ここまで書いて子供が騒ぎ始めたので続きはまた後で。

未解決な事リスト

  • ファイル名がEUCでMP3のタグがSJISUTF-8だと文字化けしたり最悪mediatombが動かなくなったりする
  • flvが見られない(トランスコードの設定があるようだ?)
  • DLNAクライアントから見たときのルートディレクトリを変更したい

*1:途中xlibのバージョンあげろとかconfig画面で何度か止まったけど