気の向くままに辿るIT/ICT/IoT
システム開発

MediaTomb

ホーム前へ次へ
MediaTombとは?

MediaTomb

MediaTomb

 MediaTombは、家電やスマホ、タブレット、PC等々でデジタル映像・動画や画像、音楽をネットワーク共有できるリビングネットワークやホームネットワークを実現可能なUPnP/DLNAサーバの1つでフリーソフトウェアとして配布されています。

MediaTombの設定例

2016/04/02

 MediaTombは、x86、Alpha、ARM、MIPS、Sparcアーキテクチャ、*BSD/Linux/Mac OS Xなどに対応、データベースにSQLiteとMySQL(ディストロによってはMariaDB)が利用可能でSQLiteがデフォルトとなっています。

 その設定は、config.xmlでのみ行えばよく、基本的に利用するデータベースの指定、文字コードの追加、必要なエンコード方式の追加の3点だけでサーバとして機能するので簡単、管理画面には、ブラウザを利用、アクセス後の利用方法は共通です。

 尚、SambaやNFSで外付けHDDなどを共有しておくと何かと便利です。

 例えば、DNLAサーバ上に公開したメディアファイルやフォルダをDNLAクライアント側で自動認識できない場合でもSamba共有やNFS共有を参照して再生させることもできますし、外付けHDDを共有指定してNASとしておけば、外付けHDD内にあるメディアファイルにもアクセスでき、それらを再生することもできるようになります。

 ここでは、あまり違いはありませんが、NetBSD、Fedora、Debian/RaspbianでMediaTombを使ったUPnP・DLNAサーバの設定例を記します。

NetBSDでMediaTombを設定

$ sudo pkgin in mediatomb
$ sudo cp -rf /usr/pkg/share/examples/mediatomb /usr/pkg/etc/
$ sudo cp /usr/pkg/share/examples/rc.d/mediatomb /etc/rc.d/
$ sudo chown -R mediatomb:mediatomb /var/mediatomb /usr/pkg/etc/mediatomb
$ sudo vi /usr/pkg/etc/mediatomb/config.xml
...
$ sudo /etc/rc.conf
...
mediatomb=yes
...
$

 今回は、バイナリをインストール、構成ファイルとデーモンのサンプルを所定の場所にコピー、構成ファイルに追記・編集、関連ディレクトリの所有グループ及びユーザー設定、マシン起動時の設定を行ないます。

 尚、インストール時にグループ・ユーザー共に[mediatomb]が自動で追加されますが、違うグループやユーザーなどを使う場合などには、/etc/rc.confに[mediatomb_groupname=]/[mediatomb_username=]を使って指定することもできるようです。

 これだけで次回のマシン起動時にmediatombデーモンが起動しますが、もちろん再起動しなくても/etc/rc.confにmediatomb=yes追記後なら、/etc/rc.d/mediatomb start、そうでなければonestartとすれば、デーモンが起動します。

 管理画面にアクセスするには、ブラウザからIPアドレス(名前解決済みならホスト名)に、NetBSDの場合は常に、ポート番号[49152]を付けて[IP_ADDRESS:49152]とします。

 執筆時点でNetBSDには、DLNAサーバとしてMediaTomb、miniDLNA、FUPPES、GMediaServer、uShareが、ソースコード情報、バイナリ共に公式リポジトリに、Rygel、XBMCがwipに、DLNAクライアントとしては、XBMCがwipにある他、ソースコード情報、バイナリ共にTotem、VLCメディアプレーヤーなどがあります。

 当初、MediaTombもDLNAクライアントとしても使えると思っていましたし、実際、ダウンロードしたりして時間がかかるため、現実的ではないものの、使えなくもありませんが、あくまでMediaTombはDLNAサーバのようです。

FedoraでMediaTombを設定

$ sudo dnf install mediatomb
$ sudo vi /usr/pkg/etc/mediatomb/config.xml
...
$ sudo systemctl restart mediatomb.service
$

 Fedoraでは、インストールした時点で有効・起動しており、systemctlで操作可能な状態となっているので構成ファイル編集後、MediaTombを再起動するだけです。

 管理画面にアクセスするには、ブラウザからIPアドレス(名前解決済みならホスト名)に、Fedora(Linux)では、systemdでデーモン・サーバーとして起動した場合、ポート番号[50500]を付けて[IP_ADDRESS:50500]、ユーザーが個別に起動した場合には、[49152]を付けて[IP_ADDRESS:49152]とします。

Debian/RaspbianでMediaTombを設定

$ sudo apt-get install mediatomb
$ sudo vi /etc/mediatomb/config.xml
...
$ sudo systemctl restart mediatomb.service
$

 Debian/Raspbianでは、インストールした時点で有効・起動しており、(Wheezyまでは/etc/init.d、Jessieからは)systemd/systemctlで操作可能な状態となっているので構成ファイル編集後、MediaTombを再起動するだけです。

 管理画面にアクセスするには、ブラウザからIPアドレス(名前解決済みならホスト名)に、Debian/Raspbian(Linux)では、systemdでデーモン・サーバーとして起動した場合、ポート番号[50500]を付けて[IP_ADDRESS:50500]、ユーザーが個別に起動した場合には、[49152]を付けて[IP_ADDRESS:49152]とします。

config.xmlの追記設定(共通)

 Linuxでは、/etc/mediatomb/config.xml、NetBSDでは、/usr/pkg/etc/mediatomb/config.xmlを編集、ここでは前者のパスを使うものとします。

$ cd /etc/mediatomb
$ sudo cp config.xml config.xml.orig
$ sudo vi config.xml
...

 一応、元のファイルをコピーして編集。。。

...
<accounts enabled="no" session-timeout="30">
<account user="mediatomb" password="mediatomb"/>
</accounts>
...

 MediaTombを実行するユーザーも設定できますが、ここはデフォルトの[mediatomb]でよいでしょう。

...
<sqlite3 enabled="yes">
<database-file>mediatomb.db</database-file>
</sqlite3>
<mysql enabled="no">
<host>localhost</host>
<username>mediatomb</username>
<database>mediatomb</database>
</mysql>
...

 MediaTombは、データベースにデフォルトのSQLiteとMySQL(ディストロによってはMariaDB)を利用でき、SQLiteでよい場合は、そのまま、MySQLに変更する場合には、SQLiteのenabled="yes"を"no"に、MySQL(MariaDB)のenabled="no"を"yes"に変更します。

 ちなみに、ここにあるusernameは、MySQL用で、ここではこのままにしておきますが、必要なら変更します。

...
<filesystem-charset>UTF-8</filesystem-charset>
<metadata-charset>UTF-8</metadata-charset>
<scripting script-charset="UTF-8">
...

 続いて文字コードを設定します。

 ここでは、*BSD/PC-UNIX/Linuxとして何れもUTF-8にしていますが、Windowsを使っている場合には、metadata-charset行はCP932に設定した方がよいかもしれません。

...
<mappings>
  <extension-mimetype ignore-unknown="no">
    <map from="mp4" to="video/mp4"/>
    <map from="jpg" to="image/jpeg"/>
    <map from="jpeg" to="image/jpeg"/>
    <map from="m4v" to="video/mp4"/>
    <map from="mp4" to="video/mp4"/>
    <map from="m4a" to="audio/mp4"/>
    <map from="mpg" to="video/mpeg"/>
    <map from="mpeg" to="video/mpeg"/>
    <map from="avi" to="video/avi"/>
    <map from="divx" to="video/divx"/>
    
    <map from="mp3" to="audio/mpeg"/>
...

 MediaTombには、トランスコード機能があり、メディアクライアント側で対応していないコーデックがあっても対応していればサーバ側で変換し、視聴可能となります。

 デフォルトだと明らかに足りないので、それでも全てではありませんが、ここで変換内容を追記しておきます。

 尚、デフォルトのマッピングのリストは、たいてい共通ですが、ディストロによっては、一部内容が異なる場合があるので見比べて追記・編集します。

:wq
$

 最小限ここまで設定すればconfig.xmlはOKなのでOS・ディストロの作法に応じてMediaTombを再起動すれば、UPnP/DLNA対応クライアントであれば(必要に応じてプラグインを導入するなどすれば)、MediaTombが認識されるようになるはずです。

管理画面における設定方法(共通)

 MediaTombサーバでメディアファイルを公開するには、ブラウザで管理画面にアクセス後、次のようにします。

 管理画面は、左ペイン、右ペインの2つに分割されており、左ペイン上方に[Directory | Filesystem]とあるので[Filesystem]をクリック、階層を辿ってフォルダなら右上のプラスアイコン、ファイルなら右側にあるプラスアイコンをクリックすれば、[Directory]側に反映され、この時点で公開されます。(ちなみにサーバ上でも[Directory]側のファイルを選択すれば、プログラム選択のポップアップが表示され、対応プレーヤーを選べば、再生されます。)

 ディレクトリ指定時には、プラスに加え、矢印がクルッと回った絵のアイコンもあり、後者は、フォルダやファイルの自動追加をするか否かなどの設定をする為のもので同じものの変更は、[Directory]/[Filesystem]で同期されるようです。

 ここで必要なディレクトリを公開状態にしておかないとUPnP/DLNAクライアント側では、いつまで経っても認識されないので注意が必要です。

ホーム前へ次へ