2011-10-11 13 views
7

私は単純なRtspクライアントを持っています...クライアントはRtspサーバーにRtspコマンドを送信し、サーバーからRTPパケットを取得します。Keeping Alive Rtsp Connection

問題は、私のRTSPクライアントとその時間(約3-4分)の後、私のサードパーティRTSP Serverドロップ接続です。

私はRTCPを実装していない...私は、RTSPサーバからのRTPパケットを取るが、任意のRTCPパケットを送信しません...

私は、単純な検索を行うと、一部の人は似[一部のRTSPコマンドを使用することを見つけますOPTIONS、SET PARAMETER-GETのPARAMETER]あまりにRTSPサーバとクライアント間の接続をキープ... しかし、動作しません。私の場合は...ここ

は私の質問です:

  1. RTSPサーバーとの接続を維持する最善の方法は何ですか?
  2. RTCP [サーバーにRTCPパケットを送信する]を実装する必要がありますか? RTCPパケットをサーバーに送信しないため、接続が切断されることがありますか?

答えて

6

SETUP応答で受け取るタイムアウトの値は何ですか?この値をキープアライブ機能の実装に使用していますか?

セッション= "セッション" ":"セッションID [";" "timeout" "=" delta-seconds "

一般に、RTSPはUDPに基づいており、RTPはUDPに基づいています。したがって理想的には両方のチャンネルが生き続ける機能を必要とします。 RTPセッションが閉じている場合、RTSP接続もティアダウンする必要はありませんが、RTPチャネルはRTSPチャネルティアダウンで閉じる必要があります。

1)RTSPサーバとの接続を有効にするにはどうすればよいですか? - > SETUP応答でtimeout値が受信される前に、定期的に(OPTIONS、SET_PARAMETERまたはGET_PARAMETER)RTSP要求を送信します。

2)RTCP [サーバーにRTCPパケットを送信する]を実装する必要がありますか? RTCPパケットをサーバーに送信しないため、接続が切断されることがありますか? - > RFC(RTSPまたはRTP)は、RTPチャネルを有効に保つためにRTCPの要件を要求しません。

+0

私のサードパーティのRTSPサーバは値をセッション時間を与えるものではありません(いいえ、あなたは、サーバーにパケットをRTCPする必要はありません)。.. – Novalis

+0

サーバーがRTCPパケットを期待していることを意味します。 – Alam

+0

はい... RTCPパケットを送信すると、接続が切断されることはありません...しかし、axtraの帯域幅を "食い"ます。 – Novalis

0

OPTIONSリクエストを送信したが、私にとってはうまくいかなかった。

私が生きて接続を維持するために送ることができる唯一のRTSPコマンドましたGET_PARAMETER

私のタイムアウトは60年代だと私は魔法のように

作品GET_PARAMETER要求ごとに40代を送って!

私は5秒ごとに、それは接続をドロップコマンドオプションを送ったが...

+1

「GET_PARAMETER」は、すべてのRTSPサーバでサポートされているわけではありません。送信する前に、 "GET_PARAMETER"パラメータが含まれている場合は、 "OPTIONS"に対する応答を確認する必要があります。 – Gediminas