Ruby で UPnP を実装してある程度の成功を収めた人を探しています。このテーマに関して、首尾一貫した完全なものはほとんどないように思われます。
私はSeattlerbのUPnP gemを使用しています。これはおそらく最高のものだと思いますが、ドキュメントが多少限られているという点で不完全であり (私が見つけた他のものよりもはるかに優れています)、プロトコルの側面が実装されていないと思います. だから、私はこれを出発点として使用しました。
ネットワーク上の UPnP サーバーを検出し、そこに保存されているメディアに関する情報を提示し、そのメディアをローカル ハード ドライブにダウンロードする方法を提供する「 UPnP MediaServer ControlPoint 」を作成しようとしています。実際にそのようなメディアを再生する必要はありません。このアプリケーションの場合: DLNA メディア サーバーである PVR から録画を取得するための単なるツールです。
ruby 1.9.3 で動作する UPnP gem があります。機能させるためにコードを変更する必要がありましたが、単純なデバイスとサービスの検出を超えていないため、コードの変更が不完全である可能性があります。
私が今やろうとしているのは、発見されたデバイスとやり取りして、利用可能なコンテンツのリストを取得し、そのコンテンツにアクセスすることです。しかし、数日間インターネットで検索し、UPnP デバイス アーキテクチャのドキュメントを読み、インターネットで見つかったコードのビット (UPnP gem を含む) をリバース エンジニアリングした後、次にどこに行けばよいかわかりません。
他の人がこの道をたどり、適切な方向に向けてくれることを願ってここに投稿しています...
そして、それが他の誰かを助ける場合に備えて、私の評価作業はgithubにあります。