2012年11月26日

自宅のメディアサーバー環境の構想


結構前から、動画&音楽再生環境で、それなりのコダワリを持って構築しようとしているわけですが、今回それとなくキリがいいので我が家のメディア環境について紹介しようかなぁ。なんて思います。

今回もどうでもよい解説で長くなってしまった感があるので、概要を産業で説明すると、以下のとおりになります。



家庭内メディア配信環境にはDLNAを使うのが最強である。

サーバにはDMSとしてMediatombを、DMRとしてGMediaRenderをいれたい

なんでLinuxはDLNA環境弱いんだよ! レンダラ動かねぇよ!




論理構成図

とりあえずこんな感じの構成にしてみようかと想っています。


我が家ではサーバ用に以前使っていたノートPCを利用しています。(PenM、1.6GHzだったか)
で、ここにメディアサーバーとして、Mediatombを入れて運用しています。

現在はここにMP3を突っ込んでいて、LAN上で音楽を配信できる環境を構築しています。

Mediatombについて

Mediatombとは、Linux上で動作するDLNAサーバのことです。

一応DLNAについて説明しますと、Wikipediaでは以下のようになっています。

Digital Living Network Alliance(略称:DLNA(ディーエルエヌエイ))は、家電、モバイル、およびパーソナルコンピュータ産業における異メーカー間の機器の相互接続を容易にするために2003年6月に結成された業界団体である。結成当初はDigital Home Working Group(略称:DHWG)と名乗っていたが、2004年6月に現在の名称に変更された。

特に家庭内で構築するマルチメディアネットワークを指したりします。
iTunesで音楽の共有をするのと似たようなものです。

MediatombはLinuxで動作するDLNAサーバの一つで、導入が簡単で最も普及しているものです。

プロトコルにUPnPというものを利用しており、DLNAのサービスを利用するアプリケーションの中にはUPnPというワードが使われているものも多くあります。

DLNA導入のメリット

DLNAを導入する利点は、サーバ上にあるメディアコンテンツをクライアントで再生することができるところです。



上記図で説明すると、サーバ上にある音楽や動画をタブレット、スマホ、PCで再生することができます。
端末にメディアデータを保存する必要がないため、ストレージの節約とデータコピーの手間が軽減することができます。

DLNAにおいて、上記のサーバーのことをDMS(Digital Media Server)といい、クライアントのことをDMP(Digital Media Player)といいます。


また、もうひとつの利点として、サーバ〜クライアント間の制御を別端末から操作することが出来る点にあります。



上記構成図で言うと、スマホやタブレットをコントローラとして、サーバ上のコンテンツをPCで再生するなどの利用方法もできます。

上記のスマホやタブレットのように、サーバを操作してクライアントにコンテンツを制御させる機能をDMC(Digital Media Controller)といい、そのDMCから命令を受けてDLNAサーバからのデータを処理する機能をDMR(Digital Media Renderer)と言います。

ネット上の資料では、レンダラーとプレイヤーの区別が曖昧なものが多く、この解説も正確なものかどうかは断言できないのですが、感覚的にはこういうものなのかなぁ。と思って捉えていただければと思っています。

LinuxにおけるDLNA環境


LinuxにおいてはMediatombを始めとして、サーバに関しては機能が充実しています。というか、MediatombさえあればDLNAサーバの構成はどうにかなります。
が、それ以外のプレイヤ、コントローラ、レンダラはちゃんとした機能が少なく、いざサーバ上にあるコンテンツを視聴したくなった場合、DLNA経由での再生などはできないようになっています。

自分の調べた限り、以下のソフトウェアで各機能が提供されているようです。

サーバ:Mediatomb、ushare
プレイヤ:VLC、Totem、XBMC、MoovidaMediaCenter
コントローラ:GUPnP
レンダラ:XBMC、GMediaRender

細かい紹介はこちらのページ(英語)で取り上げられています。

その他のデバイスにおけるDLNA環境

そもそもDLNA自体、あまり浸透していないようなので、様々なデバイスのDLNA環境などについて話をしておきたいと思います。

とはいえ、Linux以外の環境では案外環境が整っています。

例えばPS3はDLNAクライアントとして利用できますし、WindowsではWindowsMediaPlayerでDLNAが利用できるみたいです。

AndroidにもいくつかのDLNA環境はありますが、おすすめはBubbleUPnPですね。

iOSはMediaConnectというソフトウェアが使いやすかったです。

後、AmazonにはDLNA対応スピーカなどもあるのを確認しましたが、やはり全体数は少ないのが現状ですね。

サーバとして運用するのならやはりLinuxになりますので、Linuxを利用したいのですが

あらためて、我が家で構築したいネットワーク環境

で、個人的には、常時起動しているサーバ用ノートPCにレンダラを導入してサーバ用PC内のストレージをスマホから再生したり、サーバ自身から再生したりといった運用法を考えているわけです。
レンダーをサービス(または単にバックグランドで)常時稼動させておくために、コンソール上で動作するGMediaRenderを導入したいのですが、残念ながらこのソフトウェアは現在更新が止まっており、依存している最新のライブラリ等に対応していないなどの問題があります。なので、レンダラに関しては今のところ解決策がない、というのが現状です。
そのうちどうにかしたいですね。ちょっと手を加えるなどして。


で、続いてサーバ環境ですが、
MediatombはDLNAのサービスを提供するので、動画や静止画も配信することが出来るのですが、ノートPCの限られたディスク容量を考慮して、現在は音楽のみの配信としています(とはいえ、内蔵HDDは増設して750GBになっていますが。。。)

動画はデスクトップPCの方にもMediatombを導入してあるので、PC起動時のみ動画を視聴できるようになっています。
これも不便なのでそのうち動画配信もノートPCの方に移行しようとは思っていますがね。


改めて、長くなってしまったので産業で

家庭内メディア配信環境にはDLNAを使うのが最強である。

サーバにはDMSとしてMediatombを、DMRとしてGMediaRenderをいれたい

なんでLinuxはDLNA環境弱いんだよ! レンダラ動かねぇよ!


という感じです。

レンダラがうまく動かないので、ほかになにか言い動作環境がないかとMPDなどの妥協案も考えましたが、やはりDLNAのほうが理想に近いな。という話はまた別の機会に、話せることがあればしようと思います。

DLNA自体、数年前からCEATECの方でも出展をしたりしているので、期待をしたいところですね。