libcurl RTSP客户端实现c编程问题

时间:2014-05-26 14:37:29

标签: c libcurl rtsp rtcp

我正在使用libcurl在c编程中实现RTSP客户端。

为了正确配置RTP / RTCP会话,我需要具有RTSP服务器的传输端口(向其发送RTCP RR)。

我一直在查看文档,但没有成功。

我想这可能是可能的。我对吗?我一直在尝试使用" curl_easy_getinfo"方法,但我没有看到所需的参数来处理我的要求。

也许我需要解析来自RTSP服务器的整个回复(以某种方式从libcurl收到的服务器获取回复字符串)。但是,至少,我需要知道没有别的办法。并且,如果没有其他方法,这将是获得此类回复字符串的最佳方式?

1 个答案:

答案 0 :(得分:1)

在rtsp示例rtsp.c中,libcurl用户解析RTSP答案。

要获取RTP和RTCP端口,您需要解析SETUP答案的Transport标题。

这可以通过以下方式实现:

int rtpport=0;
int rtcpport=0;

char *t=strstr(rtspheader, "server_port=");
if (t != NULL)
{
    if (sscanf(t, "server_port=%d-%d", &rtpport, &rtcpport) == 2)
    {
        printf("Server ports RTP:%d RTCP:%d\n",rtpport, rtcpport);
    }
}