Наведений нижче приклад показує, як створити імпульсний аудіо TCP-тунель для передачі звуку з комп'ютера 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
Після внесення вищезазначених змін перезапустіть імпульсний звуковий сигнал спочатку beta, потім увімкнено alpha. Порядок має значення. Я перезапускаю pulseaudio за допомогою pulseaudio --kill. Я запускаюсь pulseaudio --killяк песонал UID(не як root), так як pulseaudio вже працює як мій особистий UID.
Якщо все спрацювало успішно, тепер вам слід побачити тунель на Output Devicesвкладці pavucontrolв alpha. Коли відтворюється аудіо-джерело, ви повинні мати можливість направити джерело до тунелю на Playbackвкладці pavucontrolв alpha.
Поки тунель є недоторканим, ви також повинні мати можливість бачити тунель на Playbackвкладці pavucontrolв beta. Якщо тунель зникне, перезапустіть імпульсний звуковий сигнал спочатку beta, потім увімкнено alpha. Тунель створюється лише при pulseaudioзапуску alpha.
Примітка 1. Цей приклад передбачає, що pulseaudio працює як на, так alphaі на beta. Станом на 2016 рік, pulseaudio працює за замовчуванням на Ubuntu, і є роками.
Примітка 2: Цей приклад не використовує мережу конфігурації Avahi Zero. 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