2016-08-03 56 views
0

libcurlでサンプルコードhttps://curl.haxx.se/libcurl/c/rtsp.htmlを実装しました PLAYオプションを送信した後にRTPデータを受信しました。 しかし、接続は約10分間壊れました。 セッションを有効に保つために、ハートビートメッセージをrtspサーバーに送信する可能性があると考えました。libcurl rtspはrtspサーバで生き続ける

libcurlとの接続を維持するにはどうすればよいですか?

コードフロー:

// Set Option 

// Set Describe 

// Set Setup 

// PLAY 

/* Receive RTP DATA*/ 

while(1) 

{ 

curl_easy_set_opt(curl, CURLOPT_WRITEFUNCTION, rtsp_write); 

curl_easy_set_opt(curl, CURLOPT_WRITEDATA, NULL); 

..... 

} 

答えて

0

あなたは再びCURL_RTSPREQ_OPTIONSを送信する必要があります。私は30秒ごとにそれを送ります。

+0

これは質問に対する答えを提供しません。あなたが十分な評判を得たら、あなたはどんな投稿にでもコメントすることができます。代わりに、質問者からの説明を必要としない回答を提供してください。 –

0

実際にRTSP接続にはハートビートが必要です。これは仕様、セクション5.2.1.1.1ストリーミングRCF 2326セクション12.37ONVIFに指定されています。

は、基本的には行います

  1. は、必要に応じて(秒)のタイムアウトパラメータを設定し、通常のデフォルトは60秒です。
  2. RTSP SETUP応答にタイムアウトが含まれている必要があります。クライアントは接続を維持するために応答を使用する必要があります。
  3. クライアントは、RTSP方式を使用してRTSPサーバを呼び出すか、RTCP RRを送信する必要があります。推奨される方法は、RTSP SET_PARAMETERリクエストを送信することです。