Передача звука по сети при помощи PulseAudio
Возникла необходимость воспроизводить звук с домашнего компьютера на нетбуке. За решением далеко ходить не пришлось — на помощь пришел PulseAudio.
Учитывая, что на десктопе и нетбуке стоит Kubuntu 11.10, настройка заняла всего несколько минут.
Условно назовем домашний компьютер клиентом, а нетбук сервером.
- Первым делом установим саму звуковую систему как на клиент, так и на сервер:
~$ sudo apt-get install pulseaudio
- На сервере включим запуск pulseaudio как системный сервис, отредактировав файл /etc/default/pulseaudio:
PULSEAUDIO_SYSTEM_START=1
- Так же на сервере нужно активировать модуль, чтобы принимать звук по сети, добавив следующую строку в /etc/pulse/system.pa:
load-module module-native-protocol-tcp auth-ip-acl=192.168.0.0/16;127.0.0.0/8
В параметре auth-ip-acl через точку с запятой перечисляются адреса, с которых разрешены анонимные соединения. По умолчанию сервер слушает TCP порт 4713.
- Теперь на клиенте в файле /etc/pulse/client.conf необходимо указать адрес сервера, на которые будет передаваться весь звук:
default-server = tcp:SERVER:4713
- Если на клиенте используется ALSA, то нужно добавить следующие строки в ~/.asoundrc:
pcm.pulse { type pulse } ctl.pulse { type pulse } # если требуется pulseaudio по умолчанию #pcm.!default { # type pulse #} #ctl.!default { # type pulse #} - В завершение перезапускаем pulseaudio на сервере командой:
~$ sudo service pulseaudio restart
На клиенте, возможно, придется перезапустить KDE, чтобы подключить настройки из ~/.asoundrc. После этого весь звук на клиенте через pulseaudio должен будет передаваться на сервер.