Несколько pulseaudio многоадресно передают “каналы”

Я выполняю сервер человечности, я настроил его с pulseaudio многоадресным приемником RTP. Этот приемник используется для множества приложений.

Что я смотрю, на данный момент то, если существует способ иметь дополнительный "канал" для многоадресных сообщений RTP, таким образом, тот же компьютер может многоадресно передать различные потоки одновременно, и если я могу затем настроить свой компьютер, чтобы просто принять один из тех каналов.

Это могло сравниться с различными зонами в аудиосистеме бытовой аудиотехники, где каждая зона будет иметь свою собственную многоадресную передачу "каналом"

Действительно ли это возможно, и в этом случае как это было бы выполнено?

1
задан 30 April 2013 в 21:27

1 ответ

Может быть возможно отправить больше чем один параллельный поток RTP через Вашу локальную сеть путем присвоения другого Многоадресного IP каждому из них с:

# stream 1
pactl load-module module-null-sink sink_name=rtp1 format=s16be channels=1 rate=44100 sink_properties="device.description='rtp1'"
pactl load-module module module-rtp-send source=rtp1.monitor loop=0 destination=224.0.0.56
# stream 2
pactl load-module module-null-sink sink_name=rtp2 format=s16be channels=1 rate=44100 sink_properties="device.description='rtp2'"
pactl load-module module module-rtp-send source=rtp2.monitor loop=0 destination=224.0.0.57

и затем послушайте на получателе соответствующий IP с

pactl load-module module-rtp-recv sap_address=224.0.0.56 # resp. 224.0.0.57

Однако я не мог протестировать, если это действительно работает, как я думаю, что это должно.

Кроме того, этот метод имеет несколько недостатков:

  • для каждого потока отправки RTP мы должны определить свой собственный (эксклюзивный) приемник.
  • отправка нескольких несжатых аудиопотоков через нашу сеть неизбежно приведет к перегрузке, поскольку эти потоки возьмут много bandwith.
  • нам нужно решение для сценария смочь выбрать "канал" из потоков на стороне получателя.
  • для генерации нескольких одновременных потоков RTP будет нужно небольшое количество мощности ЦП на сервере, таким образом, это будет возможно опасно.

Намного лучшая альтернатива, которую я хотел бы предложить здесь, должна настроить Сервер Icecast на Вашем сервере Ubuntu. Не настолько трудно сделать:

С этим решением Вы сможете

  • поток сжал аудиоданные (например, ogg или mp3) в Вашей сети
  • отправьте несколько звуковых каналов (т.е. "радиостанции") одновременно
  • переключитесь легко между этими потоками от получателя (который мог затем также быть интернет-Радиоприемником или смартфоном), только с названия потока
  • Ices2 resp. Льды помогают Вам к потоковым плей-листам, Darkice передать данные потоком своей звуковой карты.
0
ответ дан 30 April 2013 в 21:27

Другие вопросы по тегам:

Похожие вопросы: