趣味のプログラム工房

UPnP ControlPoint(コントロールポイント) WEBインターフェース

LinuxマシンにてPT2で録画サーバ、MiniDLNAにてメディアサーバを立てたのですが、これを簡単にTVに出力する方法はないかということで、
WEBインタフェース作ってみました。
(というか、意外とこういうソフトってないんですね。。。)

Perlで「Net::UPnP」というライブラリが見つかったので、それを使って作成しました。
本当はPHPのほうがよかったのですが、使えるライブラリがなかったので断念。
gupnpというのが見つかりはしたのですが、インストールができなかった。


PerlのNet::UPnPを使えばそれなりに苦労せず目的は達成できましたが、
もうちょっと使いやすくなるとうれしい。
毎回毎回、「Net::UPnP::ControlPoint」の「search」でUPnPデバイスを取得しないといけないのは正直パフォーマンスが悪いです。
ページ遷移が発生するたびにこれでは、時間がかかりちょっとイラッとする。
ネットで検索した例だと↓のようなものばかりですが、

$upnp->search(st => 'upnp:rootdevice', mx => 3);

そのほか、オプションとして、hostでIPアドレスやIP:ポートが指定できるようです。
参考:http://nazuna.sakura.ne.jp/software/upnp/get_device.html


ちなみに、UPnPのサービス名やパラメータを調べるのに、
Linuxに入っていた「GUPnPユニバーサルコントロールポイント」が大変便利でした。

2015年02月24日