2013年4月17日

ubuntuでDLNAサーバーを立ててみた【1】


タイトルのまんまですw
突然、DLNAサーバーを立てようと思ったキッカケなんですが、本来 DLNAサーバー機能の付いたレコーダーやNASが1台あれば、わざわざ自前でサーバーを立てる必要は全くありませんよね? しかし我が家のNASは、ある日突然 DLNAサーバー機能だけが突然停止し、ただのファイルサーバーと化してしまったのです。(メーカー保証切れた途端に…これが俗に云うソ○ータイマー…もとい牛タイマーか?)

一応、DLNAに頼らずとも、SMBを使用して半壊したNASからファイルを見ることは可能ですが、動画のような容量の大きなファイルとなると、お世辞にも効率的とは言えませんし、機能も限定的で汎用性もありません。それに何より、いつSMBで読めなくなるかもしれないこのNASに、大切なファイルは預けられません。

つーワケで、やっぱり我が家には新たな DLNAサーバーが必要。新しいNASを買っちゃえば万事解決♪…なんですが、すぐにお金で解決するのは(・A・)イクナイ!!
手元に 2TBのHDDも余っていることだし、ここはひとつ

「たまには Linux使いらしく、
 ubuntuを使って DLNAサーバー立てちゃうぜぇ!
  ワイルドだろぉ ( ー`дー´)キリッ

こんなノリで行こうと思いますw
ubuntu での DLNAサーバー自体の立ち上げは初めてですが、何とかなるでしょう。


はじめに『DLNAって、なーに?』という方のために軽くお勉強を。
DLNAとは、Digital Living Network Association。家庭内のテレビやレコーダーといったデジタルAV機器のネットワーク連携をスムーズにしちゃおう!って提唱した業界団体の総称のひとつで規格名でもあります。数ある同様の規格の中でも 特に日本国内においてはこのDLNA対応機器が多く、今時のちょっと気の利いたAV機器なら大抵は DLNAに対応しています。DLNAサーバーとは、その名の通り DLNA対応機器で視聴するメディアデータを管理するサーバーのことです。

【準備するもの】

  • ubuntu がインストールされたPC(12.04LTSがオススメ)
  • 大容量ハードディスク(USB接続よりもSATA接続が吉)
  • 共有したいファイル(動画・音楽・写真など)
今回は我が家のホームサーバー、ubuntu 12.04LTS に SATA HDD 2TBを使用した例で説明していきたいと思います。ここでは DLNAサーバーを立てることをメインに話を進めますので、予め共有したいファイルは大容量ハードディスクにコピーしておいて下さいね。フォーマットは汎用性を一番に考えると NTFSだけど、我が家のように ubuntuしか使わない方は ext4でも可。RAIDとかそういうのは今回はスルーの方向でw

1.MediaTombをインストールする

今回、DLNAサーバーに選んだソフトは MediaTomb。
Linuxユーザーの中でも利用者が多く、トラブルの際はネットで検索すれば簡単に解決法が見つかるので安心して使えそうです。インストール方法は いつも通り ubuntuから端末を起動して以下のコマンドを入力します。

まずはリポジトリを最新の状態に更新します。
$ sudo apt-get update
続いて MediaTomb本体をインストールします。
$ sudo apt-get install mediatomb
たったのこれだけw
CUI万歳w
ソフトウェアのインストールが簡単♪

2.各種設定

インストールが無事終わったら、いよいよ設定です。
ubuntu標準テキストエディタである gedit(Windowsで言うメモ帳ね)を使って MediaTombの設定ファイル(/etc/mediatomb/config.xml)を編集していきましょう。
$ sudo gedit /etc/mediatomb/config.xml

一見、英字だらけでなにやら難しそうな印象ですが、実はそう難しいことはしていないので、初めての方でもきっと大丈夫です。
それでは各種設定を上から順に見てみましょう。それぞれ以下の設定になっているかを確認し、なっていなければ 追加/修正してください。

・管理画面を使えるようにします。
<ui enabled="yes" show-tooltips="yes">

"yes" にするとブラウザから管理画面を開けるようになります。便利なので有効にしておきましょう。

・管理画面ログインユーザー名とパスワードの設定
<accounts enabled="yes" session-timeout="30">
<account user="mediatomb" password="mediatomb"/>

デフォルトでは ユーザー名、パスワード共に "mediatomb"。別にこれはそのままでもいいかも? お好みでどうぞ。

・PS3にも対応させる
<protocolInfo extend="yes"/>

お手軽なDLNAクライアントといえば PS3。その PS3を持っている方ならこちらを ”yes” に変更しておけば、PS3でも再生できるようになります。

・日本語ファイル名を対応させる
デフォルトのままだと日本語が文字化けしてしまうので、以下の2行を <import hidden-files="no"> の後に追加して対応します。
<filesystem-charset>UTF-8</filesystem-charset>
<metadata-charset>CP932</metadata-charset>


・mimetypeの追加
デフォルトでは MPEG2 や DivX といった拡張子に対応していないため新たに追加します。その他の拡張子も必要に応じて <extension-mimetype ignore-unknown="no"> へ追加しましょう。下記はその一例です。
<map from="avi" to="video/divx"/>
<map from="m4v" to="video/mp4"/>
<map from="mp4" to="video/mp4"/>
<map from="mpg" to="video/mpeg"/>
<map from="mpeg" to="video/mpeg"/>
<map from="m2p" to="video/mpeg"/>
<map from="jpg" to="image/jpeg"/>
<map from="jpeg" to="image/jpeg"/>
<map from="png" to="image/png"/>
<map from="gif" to="image/gif"/>

ubuntu(というか Linux全般)は 大文字と小文字をそれぞれ別の文字として認識していますので、拡張子はすべて小文字で統一した方が良さげです。

・トランスコーディングを有効にする
DLNAクライアントに合わせてトランスコーディングを行うかの設定です。ここでは "yes" にしておきます。
<transcoding enabled="yes">

3.MediaTombの起動

設定が無事終了したら /etc/mediatomb/config.xml を保存して、MediaTombを再起動します。
$ sudo /etc/init.d/mediatomb restart
MediaTombが起動しました。

起動したらちゃんと DLNAサーバーとして動作しているか確認するため、手持ちの DLNAクライアントを起動してみます。同じネットワーク内であれば自動的に認識されるハズですよ。

今回は DLNAクライアント Android アプリ 『UPnPlay』 で確認してみます。



無事MediaTombがDLNAクライアントで認識されました。
 ☆-(ノ゚Д゚)八(゚Д゚ )ノイエーイ☆


長くなったので今日はここまで。

0 件のコメント:

コメントを投稿