我在服务器应用程序上有一个接收会话,有两个客户端将音频数据发送到该服务器。
到目前为止,在服务器应用程序上,我仅尝试了以下两个示例: https://github.com/j0r1/JRTPLIB/blob/master/examples/example4.cpp https://github.com/j0r1/JRTPLIB/blob/master/examples/example2.cpp
归结为以下代码以在单独的线程中接收数据:
session.BeginDataAccess();
if (session.GotoFirstSource())
{
do
{
RTPPacket *packet;
while ((packet = session.GetNextPacket()) != 0)
{
//access to packet here
session.DeletePacket(packet);
}
} while (session.GotoNextSource());
}
session.EndDataAccess();
对于一个客户端,发送正常,但是对于两个客户端,发送it looks like the receive session can't keep up。这不是整个服务器应用程序都被锁定,我可以请求客户端列表,并且在此速度下降期间TCP线程会响应。
我对使用RTP还是很陌生,请原谅我如果我误解了示例代码,我将非常感谢我为您提供了解决此问题的提示。
因此,我试图在一个接收方会话中从多个客户端应用程序接收数据,但是由于某种原因,它的运行速度不太快。可能是什么原因? RTP会话旨在从iirc的多个来源获取数据。