我正在使用 libcurl 在 c 编程中实现 RTSP 客户端。
为了正确配置 RTP/RTCP session ,我需要有 RTSP 服务器的传输端口(向它发送 RTCP RR)。
我一直在查看文档,但没有成功。
我想这是可能的。我对吗?我一直在尝试使用“curl_easy_getinfo”方法,但我没有看到所需的参数来处理我的要求。
也许我需要解析来自 RTSP 服务器的整个回复(以某种方式从 libcurl 收到后显示的服务器获取回复字符串)。但是,至少,我需要知道没有其他办法。而且,如果没有其他方法,哪种方法是获得此类回复字符串的最佳方法?
最佳答案
在 rtsp 示例中 rtsp.c ,RTSP 答案由 libcurl 用户解析。
要获取 RTP 和 RTCP 端口,您需要解析 SETUP 应答的 Transport
header 。
这可以通过类似的方式实现:
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);
}
}
关于c - libcurl RTSP客户端实现c编程问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23872551/