Intel Tools for UPnPを使ってみて

UPnPはDLNAの基盤になっているものなので、なんとなく便利そうだったのでインストールしてみました。

検索サイトで「Intel」「UPnP」をキーワードで検索すればたどり着くと思います。
Intelのサイトからは辿り着けませんでした。

バージョンはv1とv2があるようですが、.Net Framework1.1がないと先に進めないv1より.Net Frameworkが導入されていればインストールできるv2(アーカイブ名の後ろに_v2がついてる)ほうがお勧めです。あと、Open Source Projectサイトに別バージョンがあります。
※導入に関しては自己責任でお願いします。
ネットワーク内にUPnPデバイスがあれば、インストールするPCはどれでもOKです。

インストールが終わると以下のようにプログラムメニューに多くのツールが増えています。
upnp2011042701

この中でよく使っているのが上から順に、「AV Media Controller」、「Device Sniffer」、「Device Spy」です。
ServiioのForumでもプロファイルの自動割り当てのスレではDevice Spyの結果を重要視していたので使ってみました。

1.Device Sniffer
Snifferという名前がついている通りパケットキャプチャです。
ただし、キャプチャの対象はディスカバリ(M-SEARCH:検出、NOTIFY:告知)とそのHTTPレスポンスのパケットのみのようです。
ディスカバリのためのパケットを送信することができますので、ディスカバリのテストに使用できます。
upnp2011042705

2.Device Spy
起動するとディスカバリ⇒ディスクリプションまでを完了した順番にUPnPデバイスを表示してくれます。
upnp2011042702
この画面でデバイスディスクリプションとサービスディスクリプションの内容を参照できます。
画面はすべてUPnP AV対応デバイスでMediaServerあるいはMedia Rendererです。
各デバイスのサービスの種類やXMLドキュメントの内容が表示できます。
XMLドキュメントは、右の画面のURLの箇所(http://~)をクリックすればブラウザーが起動します。

3.AV Media Controller
これはコントロールポイントです。
UPnPデバイス(Media ServerとMedia Renderer)とコントロールポイントの3BOX構成です。
DLNA1.0のDMSとDMPによる2BOXとは異なりますので、DMPで再生できるかは不明です。
upnp2011042703
※HVL-AVR(Land Disk AV)やDiXiM Media Serverではデジタル録画番組のコンテンツ一覧も表示されますが、再生はできません。

起動するとディスカバリ⇒ディスクリプションが完了し各デバイスをコントロールできる状態です。
(ネットワーク上のUPnPデバイスが発見できていてデバイスおよびサービスディスクリプションの取得が完了している状態)
Connection Managerサービスによりコンテンツ情報を取得し、Content Directoryサービスで各Media Server上の公開フォルダにアクセスできるようになっています。
コンテンツの数が多いと一度には表示できませんので少々時間がかかります。
たとえば、DiXiM TVの場合は30コンテンツずつリクエストしていますので、200コンテンツ表示する場合は7回のリクエストが行われることになります。
右画面の各ファイルを右クリックし表示されるメニューの「Display Properties」を選択するとConnectionManagerサービスから実際に送られた内容が参照できます。
ProtocolInfoの値はここで参照できます。一覧にコンテンツが表示されない、Media Serverでトランスコードしたコンテンツ情報はどうなっているのかなど確認する場合にも使えると思います。
※右クリックするとその箇所をコピー可。
※TVersityやServiioの動作確認ならば使用するDMRと同じプロファイル設定が使われるようにすれば解析ができると思います。

コンテンツを再生するには、AVTransportサービスが必要なのでMedia Rendererがあれば可能です。
操作は、右画面にある再生したいコンテンツ上で右クリックし「Send to XXXXX」でMedia Rendererを指定すればRendererコントロール用の窓が開きます。
この中のボタンで操作します。
Media Rendererデバイスがなければ、UPnPツールにあるMedia Rendererを起動すれば代用できます。
※AV Media ControllerおよびMedia Rendererで再生、停止、などの操作をするにはそれぞれのツールを管理者権限で実行すればできました。
※IntelのサイトからダウンロードしたツールでダメならOpen Source Projectのサイトにあるツールなら可能かもしれません。
※Media Rendererは、File⇒Start AV Rendererで開始しないと機能しません。「再生を拒否されました」といったエラーが出る場合は大抵それが原因です。

4.再生テスト
3BOXが構成できていますので再生のテストをしてみます。
このときにパケットをキャプチャーすればAVTransportサービスなどで送られる内容、ストリーミング配信している様子が確認できます。
一覧にはコンテンツが表示されているけども再生ができない、再生がスムーズでない場合の解析に使えそうです。

以下、試した結果です。
※Media Server+Media Renderer+Controll Pointの順で表記しています
※DiXiM TVはDiXiM Digital TV for IO-DATAです。
※Media ServerにServiioを選んだ理由はとくにありません。
※テストの目的は、DiXiM TVのDMCおよびDMRそれぞれの他デバイスとの連携動作の確認です。
※対象のコンテンツは著作権保護(DRM)のないビデオです。
※UPnPツールはDiXiM TVとは別のPCに導入してあります。

(1)Serviio+DiXiM TV+Media Rendererツール(DiXiM TVのコントローラテスト)
※DiXiM TVの画面で再生したいコンテンツ上にカーソルを載せた状態で右クリックでオプションメニューが表示されますので、「出力先を変更して再生」を選択しています。
※リモコンやキーボード操作でオプションメニューを表示するには「i」ボタンのようです。閉じるには「i」または「戻る」または「ESC」です。

Rendererツールの画面
upnp2011042707

DiXiM TVの画面
upnp2011042706

うまく再生できました!

(2)Serviio+AV Media Controllerツール+DiXiM TV(DiXiM TVのRendererテスト)
※DiXiM TVの設定メニューの「レンダラー設定」を選択し、「レンダラーの再生受付状態」を有効にしてあります。
※設定変更後は念のためDiXiM TVを再起動したほうがよいとおもいます。


「Send to ~」をクリックしたのと同時に上のエラー画面が表示されます。
イベンティングのSUBSCRIBメッセージ途中でエラーが表示されていましたが関係あるのかなぁ~。

この先、DLNA対応携帯端末を購入してリモコン代わりに使用するときには注意しないといけないかもしれません。
ただ、使用したUPnPツールがDLNAデバイスとどの程度の互換性があるのか・・・
もちろんUPnP DAの部分は大丈夫として、UPnP AVに関する部分についてです。
AVTransportサービスとなると詳細な部分で異なっているかも?という可能性もあるので詳細は調査しないとなんともいえない状況です。

(3)DiXiM Server+AV Media Controllerツール+Media Rendererツール(Media Serverしかデバイスがない場合)
※右側がController画面、左がRenderer画面です。
upnp2011042708

これもうまくいきました!


これらUPnPツールのおかげで再生できるようにするには何をしないといけないのかが具体的にわかるようになりました。
別途パケットキャプチャーソフトを導入してもいいでしょうし、UPnPツールにもそれぞれ解析用のキャプチャ機能がありますのでそれでも十分かもしれません。
デバイスの代用としてUPnPツールを使ってテスト環境が構築できますのでいろいろ試せて楽しいかと思います。