JRTPLib同时从多个客户端接收数据会导致速度变慢

时间:2018-10-25 19:39:29

标签: c++ audio-streaming rtp

我在服务器应用程序上有一个接收会话,有两个客户端将音频数据发送到该服务器。

到目前为止,在服务器应用程序上,我仅尝试了以下两个示例: 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的多个来源获取数据。

0 个答案:

没有答案