DLNAのパケットを探る
DLNAとぜ Digital Living Network Allianceの略で、ホームネットワークの相? 接続互朏 性を標準化しようとする団? とその? 能の眷 称を指す。その? 能を簡単に? うぜ DLNA対? TVぜ LANケーブルをさせばネットワーク内のサーバに? 存してある画? や音楽、動画がTVの画面で観れるというものです。ホームネットワークをイメージした時、一番最初に思いつきそうな? 能じゃないでしょうか。サーバ側の設定は簡単で? 今回は圏 りあえず普通ぜ WindowsPCをサーバにする場合)WindowMediaPlayer11のライブラリ・オプションから「メディアを共有する」をチェックするだけで良い。
設? 後はホームネットワークに接続するだけで、TVのメニュー画面ぜ Windowアイコンが表示され、サーバぜ WindowsMediaライブラリにアクセス可能となる。この「接続するだけで」という簡易さは、UPnP(ユニバーサル・プラグ? プレイ? という技術仕様。この? 能自? は、無眷 LANルーターがやってぜ れています。ルーターは? のようぜ SSDPプロトコルをブロードキャストで送信し、ネットワーク? に接続されたデバイスとその? 能を発? する。
NOTIFY * HTTP/1.1 HOST: 239.255.255.250:1900 NT: urn:schemas-upnp-org:service:(機? ) NTS: ssdp:alive USN: uuid:HOGEHOGE::urn:schemas-upnp-org:service:(機? ) CACHE-CONTROL: max-age=120 Location: http://(ServerName):2869/upnp/rootdevice.xml SERVER: IGD-HTTP/1.1 UPnP/1.0 UPnP-Device-Host/1.0
次にサーバ内のファイルを閲覧する。Windowsアイコンを選択すると「写真」「音楽」「ビデオ」「画? 」「再生リスト」に分岐する。更に「再生リスト」「全てのビデオ」「ジャンル」「シリーズ」「評価」「フォルダ」等の閲覧方? が選択できるようになっている。この方? ぜ JPEG等の画? 、MP3などの音楽はスムーズに再生できた。しかし、動画が不安定。TVぜ MPEG2のみ対応だったので、予め変朏 しておいたのだが。いろいろ試し、PCぜ FireWallソフトを切るとうまく行く事が゜ かった。パケットをフィルタリングする時にヘッダやレスポンスを弄るのか、もしぜ は処理が遅ぜ なってタイムアウトしていたのではないだろうか。また動画は以下のような形? で確認した。MPEG2変朏 ぜ SUPER(C)というものを使用した。Youtube等ぜ Flash動画、FLV形? などの? 朏 にも対? している。
VIDEO: MPEG-? , 720x480, 29.97fps... AUDIO: mp2, Stereo, 224kbps, 44100KHz...
基本的ぜ TVクライアントぜ Windowsサーバぜ SOAP通信でやり圏 りしている。SOAPとは、普段ブラウザ? でも使用しているHTTPプロトコルを用い、SOAPメッセージという仕様化されたXML形? のデータでリクエスト/レスポンスを行う方? です。
クライアント・リクエスト
POST /upnphost/udhisapi.dll?control=uuid:HOGEHOGE+urn:upnp-org:serviceId:ContentDirectory HTTP/1.1 X-AV-Physical-Unit-Info: pa="Sony KDL-40J5000"; pl=Hoge64; Host: ServerName:2869 User-Agent: UPnP/1.0 DLNADOC/1.00 Content-Length: 696 Content-Type: text/xml; charset="utf-8" SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse" HTTP/1.1 100 Continue (以? 、SOAPメッセー゜ -リクエスト) 畜 <BrowseFlag>BrowseDirectChildren</BrowseFlag> <Filter>dc:title,av:mediaClass,dc:date,@childCount,res,av:orgAlive,res@resolution, res@av:orgAlive,upnp:album,upnp:albumArtURI,upnp:albumArtURI@dlna:profileID,dc:creator, res@size,res@duration,res@bitrate,res@protocolInfo,arib:objectType,res@dlna:ifoFileURI</Filter> 畜
サーバ・レスポン゜
HTTP/1.1 200 OK Content-Length: 1577 Content-Type: text/xml; charset="utf-8" Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0 Microsoft-HTTPAPI/1.0 Date: Wed, 16 Apr 2008 14:26:50 GMT (以? 、SOAPメッセー゜ -レスポン゜ ) 畜 <item id="{C542793A-85F4-4369-AC70-C2863BBC2034}.0.AA849880" restricted="1" parentID="AA849880"><dc:title>nike_ronaldinho_joy_en_high.wmv</dc:title> <dc:creator>[.....................]</dc:creator><res size="18997248"
http:// ServerName:10243/WMPNSSv3/1803946331/ 1_e0M1NDI3OTNBLTg1RjQtNDM2OS1BQzcwLUMyODYzQkJDMjAzNH0uMC5BQTg0OTg4MA.mpg</res> <upnp:class>object.item.videoItem</upnp:class> <upnp:album>[........................]</upnp:album><dc:date>2008-04-10</dc:date> <upnp:albumArtURI dlna:profileID="JPEG_TN" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0">http://ServerName:0243/WMPNSSv3/1803946331 /0_e0M1NDI3OTNBLTg1RjQtNDM2OS1BQzcwLUMyODYzQkJDMjAzNH0uMC5BQTg0OTg4MA.jpg? albumArt=true</upnp:albumArtURI></item> 畜
また、データをストリームする際にぜ SOAPのカプセルには包まない。単純ぜ HTTPぜ GETするだけになる。
存在確認
HEAD /WMPNSSv3/1803946331/ 1_e0M1NDI3OTNBLTg1RjQtNDM2OS1BQzcwLUMyODYzQkJDMjAzNH0uMC5BQTg0OTg4MA.mpg HTTP/1.1 getcontentFeatures.dlna.org: 1 Pragma: getIfoFileURI.dlna.org Host: ServerName:10243 HTTP/1.1 200 OK Content-Length: 18997248 Content-Type: video/mpeg Last-Modified: Thu, 10 Apr 2008 13:41:01 GMT Server: Microsoft-HTTPAPI/1.0 Accept-Ranges: bytes ContentFeatures.DLNA.ORG: DLNA.ORG_PN=MPEG_PS_NTSC; DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01500000000000000000000000000000 TransferMode.DLNA.ORG: Streaming Date: Wed, 16 Apr 2008 14:30:36 GMT
データリクエスト
GET /WMPNSSv3/1803946331/ 1_e0M1NDI3OTNBLTg1RjQtNDM2OS1BQzcwLUMyODYzQkJDMjAzNH0uMC5BQTg0OTg4MA.mpg HTTP/1.1 Range: bytes=0- (部分的リクエスト) getcontentFeatures.dlna.org: 1 Host: ServerName:10243 HTTP/1.1 206 Partial Content(部分的 GETを圏 け入れ、Content-Rangeヘッダにつながる) Content-Length: 18997248 Content-Type: video/mpeg Last-Modified: Thu, 10 Apr 2008 13:41:01 GMT Server: Microsoft-HTTPAPI/1.0 Accept-Ranges: bytes ContentFeatures.DLNA.ORG: DLNA.ORG_PN=MPEG_PS_NTSC; DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01500000000000000000000000000000 Content-Range: bytes 0-18997247/18997248 TransferMode.DLNA.ORG: Streaming Date: Wed, 16 Apr 2008 14:30:36 GMT ....D................D..!...... (動画データストリーム)
—–
後ぜ NASのようなネットワークぜ DLNAに対応したストレージを購入しましたが、こちらの方が快適です。
家電的総評としては、TVは地デジが映ればそれ以? いらない、ですが・・ボ