DLNAサーバ mediatomb のセットアップ

2012.11.01時点でaptitudeできたパッケージはmediatomb 0.12.0

# aptitude install mediatomb

MySQLの設定

MySQLにMediaTomb用のデータベースとアカウントを作成

db:mediatomb
user:mediatomb(localhostのみ)
password:mediatomb

phpMyAdminでまとめて作成した(表示のSQLは以下)

CREATE USER 'mediatomb'@'localhost' IDENTIFIED BY '***';
GRANT USAGE ON * . * TO 'mediatomb'@'localhost' IDENTIFIED BY '***' WITH MAX_QUERIES_PER_HOUR 0
MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE DATABASE IF NOT EXISTS `mediatomb` ;
GRANT ALL PRIVILEGES ON `mediatomb` . * TO 'mediatomb'@'localhost';

テーブルの構築

# mysql -p -u mediatomb mediatomb < /usr/share/mediatomb/mysql.sql
Enter password: (mediatomb)
#

MediaTombの定義ファイル編集

以下のとおり /etc/mediatomb/config.xml を編集

8,11c8
<     <ui enabled="no" show-tooltips="yes">
<       <accounts enabled="no" session-timeout="30">
<         <account user="mediatomb" password="mediatomb"/>
<       </accounts>
---
>     <ui enabled="yes" show-tooltips="yes">
18c15
<       <sqlite3 enabled="yes">
---
>       <sqlite3 enabled="no">
21c18
<       <mysql enabled="no">
---
>       <mysql enabled="yes">
23a21
>         <password>mediatomb</password>
27c25
<     <protocolInfo extend="no"/><!-- For PS3 support change to "yes" -->
---
>     <protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->
56a55,56
>     <filesystem-charset>UTF-8</filesystem-charset>
>     <metadata-charset>CP932</metadata-charset>
66a67,74
>         <map from="jpg" to="image/jpeg"/>
>         <map from="jpeg" to="image/jpeg"/>
>         <map from="gif" to="image/gif"/>
>         <map from="png" to="image/png"/>
>         <map from="m4v" to="video/mp4"/>
>         <map from="mp4" to="video/mp4"/>
>         <map from="mpg" to="video/mpeg"/>
>         <map from="mpeg" to="video/mpeg"/>
83c91
<         <!-- <map from="avi" to="video/divx"/> -->
---
>         <map from="avi" to="video/divx"/>

accountsをnoに指定していても、ユーザ・パスワードを求められ先にいけない
コメントにしても無効にならず削除しないとUIが使えない(上記の設定では削除した)

再起動

# service mediatomb restart

メディア登録

マルチメディアコンテンツの管理場所として、サーバに適当なディレクトリを作成(sambaでアクセスできるディレクトリが良)

ブラウザでアクセス(http://xxx.xxx.xxx.xxx:49152/)
・公開するディレクトリを指定
  Filesyatemを選択>ディレクトリを選択して右の+ボタンを選択
・公開するメディアコンテンツを追加
  公開ディレクトリにメディアを置けばDatabaseに表示されるようになる
  メディアの右の+ボタンでDatabaseに登録して必要ならば編集

確認

他にDLNAクライアントが無かったので、iPod ipod touch4のMPPlayer Liteで確認

所感

最新はあるようだが、今回は mediatomb 0.12.0 に関して評価

映像の配信という動作については問題ないのかもしれないが、DLNAサーバとしては良くできているとは言いがたい
・必要性のないDB
  DBってこのDLNAサーバーに必要なのか?
  ALLVIDEO・DIREVTORIES と分かれていて、それぞれが分離しているため、同様のメタ情報を与えるには2回設定する必要がある
なのに、削除するという動作は双方同期されている(これが通常なのか?)
  メタ情報が少ない(いったいなんでDB使ってるのか)
・管理画面UI
  どのディレクトリの「remove all」でも押してしまうと全てのメディアが消える(実態が削除されるわけではないDBが空になる)
  削除確認はないのにUNDOもなし(綺麗さっぱり一発で全部消せる)
  対象メディアしか消えないが、全てのメディアファイルに「remove all」が付いている(怖くて押せません)

このサーバーを使うなら次ような運用にした方が良い
・メタ情報は諦め
・メディアタイトルはメディアファイル名に付ける(拡張子が見えるのはクライアントに期待)
・メディアの管理は自身でディレクトリでも工夫して階層化
・メディアファイルの追加・削除単位は一部と考えないで全部と考える

(ついでに)
UpUドライバーを入れておけば、どのPCからでも管理画面を操作できる
つまりパスワードを設定しておかないと勝手に操作される可能性がある
しかし、パスワード設定すると管理画面が使えない(はっはっは!)
ファイルシステムでメディアを追加(add ボタンを押す)と同じメディアが何度でも追加される
自動で追加されたりされなかったりする場合がある(自動機能は消しておいたほうが無難)