I am currently playing around with an AudioOverIP Project and wondered if you could help me out. I have a LAN, with an Audio Source (Dante/AES67-RTP-Stream) which I would like to distribute to multiple receivers (SBC (e.g. RaspberryPi) with an Audio Output (e.g. Headphone jack):
Source (e.g. PC)-->Dante-Audio-USB-Dongle-->AES67/RTP-Multicast-Stream-->LAN-Network-Switch-->RPI (Gstreamer --> AudioJack)
I currently use the following Gstreamer Pipeline command on the RPi:
gst-launch-1.0 -v udpsrc uri=udp://188.8.131.52:5004 caps="application/x-rtp,channels=(int)2,format=(string)S16LE,media=(string)audio,payload=(int)96,clock-rate=(int)48000,encoding-name=(string)L24" ! rtpL24depay ! audioconvert ! alsasink device=hw:0,0
It all works fine, but if I watch a video on the PC and listen to the Audio on the RPI, I have some latency (~200-300ms), therefore my questions:
- Do I miss something in my Gstreamer Pipeline to be able to reduce latency?
- What is the minimal Latency to be expected with RTP-Streams, is <50ms achievable?
- Would the latency occur due to the network or due to the speed of the RPi?
- Since my audio-input is not a Gstreamer input, I assume
rtpjitterbufferor similar would not help to decrease latency / improve sync?
o=- 1484410 1484415 IN IP4 192.168.88.32
s=avio : 2
c=IN IP4 184.108.40.206/32
m=audio 5004 RTP/AVP 97
i=2 channels: Left, Right