1

私は現在、C# (サーバー/クライアント) で RTSP 標準を実装していますが、RFC 2326 を何千回も読み直した後でも、不明な点が 1 つあります。

RTSP は単なる [CS<->S] 制御プロトコルのようです。しかし、ネットワーク内の複数のクライアント/サーバー デバイスの管理を構築しようとしている場合はどうすればよいでしょうか? 例:

RTSP クライアントである管理アプリケーションがあります。別のクライアントに、別のサーバーに接続する必要があることを伝えたいと思います。何かのようなもの:

SETUP rtsp://192.168.1.12 RTSP/1.0
      CSeq: 302
      Transport: RTP/AVP;rtsp-redirect:192.168.1.155

RFC は、トランスポート プロパティに関して非常に厳格です。「REDIRECT」も検討しましたが、これは負荷分散などの用途での S->C のみです。リダイレクトのためにクライアント <-> クライアント通信を実現する方法はありますか (たとえば、別のサーバーにコマンドをドロップする必要があることをクライアントに伝える場合)。

4

1 に答える 1

2

あなたがしたいのは、とにかく集約です...パブリックを会社のファイアウォールの背後にあるカメラにリダイレクトしたくないでしょう...最初にメディアサーバーでカメラをセットアップし、次に、メディア サーバー上のストリームを保護するパスワードによるメディア サーバー。

VLC @ https://net7mma.codeplex.com/と互換性があり、上記のすべてをサポートする c# での実装を確認してください。

ここに CodeProject の記事があります - > http://www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtp

そして実際にある..

@ http://www.ietf.org/rfc/rfc2326.txt

10.10 リダイレクト

リダイレクト要求は、別のサーバーの場所に接続する必要があることをクライアントに通知します。これには、クライアントがその URL に対して要求を発行する必要があることを示す必須のヘッダー Location が含まれています。これには、リダイレクトがいつ有効になるかを示すパラメーター Range が含まれる場合があります。クライアントがこの URI のメディアの送受信を継続したい場合、クライアントは現在のセッションに対して TEARDOWN 要求を発行し、指定されたホストで新しいセッションに対して SETUP を発行する必要があります。

この例のリクエストは、指定された再生時間に、この URI のトラフィックを新しいサーバーにリダイレクトします。

 S->C: REDIRECT rtsp://example.com/fizzle/foo RTSP/1.0
       CSeq: 732
       Location: rtsp://bigserver.com:8001
       Range: clock=19960213T143205Z-

他に何か必要な場合はお知らせください。

于 2012-12-12T04:02:32.100 に答える