我一直在尝试几种方法,用Java和C++接收和发送音频流,而且它们工作正常,但延迟开始排队。 我在理解我做错了什么或者我最初需要什么时遇到了一些问题,经过一些阅读后,我发现我需要有一个jitterbuffer,所以没有什么信息,我开始使用库来代替它,因为它包含了一个jitterbuffer。在UDP上使用RTP和设备的专用路由器/网络时,预计会发生什么延迟?
它增加了很多性能,因为它延迟了数据包,所以网络缓冲区等不像以前那样排队。
所以我想知道,作为具有RTP over UDP和专用路由器/网络设备的延迟,我可以期待什么?我有大约300-1000毫秒的延迟,这是一个好的平均值?
0-3-1s的延迟是从一个电话到另一个,当从手机流到PC我认为我有低至0.1-0.3s,这可能与手机正在低价手机与“低”音频,网络和一般处理能力?
尝试使用GStreamer进行测试,例如:'gst-launch-1.0 uridecodebin uri = rtsp://192.168.2.1/live1.sdp latency = 0! autovideosink'这个流水线提供了延迟参数,虽然实际上并不是零但是延迟很小,流非常稳定。当然,您将需要特定的音频管道。关于增长延迟,我会说需要在管道中进行反馈,以便在增长时发送组件会跳过“延迟”的数据包。 – AlexanderVX
谢谢,是的,我会研究GStreamer,今天已经下载了它,但还没有进入它,将立即开始:) –