Как переслать звук с одного компьютера на другой по локальной сети?

11

У меня есть два компьютера. Компьютер A работает под управлением Ubuntu 11.10 с Gnome Clasic. Компьютер B работает на Mythbuntu 11.10. Компьютер B имеет приятную цифровую аудиосистему.

Я хочу воспроизводить музыку с Banshee на компьютере A, но мне нужно передать звук через локальную сеть и выйти через динамики компьютера B.

Я нашел этот вопрос, который указывал, что я должен использовать нечто, называемое «папреф», чтобы добиться этого. Итак, я установил paprefs, а затем в диалоговом окне «Сетевой сервер» я выбрал следующие настройки:

paprefs

А потом ... я понятия не имею, что должно произойти. Я проверил домашнюю страницу paprefs, и все, что они говорят в разделе « Документация», это «Сказать особо нечего. Просто запустите paprefs и убедитесь сами».

Я не вижу, чтобы что-то происходило или каким-либо образом я должен был установить соединение между компьютером A и компьютером B.

Как это должно работать? Может ли кто-то предоставить четкие инструкции о том, что нужно сделать для установления соединения?

В идеале надежда состоит в том, что у меня может быть настройка, которая позволяет мне всегда воспроизводить определенные приложения, такие как Banshee, по локальной сети, используя звуковую систему компьютера B. Другими словами, после настройки он является значением по умолчанию и не требует повторного подключения вручную каждый раз.

интервьюер
источник

Ответы:

9

Наименее сложный способ отправки аудио с одного сервера Pulse Audio на другой по локальной сети - это использование функции RTP / Multicast, которую вы можете настроить с помощью paprefsУстановить папочки .

На отправителя:

Снимок экрана paprefs, показывающий «включить многоадресную рассылку / отправителя rtp» отмечен и выбран «отправлять аудио из локальных динамиков»

Выберите вашу локальную звуковую карту или выберите отдельное устройство, которое вы можете выбрать в качестве аудиовыхода из Audio Preferences .

На приемнике:

Снимок экрана paprefs, показывающий "включить многоадресную рассылку / приемник rtp" проверен

При этом аудио будет отправлено от отправителя к получателю через вашу локальную сеть.

Takkat
источник
Спасибо тебе за это. Я сделал эти настройки, как вы описали, но если я играю в «Банши» на Отправителе, я не слышу это на Получателе. Я также не вижу сетевого звукового устройства в pavucontrol или каких-либо настроек звука гномов. Есть ли другие шаги, которые мне нужно предпринять?
Вопрос
Понял. Пришлось: 1. Перезагрузить обе машины. 2. На отправляющем устройстве перейдите в настройки звука и на вкладке «Выход» выберите сетевое звуковое устройство.
Вопрос
Просто сделал это. Получилось большое отставание, и это сделало серверный ПК действительно вялым ... возможно, что-то я делаю неправильно, но так как это включает только отметку в двух флажках, я не знаю, что может пойти не так
Грег
@Greg: в зависимости от вашей сети и от аудио контента (битрейт!) Этот метод потоковой передачи может быть довольно сложным. Если у вас есть проблемы, попробуйте сбросить pulseaudio с pulseaudio -kэтим иногда помогает.
Таккат
Pulseaudio имеет «очень высокий» приоритет. Может быть, в этом причина вялого сервера ...
Родриго
2

В следующем примере показано, как создать TCP-туннель pulseaudio для передачи звука с компьютера alphaна компьютер beta. В моем случае оба компьютера работают под управлением Ubuntu 14.04.

На alpha(исходный компьютер) добавьте следующие строки /etc/pulse/default.pa:

.fail
load-module  module-tunnel-sink  sink_name=beta  server=tcp:IP_ADDRESS_OF_BETA:4713
.nofail

(Выберите любое уникальное значение для sink_name. Я произвольно решил использовать значение beta.)

На beta(целевой компьютер) добавьте следующую строку /etc/pulse/default.pa:

load-module  module-native-protocol-tcp  auth-ip-acl=127.0.0.1;LAN_NAME

Выше, LAN_NAMEи IP_ADDRESS_OF_BETAбудет специфичным для ваших компьютеров и вашей локальной сети. Например, они могут быть:

LAN_NAME            =  192.168.1.0/24
IP_ADDRESS_OF_BETA  =  192.168.1.10

После внесения вышеуказанных изменений перезапустите pulseaudio, сначала включите beta, затем включите alpha. Порядок имеет значение. Я перезапускаю pulseaudio с помощью pulseaudio --kill. Я бегу pulseaudio --killот имени моего пользователя UID(не от имени root), так как pulseaudio уже работает как мой личный UID.

Если все работает успешно, вы должны увидеть туннель на Output Devicesвкладке pavucontrolна alpha. Когда источник звука играет, вы должны быть в состоянии направлять источник в туннель на Playbackвкладке pavucontrolна alpha.

Пока туннель не поврежден, вы также должны видеть туннель на Playbackвкладке « pavucontrolВкл beta.». Если туннель исчезает, перезапустите pulseaudio, сначала включите beta, затем включите alpha. Туннель создается только при pulseaudioзапуске alpha.

Примечание 1: В этом примере предполагается, что pulseaudio работает на обоих alphaи beta. По состоянию на 2016 год по умолчанию в Ubuntu pulseaudio работает годами.

Примечание 2: В этом примере не используется сеть с нулевой конфигурацией Avahi. Avahi может быть включен по умолчанию в Ubuntu, но я отключил Avahi в моих системах. В моей локальной сети beta(конечный компьютер) всегда используется один и тот же IP-адрес, и я знаю этот адрес.

Примечание 3: Вышеуказанное auth-ip-aclпредоставляет доступ к любому устройству в локальной сети. Pulseaudio также поддерживает другие (более безопасные) методы аутентификации. Я использую, auth-ip-aclчтобы упростить настройку.

Более подробную информацию можно найти на следующих страницах:

/raspberrypi/8621/how-to-set-up-a-pulseaudio-sink https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Network/# index2h2 https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#index14h3

MPB
источник