0

確立済み:現在、RTP経由でgstreamerを使用して、ソース(サーバー)からシンク(クライアントA)にデータパケット(.mp3ファイル)をストリーミングしています。これは非常に簡単で、ネットワークを介してサーバーからデバイスに音楽をストリーミングすることができます。

要件:ここで、クライアントAから他のクライアントBにリアルタイムで(または少なくともリアルタイムに近い)データパケットを再送信したいと思います。したがって、コントロールは引き続きクライアントAに残り、音楽のみが実際にクライアントBでストリーミングされます。

そのようなことをするための最も最適な方法は何ですか。

4

2 に答える 2

1

すぐにこれを試してみたいと仮定します。理想的な方法は、クライアントBのデータを転送できるクライアントAにrtspサーバーをセットアップすることです。あなたがそれをしたいのなら、ここであなたのやり方はそれをする一つの方法です:

クライアントBにsdpファイルを指定してrtpストリームを再生できるプレーヤーがある場合は、次のように実行できます。クライアントAで取得したsdpのコピーを作成します。パスを介してクライアントBに渡します。[両方が通信することに同意するtcpソケットを言う]

クライアントAで取得したもののコピーをクライアントBにもストリーミングします。

sdpのポート番号をクライアントBで使用できるように変更する必要があります[これはRTSPネゴシエーションが行うことです]。クライアントBがSDPを取得する前にクライアントAにポート番号を通知できる場合は、sdpでポート番号を正しく設定し、クライアントBに渡してから、ストリームのコピーをクライアントBに送信できます。終わり。

于 2012-11-12T07:18:15.393 に答える
0

また、TCPを介したRTPを使用します。したがって、RTPレベルでの変更は必要ないため、簡単です。UDPソケットを介して直接送信するのではなく、パケットをRTSPに渡す必要があります。すべてがRTSPによって処理されます。RTPをスタンドアロンとして使用していて、rfc 3550に準拠している場合、それはRTPの一部ではありません。それでもそうする必要はありません。RTP実装の標準的な方法に従っていません。

于 2012-11-12T16:17:25.370 に答える