перемещение звука по локальной сети с помощью GStreamer

Мне нужно перемещать звук в реальном времени между двумя компьютерами Linux, на которых оба работают под заказ (мое), которое основано на Gstreamer. (У программного обеспечения уже есть другая связь между машинами по отдельному протоколу на основе TCP - я упоминаю об этом в случае, если наличие надежных внеполосных данных имеет значение для решения).

Аудиовход будет представлять собой микрофон / линейный вход на отправляющем аппарате и обычный аудиовыход в качестве приемника в пункте назначения; alsasrc и alsasink являются наиболее вероятными, хотя для тестирования я использовал audiotestsrc вместо реального микрофона.

GStreamer предлагает множество способов перемещения данных по сетям - RTP, RTSP, полезная нагрузка GDP, серверы UDP и TCP, клиенты и сокеты и так далее. В Интернете также есть много примеров потоковой передачи аудио и видео, но на практике ни один из них мне не подходит; Либо конвейер назначения не может согласовать ограничения, либо я слышу один пакет, и затем конвейер останавливается, или конвейер назначения выдает ошибку немедленно, без данных.

Во всех случаях я тестирую в командной строке просто gst-launch. Сжатие аудиоданных не требуется - подходит чистое аудио или обычное кодирование WAV, uLaw или aLaw; что более важно, это низкая задержка.

Ответы на вопрос(3)

Ваш ответ на вопрос