首页 > 解决方案 > 音频流:使用 Gstreamer 接收 RTP-Stream - 延迟

问题描述

我目前正在玩一个 AudioOverIP 项目,想知道你是否可以帮助我。我有一个带有音频源 (Dante/AES67-RTP-Stream) 的 LAN,我想将它分配给多个带有音频输出(例如耳机插孔)的接收器(SBC(例如 RaspberryPi)):

PC-->Audio-USB-Dongle-->AES67/RTP-Multicast-Stream-->LAN-Network-Switch-->RPI (Gstreamer --> AudioJack)

我目前使用 Gstreamer 作为管道:

gst-launch-1.0 -v udpsrc uri=udp://239.69.xxx.xx: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

一切正常,但如果我在 PC 上观看视频并收听 RPI 的音频,我会有一些延迟(~200-300 毫秒),因此我的问题是:

  1. 我是否错过了 Gstreamer 管道中的某些内容以减少延迟?
  2. RTP-Streams 的最小延迟是多少,是否可以实现 <50ms?
  3. 延迟是由于网络还是由于 RPi 的速度而发生的?
  4. 由于我的音频输入不是 Gstreamer 输入,我认为rtpjitterbuffer或类似的方法无助于减少延迟?

标签: gstreameraudio-streamingrtpdante

解决方案


推荐阅读