我一直在嘗試幾種方法,用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,今天已經下載了它,但還沒有進入它,將立即開始:) –