カテゴリー
オーディオ

mediatomb(DLNAサーバー)を複数起動させる

mpdを使い始める前に、しばらく、DLNAを使っていました。
その時のmediatombの設定内容です。
こんな設定で、一応動いていますので、大きな間違いはないと思います。

まずは、ディストリビューションのパッケージを使ったのですが、手持ちのアルバムが結構多いので、目的のアルバムにたどり着くのに結構手間がかかるのが気にいりませんでした。
そこで、音楽ジャンル毎にDLNAサーバーをたてられないものかと、アレコレ試してみて、以下の方法に落ち着きました。
もっとも、今は、DLNAを使っていませんが…

まずは、mediatombのソースコードを取得します。
http://mediatomb.cc/
適当な場所で展開します。
また、必要なライブラリも取得します。
僕の場合、適当にconfigureして、出てきたエラーメッセージを眺めながら、必要なライブラリをインストールしてます。かなり乱暴かつ適当です(笑)

mediatombは、そのままでは複数のDLNAサーバーをたてられないので、複数のmediatombを起動するようにします。
クラシック、ジャズ、和物、洋物の4種類に分けたいので、mediatombも四つ起動させる必要があります。
ということで、mediatombのインストール先を
/usr/local/md1
/usr/local/md2
/usr/local/md3
/usr/local/md4
として、ビルドすることにします。

configureの設定は以下の通りです。

./configure \
–bindir=/usr/local/md1 \
–with-avformat-libs=/usr/local/lib \
–with-libmp4v2-libs=/usr/local/lib \
–with-libmp4v2-h=/usr/local/include \
–disable-id3lib \
–with-ffmpegthumbnailer-libs=/usr/local/lib \
–with-expat-libs=/usr/lib \
–with-lastfmlib-libs=/usr/local/lib

僕の場合は、FLACのみに対応していればいいので、結構適当ですが…

色々あって、IPアドレスも4つ必要になります。
/etc/network/interfaces
に、以下のような記述を行って、1台のPCに複数のIPアドレスを割り当てます。
なお、追加するIPアドレスのために、NICを1枚追加しています(eth1のほう)。

iface eth0 inet static
address 192.168.0.101
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

auto eth1
iface eth1 inet static
address 192.168.0.111
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255

auto eth1:1
iface eth1:1 inet static
address 192.168.0.112
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255

auto eth1:2
iface eth1:2 inet static
address 192.168.0.113
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255

これで、準備OKです。

次は、mediatombの設定ファイルです。
config.xmlのserver部分を以下のように設定します(一部抜粋)。

<server>
<ip>192.168.0.111</ip>
<port>50001</port>
<name>ROCK</name>
<home>/home/music/ROCK</home>
</server>

これで、それぞれのconfig.xmlのIPアドレスを変更します。portは変えなくても大丈夫だと思いますが、僕は50000〜50003で割り振りました。

そして、
/usr/local/md1/mediatomb -d -c /usr/local/md1/config.xml
/usr/local/md2/mediatomb -d -c /usr/local/md2/config.xml
/usr/local/md3/mediatomb -d -c /usr/local/md3/config.xml
/usr/local/md4/mediatomb -d -c /usr/local/md4/config.xml

のようにしてmediatombを起動すれば、DLNAサーバーが4つ見えるはずです。

なお、iptablesなどで、ポートを閉じてる場合は、config.xmlのportで指定したポートの他に、以下を許可して下さい。
・LAN内に対して、port1900を許可
・224.0.0.0/4に対して、port1900を許可
後者はマルチキャストで使用するんだそうです。

こういったことは、ネットワーク対応HDD(NAS)として売られている製品では、対応できないところです。
このあたりは、Linuxならではの便利さでしょうか。