初老のボケ防止日記

おっさんのひとりごとだから気にしないようにな。

DLNAってなんじゃらほい?

ここ数年、DLNAが随分とメジャーになった気がします。私は自宅にNASを導入した3年位前から使っているのですが、一時期はAirPlayが随分と幅を利かせており、AVメーカーもAirPlay対応ばかり宣伝して巷では"DLNA? ああ魚に入ってるやつね。"とか"DLNA.. モバゲーな!"みたいな扱いでお前らNASで殴って教育してやろうかという感じでした。ところが、レコーダーに録画した動画をDLNA経由で見れるようになった頃から随分とDLNA陣営が息を吹き返したように思えます。ということで、DLNAについてちょっと理解を深めてみようかと思います。

DLNA(Digital Living Network Alliance)

まずは公式サイトより。

DLNA for Consumers — DLNA*1

ハイ、まったくわからん。そもそもタイトルが「でできること」ってなんじゃい。じゃあ、WikiPedia様で。

Digital Living Network Alliance - Wikipedia

具体的にはDLNAガイドラインとして、各社の製品が共通に対応すべきMedia Format(コーデック)や、機器間が通信する際の手順(UPnPをベースとする)、ユーザインタフェースなどを定めている。

ようはガイドライン。IEEE802.11のWi-Fi Allianceみたいなもんでこのマークついてればメーカー違っても繋がりますよ-(多分)ってことね。だけどDLNAマークが付いている機器でも、機能によってDMSやらDMPやらRun-DMCやらDA PUMPとかなんじゃいお前らDの一族か? って感じでおじさんよくわからないよーという人はココらへんを読もう。

DMC? DMRって?、DLNAネットワークオーディオ“再入門” - AV Watch
FUJITSU Software Inspirium HomeNetworkライブラリ for AV : DLNA説明
DLNAで出来ること - alpha Media Link

なんとなくわかったということで、次。

DLNAの利用形態

我が家というか、恐らくどこのご家庭でもこの2パターンで集約されるのではないでしょうかね。

  • 基本(2-Box Pull System Usage)
DMS(Digital Media Server) デジタルコンテンツ格納している機器、NASとかレコーダー
DMP(Digital Media Player) DMSのコンテンツを再生する機器、ネットワークオーディオとか、スマホとか

NW上のNASやレコーダーに格納された音楽や動画といったデジタルコンテンツを、NW経由でスマホ(にインストールしたDMPアプリ)で再生するとかそういうパターン。風呂で防水タブレットで楽しむとかお気軽パターン。コレで家族に内緒でお風呂で秘蔵のビデオを楽しめますよね(してねえよ)。

  • 応用(3-Box System Usage)
DMS(Digital Media Server) デジタルコンテンツ格納している機器、NASとか*2
DMC(Digital Media Controller) DMSを取得してDMRに再生を指示する機器、スマホとか*3
DMR(Digital Media Renderer) DMCの指示を受け、DMSからコンテンツを取得して再生する機器、ネットワークスピーカーとか*4

NW上のNASに格納された音楽や動画といったデジタルコンテンツを、NW経由でスマホ(にインストールしたDMCアプリ)で選択して(同じNW上の)ネットワークスピーカーで再生するとかそういうパターン。少しでも良い音質で音楽を聴きたいときのパターン。最近DMRとして動作するオーディオ機器も増えたので、スマホで気軽に音楽が楽しめるのはいいけどやっぱり音がイマイチだなーという音に拘る人はこちらです。

ここまでくると、DMP=(DMC+DMR)と考えたらわかりやすいのかなと思いました、実際は異なるのかもしれませんが。勿論、DMPとして利用するアプリがDMS機能を持っている場合もある。ようは機器がDLNAでいうところのどの機能を持っているかというだけの話と思えばわかりやすかろう。

ということで、ここまでは利用シーンの話。でもなんで電源入れたら勝手に他のDLNA機器を検出して互いに連携できるのよって不思議じゃない?

DLNAの仕組み

とりあえずココらへんがわかりやすい。

Networkキーワード - DLNA(Digital Living Network Alliance):ITpro

DLNAガイドラインで中核になっているのは,UPnP(Universal Plug and Play)の仕様である。DMSやDMPにアドレスを割り当てたり,自動認識する部分にはUPnP Device Architectureで規定されたプロトコルを使う。持っているファイルの一覧情報を提供し,データを送り出すDMSにはUPnP Media Serverの仕様を使う

つまりUPnPでやってますよと。

UPnP(Universal Plug and Play)

UPnPという単語自体はルータの設定とかでよくあるので目にしたことあるんだけど、仕事で絡まないから実際何してるのかはよくみてなかった。

Universal Plug and Play - Wikipedia

Universal Plug and Play (UPnP)は、機器を接続しただけでコンピュータネットワークに参加することを可能にするプロトコルである。
機器をコンピューターに接続するだけで利用可能になるプラグ・アンド・プレイの概念をネットワークに拡張したものといえるが、直接的な関連はない

FUJITSU Software Inspirium HomeNetworkライブラリ for AV : UPnPDA説明

UPnPでは、機器を発見し、指示を出す機器をControl pointと呼び、Control pointに発見され、Control pointからの指示を処理する機器をDeviceと呼びます。DLNAでは、DMCがControl point に相当し、DMS、DMP、DMRなどがDeviceに相当します。

LifeStyle:UPnPとは? その仕組みの原点に立ち返る

ネットワーク上に接続されたデバイスの発見と機能の把握は、SSDP(Simple Service Discover Protocol)を用いる。SSDPは、UPnPを構成するための基幹部分で、IETFから標準仕様がすでに発行されている。

つまり、UPnPはSSDPというプロトコルでデバイス検出をしているということですな。ふむふむ。

SSDP(Simple Service Discover Protocol)

Simple Service Discovery Protocol - Wikipedia, the free encyclopedia

SSDP is a text-based protocol based on HTTPU. It uses the User Datagram Protocol (UDP) as the underlying transport protocol. Services are announced by the hosting system with multicast addressing to a specifically designated IP multicast address at UDP port number 1900. In IPv4, the multicast address is 239.255.255.250[3] and SSDP over IPv6 uses the address set ff0X::c for all scope ranges indicated by X.

UDPマルチキャストでHTTPU(HTTP over UDP)で喋ってるということはわかった。これだったら結構簡単に喋れそうじゃね? ということで次回は実際にSSDPを喋ってみようではないか。

*1:タイトルは"DLNAでできること"のつもりだと思われます

*2:具体的にはNAS上で動作するTwonky Serverとか

*3:具体的にはAndroid上で動作するBubbleUPnPとか

*4:具体的にはSONYのSRS-X7とか