Mac の無料 DLNA サーバ『MediaTomb』のインストールと使い方

MediaTomb

Mac OS X で使える無料の DLNA サーバ『MediaTomb』のインストール方法と使い方についてです。

最終更新:2012年09月01日

MediaTomb のインストール

MediaTomb はアプリケーションパッケージ(バンドル)になっていないため、下準備が必要になります。

パッケージ管理システムのインストール

MediaTomb を使うには MacPortsHomebrewFink などのパッケージ管理システムが必要です。また、いずれの場合も Xcode を事前にインストールしておく必要があります。インストール方法は下記を参照して下さい。

以降、MacPorts と Homebrew を使ったインストール方法を紹介します。

MacPorts からインストールする

MacPorts のアップデート

ソフトをインストールするときはなるべく MacPorts を更新しておきます。これによって新しいバージョンが発見出来るかもしれません。

sudo port selfupdate

バリアントの確認

バリアントとは追加インストール設定のようなもので、通常はポートファイルによって推奨設定になっているため変更する必要はありませんが、場合によっては変更が必須になることもあります(競合の問題など)。

ではまず MediaTomb のバリアントを確認しましょう。ターミナルを起動して以下のコマンドを入力します。

port variants mediatomb

MediaTomb に関するバリアント情報が表示されます。

mediatomb has the variants:
[+]ffmpeg: Use ffmpeg for gathering metadata
     * conflicts with libextractor
   id3lib: Use id3lib for tag access
     * conflicts with taglib
   libextractor: Use libextractor for gathering metadata
     * conflicts with ffmpeg
   mysql4: Use MySQL 4 database
     * conflicts with mysql5
   mysql5: Use MySQL 5 database
     * conflicts with mysql4
[+]sqlite3: Use SQLite 3 database
[+]taglib: Use TagLib for tag access
     * conflicts with id3lib
(+)universal: Build for multiple architectures

このうち [+] のものはデフォルトで追加インストールされるものです。(+) は自分の設定によって追加インストールが指定されているものです。conflicts with 〜 は他のものと競合するため同時にインストール出来ないものです。

上のメッセージであれば ffmpegsqlite3taglib が同時にインストールされます。MediaTomb に関してはこのままで問題ないでしょう。ただ、sqlite3/usr/bin/sqlite3 があるはずなのでインストールしなくてもいいかもしれません。

MediaTomb のインストール

MacPorts からインストールを行います。

sudo port install mediatomb

sqlite3 をインストール対象から外す場合は以下のようにバリアントを指定します。

sudo port install mediabomb -sqlite3

すでに ffmpeg をインストールしている場合は途中でエラーが発生するかもしれません。その場合は一度キャッシュをクリアして ffmpeg をインストール対象から除外します。

sudo port clean mediatomb
sudo port install mediatomb -ffmpeg

Homebrew からインストールする

Homebrew でも MacPorts とコマンドはほとんど一緒です。

brew install mediatomb

なんでもインストールしてしまう MacPorts に比べて、Homebrew は既にローカルにあるものはインストールしないスタンスになっていますので sqlite3ffmpeg はインストールされません。もし、トランスコードを行う場合は ffmpeg を個別にインストールします。

brew install ffmpeg

MediaTomb の使い方

MediaTomb の起動はターミナルアプリケーションから行います。AppleScript や Automator を使うことで MediaTomb.app を作って Finder から起動することもできます。AppleScript のサンプルはこちら。

起動と終了

MediaTomb を起動するには以下のコマンドを実行します。

mediatomb

有線 LAN と無線 LAN のように複数のネットワークインターフェイスが存在する場合は MediaTomb に使用するポート情報を教えてあげる必要があります。IP アドレス また ポート名 で指定が可能です。

ポート名で指定する場合は -e オプションを使います("Ethernet"の"E"と覚えればいいです)。

mediatomb -e en0

ポート名が分からない場合は「システムプロファイラ > ネットワーク > BSD 装置名」で確認するか、ターミナルで ifconfig を実行して下さい。

システムプロファイラ

IP アドレスで指定する場合は -i オプションを使います。こちらも ifconfig やシステム環境設定などで調べられます。家庭内 LAN の場合、IP アドレスは大概、ルーターからの自動取得に設定されていて、そのうち変更になる可能性もあるのでポート名での指定をおすすめします。

mediatomb -i 192.168.1.3

MediaTomb を終了するにはターミナルを終了するか、Command+. または Control+C で処理を停止します。

その他、指定可能なオプションなどは mediatomb -h で確認出来ます。

問題:mediatomb コマンドで「mediatomb が見つからない」と出る

パッケージ管理システムを使っている場合はあまり無いと思いますが、上記のコマンドで MediaTomb が見つからないことがあるかもしれません(Automator でシェルスクリプトを作成した場合なども)。

-bash: mediatomb: command not found

bash プロファイルなどを確認して mediatomb にパスが通っているか確認します。

パスが通っていなければパスを通すか、フルパスで実行します。

  • MacPorts … /opt/local/bin/mediatomb
  • Homebrew … /usr/local/bin/mediatomb

