1

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

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

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

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

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

4

1 回答 1

1

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

要获得 RTP 和 RTCP 端口,您需要解析TransportSETUP 答案的标头。

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

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);
    }
}
于 2015-04-25T14:08:00.460 回答