В настоящее время я играю с проектом 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 мс), поэтому мои вопросы:
- Я что-то пропускаю в моем конвейере Gstreamer, чтобы можно было уменьшить задержку?
- Какая минимальная задержка должна быть ожидается с RTP-Streams, достижимо ли <50 мс? </li>
- Произойдет ли задержка из-за сети или из-за скорости RPi?
- Поскольку мой аудиовход не является входом Gstreamer Я полагаю,
rtpjitterbuffer
или подобное не поможет уменьшить задержку?