昨年、wifi対応のSonyCMT700Niオーディオステーションというギフトを受け取りました。また、「PartyStreaming」と呼ばれるAirplayのような機能も可能です。私は現在内部を掘り下げて調べているので、自分の「PartyStreaming」対応デバイスを終わらせて、AirPlayのような機能を無料で利用できるようになるかもしれません(チャレンジも非常に興味深いです)
PartyStreamingは、非常に理解しやすいSOAPベースのサービスです。サーバー側とクライアント側の2つのグループに分けられた4つの主要な機能があります。各グループの2つの機能は、反対側との接続の開始または終了を表します(サーバーの場合は開始/停止、クライアントの場合は参加/離脱)
サーバー(オーディオステーション)がネットワーク上に拡散しているオーディオデータにアクセスできるようになってから、実際には遠くまで行きました。せっけん方式でサーバーに参加した後、クライアントはポート3975でサーバーにUDPパケットを送信する必要があるようです。受信すると、サーバーは同じポートでクライアントに30秒間パケットを送信して応答します。
それらの約100を調べた後、私は典型的なパケットが1024バイトの長さであり、64バイトのヘッダー、64バイトの0の塗りつぶし、そして896バイトのサウンドデータがあることを理解しました。
これでデータができましたが、ランダムに書き込まれたバイトの束のように見えます。コーデック情報、構造、「チャンク形式」(waveファイルのような)はありません。プロトコルや「PartyStreaming」関連の技術に関する優れたドキュメントが見つかりません。
私の質問は次のとおりです。「StackOverflowさん、アドバイスはありますか?手がかりはありますか?あきらめるべきですか、それともテストできるアイデアがありますか?」
役に立つと思われるもの:
主題に関する注記:http://pastebin.com/pp8aRQrR
ヘッダーのないパケットのダンプ:http://cl.ly/430H2i001K3R
ヘッダーとそれらを読み取るためのいくつかのフォーマットを含むパケットのダンプ:http://cl.ly/2i2F2c3E3W3C
私が今テストしようとしていること:
UDPパケットをクライアントとしてキャプチャし、サーバーを起動してそのデータをオーディオステーションに送信し、データを読み取れるかどうかを確認します。サーバー側の暗号化があるかもしれません、もしそうなら、私は立ち往生しています
1kHzファイルを作成し、オーディオステーションで再生します。パケットをキャプチャしてそのバイトを監視し、多くのコーデックでエンコードされた同じファイルと比較してパターンを見つけます...