Потоковое аудио: прием RTP-потока с Gstreamer - задержка - PullRequest
1 голос
/ 17 февраля 2020

В настоящее время я играю с проектом AudioOverIP и спрашиваю себя, не могли бы вы мне помочь. У меня есть локальная сеть с источником звука (Dante / AES67-RTP-Stream), который я хотел бы распространить на несколько приемников (SB C (например, 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

Все работает нормально, но если я смотрю видео на P C и слушаю аудио из RPI, у меня есть некоторая задержка (~ 200-300 мс), поэтому мои вопросы:

  1. Я что-то пропускаю в моем конвейере Gstreamer, чтобы можно было уменьшить задержку?
  2. Какая минимальная задержка должна быть ожидается с RTP-Streams, достижимо ли <50 мс? </li>
  3. Произойдет ли задержка из-за сети или из-за скорости RPi?
  4. Поскольку мой аудиовход не является входом Gstreamer Я полагаю, rtpjitterbuffer или подобное не поможет уменьшить задержку?
...