【问题标题】:libcurl rtsp keep alive with rtsp serverlibcurl rtsp 与 rtsp 服务器保持活动状态
【发布时间】:2016-08-03 01:44:18
【问题描述】:

我正在使用 libcurl 实现 rtsp(示例代码 https://curl.haxx.se/libcurl/c/rtsp.html) 我在发送 PLAY 选项后收到了 RTP 数据。 但是连接中断了大约十分钟。 我认为它可能会向 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);

.....

}

【问题讨论】:

    标签: rtsp keep-alive


    【解决方案1】:

    您需要再次发送 CURL_RTSPREQ_OPTIONS。我每 30 秒发送一次。

    【讨论】:

    • 这并没有提供问题的答案。一旦您有足够的声誉,您就可以对任何帖子发表评论;相反,提供不需要提问者澄清的答案。
    【解决方案2】:

    RTSP 连接确实需要心跳。它在 RCF 2326第 12.37 节ONVIF 流媒体规范第 5.2.1.1.1 节中指定。

    基本上你会这样做:

    1. 可选择设置超时参数(以秒为单位),通常默认为 60 秒。
    2. RTSP SETUP 响应应包含超时,客户端应使用它来保持连接。
    3. 客户端应使用任何 RTSP 方法调用 RTSP 服务器或发送 RTCP RR。推荐的方法是发送 RTSP SET_PARAMETER 请求。

    【讨论】:

      猜你喜欢
      • 2012-04-10
      • 2011-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-13
      • 1970-01-01
      相关资源
      最近更新 更多