- Звуковой сервер Pulseaudio — передаем по сети
- Pulseaudio — переводим в системный режим
- Клиенты для Pulseaudio
- Добавить комментарий Отменить ответ
- Сетевой аудиосервер на основе pulseaudio в ubuntu
- Настройка клиента
- Настройка сервера
- Чем передавать звук по локальной сети?
- Короче, кроме пульса ничего нет похоже
- Pulseaudio в Ubuntu — звук по сети (и не только)
- Почему PulseAudio?
- Как Pulseaudio’фицироваться
- Некоторые настройки
- Некоторые проблемы
Звуковой сервер Pulseaudio — передаем по сети
Было бы очень удобно, если бы дома была распределенная звуковая система, одна пара колонок на всю квартиру, а всякие ПК и ноутбуки могли на нее отправлять свои звуковые потоки, так можно избавится от кучи проводов идущих от ПК, это добавило бы мобильности к ноутбуку, уже не пришлось носить по дому мобильные колонки для ноутбука, т.к зачастую ноутбуки оборудованы отвратительным звуком. А еще можно было бы усложнить и поместить по паре акустических систем в разных комнатах и при переходе между комнатами переключать звук между ними, но как этого достичь? Ответ лежит на поверхности — уже давно в Ubuntu и Debian и других дистрибутивах установлен звуковой сервер Pulseaudio, в его функции заложена такая замечательная возможность передачи звука через локальную сеть.
- ПК который будет выполнять роль звукового сервера
- Звуковые карты для каждой акустической системы
В качестве ПК прекрасно подойдет домашний сервер с утановленной ОС Debian.
По умолчанию пакет не идет в минимальной установке Debian, поэтому производим его установку:
Стоит отметить что Pulseaudio может работать как в служба пользователя так и как системная служба.
В первом режиме служба не запускается пока пользователь не зайдет в систему, во втором служба запущена всегда.
Pulseaudio — переводим в системный режим
Переходим в каталог
Там находится четыре файла
client.conf — настройки для клиентской части звукового сервера.
daemon.conf — настройки Pulseaudio в режиме службы
default.pa — настройка модулей в режиме пользователя
system.pa — настрока модулей в системном режиме
В звуковом сервере нас интересуют файлы daemon.conf и system.pa
Открыаем файл daemon.conf
#Включаем режим сервиса
В файл system.pa добавляем:
запускаем звуковой сервер Pulseaudio, напоминая что настройка ведется из под пользователя root:
Клиенты для Pulseaudio
Проверим проигрывание звука через клиент, в качестве клиента выступает ПК с установленной убунту 16.04
Устанавливаю на клиенте pavucontrol:
Запускаем pavucontrol из системного меню
В командной строке вводим команду на создание туннеля к звуковому серверу:
в списке устройств pavucontrol появится еще одно устройство которое соответствует нашему туннелю, если его выбрать, то должен звук пойти через него.
Для постоянного подключения добавляем строку
Для управления громкостью подключаемся к удаленному серверу
Тут же можно переключать звуковые карты для каждого звукового потока
Теперь нам необходимо создать сервис для pulseaudio
Создаем файл:
Открываем и добавляем строки:
nano / etc / systemd / system / pulseaudio.service
[ Unit ]
Description =PulseAudio Daemon
[ Install ]
WantedBy =multi-user.target
[ Service ]
Type =simple
PrivateTmp = true
ExecStart = / usr / bin / pulseaudio —system
Перегружаем службы, добавляем в автозагрузку и запускаем:
service pulseaudio status
● pulseaudio.service — PulseAudio Daemon
Loaded: loaded ( / etc / systemd / system / pulseaudio.service; enabled; vendor preset: enabled )
Active: active ( running ) since Mon 2018 -03- 12 21 : 59 : 48 MSK; 2s ago
Main PID: 1807 ( pulseaudio )
Tasks: 4 ( limit: 4915 )
CGroup: / system.slice / pulseaudio.service
└─ 1807 / usr / bin / pulseaudio —system —realtime
мар 12 21 : 59 : 48 router pulseaudio [ 1807 ] : N: [ pulseaudio ] main.c: Running in system mode, forcibly disabling SHM mode.
мар 12 21 : 59 : 48 router pulseaudio [ 1807 ] : N: [ pulseaudio ] main.c: Running in system mode, forcibly disabling exit idle time.
мар 12 21 : 59 : 48 router pulseaudio [ 1807 ] : W: [ pulseaudio ] main.c: OK, so you are running PA in system mode. Please make sure that you actuall
мар 12 21 : 59 : 48 router pulseaudio [ 1807 ] : W: [ pulseaudio ] main.c: Please read http: // www.freedesktop.org / wiki / Software / PulseAudio / Documentati
При каждом перезапуске сервера туннель пропадает на клиенте, поэтому перезапускаем pulseaudio на клиенте, должен появиться туннель в списке устройств в pavucontrol
В процессе настройки столкнулся с особенностью — по умолчанию после перезагрузки звук отключен.
Проблема решилась установки пакета alsa-utils и сохранения настроек с помощью команды alsactl store
Управлять мастер-уровнем можно с помощью команды alsamixer
P.S. После каждой перезагрузки сервера необходимо перезапускать Pulseaudio на клиенте или просто отправлять его в перезагрузку.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник
Сетевой аудиосервер на основе pulseaudio в ubuntu
Настройка клиента
Настройка клиента тривиальна. Ставим утилиту, которая сидит в трее и помогает быстро переключаться между серверами pulseaudio.
sudo apt-get install pulseaudio padevchooser
Далее запускаем её:
Меню — Sound & Video — PulseAudio Device Chooser
Добавим в автозапуск. Для этого щёлкаем на иконку в трее и выбираем пункт Preferences… Отмечаем флажок «Start applet on session login».
После настройки сервера его можно выбрать в меню.
Теперь любая программа, использующая pulseaudio для вывода звука, может воспроизводить звук через аудиокарту удалённого компьютера.
Настройка сервера
1. Ставим Avahi, если не стоит:
sudo apt-get install avahi-daemon
2. Нам необходим pulseaudio и модуль, автоматически размещающий данные о наличии аудиосервера в локальной сети через службу Avahi.
sudo apt-get install pulseaudio pulseaudio-module-zeroconf
3. Создадим группу audio, участники которой имеют право доступа к аудиоустройствам:
sudo groupadd audio
4. Добавим себя в эту группу:
sudo gpasswd -a user audio
5. Добавим себя ещё и в эту группу, для доступа к pulseaudio:
sudo gpasswd -a user pulse-access
6. Поставим alsa.
sudo apt-get install alsa libasound2-plugins
7. Убедимся, что вам доступны аудиоустройства. Эта комманда покажет список доступных устройств в системе.
aplay -l
8. Подправим конфиг pulseaudio:
sudo nano /etc/pulse/default.pa
У меня пропадал сигнал на alsa устройстве при одновременно включенных module-native-protocol-tcp и module-udev-detect (предположительно это баг или мои кривые руки), поэтому я убрал автоопределение звуковых карт через udev, удалив эту часть конфигурационного файла
### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Alternatively use the static hardware detection module (for systems that
### lack udev support)
load-module module-detect
.endif
и раскомменторовав это
### Load audio drivers statically (it’s probably better to not load
### these drivers manually, but instead use module-hal-detect —
### see below — for doing this automatically)
load-module module-alsa-sink
Для доступа из сети к аудиосерверу раскомментируете это и добавьте параметры загрузки модуля module-native-protocol-tcp:
### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
load-module module-esound-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16
load-module module-zeroconf-publish
где 127.0.0.1;192.168.0.0/16 — это сети, в которых будет доступен наш сервер. Так же не забудьте открыть доступ к pulseaudio в iptables.
9. Теперь нужно перезагрузить сервер. Если все прошло успешно — то у наш сервер должен появится в PulseAudio Device Chooser у клиента
Запустить аудиосервер можно, запустив следующую комманду от имени пользователя:
pulseaudio -D
Остановить так:
pulseaudio -k
Источник
Чем передавать звук по локальной сети?
Задача такая: играть звук на другом компьютере с доступом по локальной сети. Передавать его нужно без сжатия с потерями. Сейчас пользуюсь NAS, но что-то очень мало софта его поддерживают. Какие есть альтернативы? Всякий пульс охота только в крайний случай пробовать.
Ещё интересно почитать про архитектуру таких серваков
NAS, EsounD, PulseAudio
Тебе этого мало?
Не проще ли будет по NFS файлы шарить?
Таки проще гнать 1mbps флака, чем в 4 раза больше чистого звука?
Ну мне же не файлы надо. Например, вывод звука из mplayer можно сделать через NAS, а вот ещё какой-нибудь проги, использующей nas я не найду. Надо ещё проверить, как они собраны
странно что еще не назвали: JACK умеет по сети звук гонять
Я вот как-то пробовал и не вышло. Там какой-то ключ нужен, чтобы он с этим бекендом netone собрался? Потому что у меня jackd -d netone не работает:
unknown driver ‘netone’
Походу, оно протухло
vlc — не только клиент, но и сервер.
Чтоб глобально и надежно — только пульса.
ALSA умеет сетевой звук. Я в лорвики заметочку делал. А поцтерофилов не слушай.
Я так понял, это просто плеер, позволяющий media streaming или что? Просто в википедии написано, что это плеер, а не аудио сервер
Это ж всё равно только для linux, лол
Да, через пайп это зашибись, конечно. Буду mplayer через пайп гонять, VirtualBox, mocp итд итп
Короче, кроме пульса ничего нет похоже
Почитай название форума, лол!
Говнопульса — это обычное коровье седло. По сути она представляет собой надстройку над ALSA. Фактически выполняет то же самое, что и snd-loop + пайп.
Дорогуш, я понял
Нет, он разрабатывался именно как сервер сетевого вещания с собственным клиентом, который (клиент) потом стал так популярен, что большинство о серверных функциях не вспоминает, однако как сервер он продолжает использоваться во всяких встраиваемых системах типа домашних кинотеатров. Почитай его документацию, в частности man. Я детальнее подсказать не могу, поскольку именно в этом качестве сам его не использую, видел только со стороны.
Это не «ALSA по сети», а проброс потока в сеть с помощью соответствующих сетевых утилит (curl, sox, etc.)
Говнопульса — это обычное коровье седло. По сути она представляет собой надстройку над ALSA. Фактически выполняет то же самое, что и snd-loop + пайп.
Вот именно: это единственное, для чего пульс стОит применять, и это единственное, что он делает более-менее нормально (ещё с 2007-го года).
Те же яйца, только в профиль и вареные.
Эдь, ну не неси чушь. Вот нафиг мне вперлась твоя программа sox, твоя ALSA и прочее? Пайп и ssh — это не «аудио сервер»
Зато юниксвейно, а пульса — мастдайщина гнилая.
Ты не понял. Мне надо не юниксвейно, а чтобы как можно больше программ могли гонять звук по сети. В том числе гуишные, которые в стандартные потоки i/o ничем не плюются, и без альсы (у меня вся система без альсы, а не только проги, лол)
Там какой-то ключ нужен, чтобы он с этим бекендом netone собрался? Потому что у меня jackd -d netone не работает:
нет, в jack2 искаропки всё
всеми ненавистный пульс или netcat
Если вам не важна задержка, то используйте любой вещательный сервер, вам, вон, vlc советовали. Но задержка будет ощутимая, пол секунды где-то.
Если задержка критична, то pulseaudio. Не рекомендую использовать RTP-вещание, рекомендую то, что называют native tunnel.
Сам использую давно и успешно, проблемы есть только со флешем почему-то. Он заикается, если его включить с удаленным звуком. Если же включить с локальным звуком и потом переключить на удаленный, то все нормально.
Источник
Pulseaudio в Ubuntu — звук по сети (и не только)
Update/Disclaimer: эта хня уже не актуальна т.к. в 8.04 оно завёрнуто в пульс по дефолту. В 7.10 есть какие-то макросы в asoundconf на эту тему. Остальные дистрибы тоже ползут в этом направлении.
Этой осенью я делал презентацию для OSU Open Source club про сервер звука PulseAudio, заменяющий ESD, но с кучей новых дополнений и трюков.
К сожалению, с тех пор я не смог заставить его заработать снова, и не мог до тех пора, пока не обновился до Feisty Fawn. Я наконец разобрался как это делается.
Почему PulseAudio?
Сначала, немного мотивации. Зачем сейчас использовать сервер звука? Вроде бы ALSA нормально работает. Есть три причины почему стоит установить PulseAudio:
- Самая главная — PulseAudio может прозрачно воспроизводить звук по сети, вне зависимости от настоящего расположения компьютера. Что это значит? В
сущности, вы жмёте Play на ноуте и звук идёт из колонок вашего десктопа. - Старые программы использующие OSS могут быть настроены чтобы работать корректно, при этом остальные звуки будут воспроизводиться в это же время.
- Ещё не реализованая, но очёнь клёвая штука: звук может быть настроен для каждого приложения по-отдельности. Сейчас можно управлять этим вручную, но будет очень здорово, когда это будет автоматически, основываясь на классе источника. Например, музыка сделается тише, когда вы принимаете VoIP вызов. Кое-кто работал над этим в качестве своего проекта Google SoC, но не ушёл особо далеко (и по-моему, его реализация всё равно надуманная).
Как Pulseaudio’фицироваться
Для этого нужно установить несколько пакетов:
Если у вас установлен Flash Player 9 сделайте ещё и это:
Далее, отредактируйте файл настроек ALSA: sudo gedit /etc/asound.conf . Пропишите туда следующее:
Некоторые настройки
Теперь, зайдите в меню Система → Настройки → Звук и на вкладке «Звуки» включите «програмное смешивание звука (ESD)».
Необходимо добавить всех пользователей в группу pulse-access . Для этого зайдите в меню Система → Администрирование → Пользователи и группы, Управление группами и выберите группу pulse-access и добавьте в неё всех пользователей, которые будут использовать аудиосервер. Иначе у вас будут ошибки «no-sound» и зависания.
Далее, убедитесь, что PulseAuidio настроен правильно — нажмите Alt+F2 и введите paprefs . Так выглядят правильные настройки:
Убедитесь, что Multicast/RTP отключены, иначе у вас будут проблемы в виде сбоев и задержек.
Перезагрузитесь или запустите ` pulseaudio ‘. Далее, зайдите в меню Аудио и видео → PulseAudio device chooser и если у вас уже настроено больше одного компьюетра, вы можете выбрать куда выводить звук.
Некоторые проблемы
К сожалению, хотя скорее всего получится заставить это работать, это несколько неудобно и глючно — PulseAudio ещё не настолько пуленепробиваема и вам возможно придётся что-то затачивать. В частности, раздражает Skype; обычно лучше всего сделать killall pulseaudio перед попыткой сделать вызов Skype, хотя у меня получалось заставить его работать через OSS и padsp .
Благодарности: большая часть этого howto взята из The Perfect Setup с сайта PulseAudio.
Поддержка Flash 9 найдена на вики Revolution Linux
Отсебятина про настройку
Рекомендую сделать aptitude search pulseaudio и поставить оттуда всё что есть. Потом доставить libgstreamer-plugins-pulse0.10-0 и запустить gstreamer-properties , выставив там PulseAudio где можно.
После основной установки можно пройтись по вышеуказаному The Perfect Setup и настроить всё что нужно/есть: все проги поснимать с альсы и осс и посадить на pulse. На всякий случай (:
Жители KDE ставят pulseaudio-esound-compat и переключают arts на esd.
В файле /etc/default/pulseaudio можно поставить автозагрузку сервера вместе с системой. Тогда (наверно) не надо добавлять pulseaudio в автозагрузку пользователя.
Источник