問題:他のパッケージ管理システムから乗り換えたら起動しなくなった

例えば MacPorts から Homebrew に乗り換えたときなどです。MediaTomb は起動時に ~/.mediatomb/config.xml を読み込みます。これにはパスが書かれている部分があり、パケージ管理システムによってそのパスが異なるため、そのままだと MediaTomb が起動出来ないことがあります。その場合は config.xml 内のパスを書き換えるか、一度削除して MediaTomb に再作成させます。

~/.mediatomb は隠しディレクトリですので Finder からは Command+G で移動します。

MediaTomb へのメディアの追加

メディアの追加はブラウザまたはターミナルから行いますが、ブラウザを使った方が簡単です。

サーバーにアクセスするには以下のどれかの URL にアクセスします。ターミナルにも表示されているのでコピペしてもOK。

  • localhost:49152
  • 127.0.0.1:49152
  • インターフェイスの IP アドレス:49152

ログイン

config.xml の設定によってアクセス時にログイン画面が表示されることがあります。デフォルトはユーザー名、パスワード共に mediatomb です。一部のブラウザでは[Login]のボタンが効かないことがあります(Google Chrome で効かないことがありました)。

メディアの追加はファイルやディレクトリを「Filesystem」のページから検索し、「+」を押すことで追加出来ます。

メディア更新の自動化

ブラウザでログインした後に自動更新を有効にしたい場合は矢印付きの「+」をクリックします。

  • Scan Level:"Basic" はファイルの追加・削除で監視、"Full" は更にファイルの更新日時も監視する。
  • Recursive:サブディレクトリも検索
  • Include hidden files/derectories:隠しファイル/ディレクトリを追加
  • Scan Interval:更新時間(秒)

ファイルタイプの追加

ファイルタイプの追加は config.xml<extension-mimetype ignore-unknown="no">〜</extension-mimetype> 内に追記します。記述が無いものに関してはファイルの MIME タイプがapplication/octet-stream` になり、クライアントで認識出来なくなることがあります。

<extension-mimetype ignore-unknown="no"><map from="gif" to="image/gif"/>
<map from="jpg" to="image/jpeg"/>
<map from="jpeg" to="image/jpeg"/>
<map from="png" to="image/png"/>
<map from="m4v" to="video/mp4"/>
<map from="mp4" to="video/mp4"/></extension-mimetype>

サーバー名の変更

config.xml の9行目辺りにある <name>MediaTomb</name> の部分を書き換えます。

クライアントからのアクセス

iOS

無料の Media Link Player Lite がおすすめです。

Android

ストアで検索すればいくつかクライアントが見つかります。ファイルタイプによってコーデックが必要になるため「FLV Player」や「RockPlayerLite」などのプレイヤーをインストールしておく必要があります。

MacOS / Windows / Linux

VLC メディアプレーヤーが DLNA に対応しています。VLC メディアプレイヤーを起動したら「プレイリスト > ローカルネットワーク > ユニバーサルプラグ&プレイ」を開けば MediaTomb サーバーが見つかるはずです。

Windows の場合は Windows Media Plyer 11 も DLNA に対応しています。

mediatomb をリモート起動する

iPhone などで SSH を使ってログインすれば離れた場所から mediatomb を起動出来ます。

iPhoneからMacにSSHでリモートログインする

DLNA サーバーのメリットと注意点

メリット

容量や回線速度を気にする必要がない

DLNA は LAN を使ってクライアントへストリーミング配信します。いちいちデータをコピーする必要も無いのでデバイスの保存容量を気にする必要はありませんし、手間もかかりません。WAN を経由しないので通信速度や通信料も気にしなくて済みます。

複数のクライアントからアクセス出来る

複数のクライアントから同じファイルはもちろん違うファイルに同時にアクセス出来ます。プレゼンなど、資料配布用に使えるかもしれません。(最大接続可能数については不明ですが…)

CPU やメモリの消費を抑えられる

動画の再生をするのに QuickTime や iTunes を使うと CPU やメモリ使用量も増えます。DLNA なら母艦のリソースの消費を抑えられますし、クライアントをセカンドディスプレイ的に使うことが出来るので作業領域が狭くなることもありません。(トランスコード使用時はそれなりにリソースを消費します)

注意点

Samba などのファイル共有サーバーと違い、DLNA サーバーはオープンなサーバーです。会社や公共無線 LAN 環境で DLNA サーバーが立ち上がっていたらメディアファイルだけとは言え、クライアントからパスワード無しでアクセス出来る状態になるので注意しましょう。

MediaTomb の導入が難しいという方は TVMOBiLi もあります

Mac では MediaTomb 以外にも TVMOBiLi を使って DLNA サーバーにする方法があります。こちらは Xcode 環境を用意する必要もありませんし、ターミナルも使わなくてもいいので MediaTomb よりも簡単に導入出来ます。

ただし、TVMOBiLi は OS を再起動しても自動的にデーモンが立ち上がるのでセキュリティに注意が必要かもしれません。(設定ファイルで変更出来そうな気もしますが使っていた当時は見つけられませんでした)