Введение ¶
PulseAudio – звуковой сервер, в моём понимании. Выполняется на любом Linux ПК. Микрофоны, динамики, виртуальные устройства - всё идёт через PulseAudio и им контролируется.
Задача ¶
Есть сервачок, который подключён к настенному телевизору. Работаю я на ПК с Manjaro и наушники, прямо скажем, не очень. Для работы - сгодится. Хочется слушать музыку, но чтобы телевизор проигрывал это у себя.
Источники ¶
- Arch Wiki PulseAudio Examples
- Статья Joao Paulo Silva de Souza на Medium
- Хороший ответ на Unix Overflow
- И ещё один
Решение ¶
Трафик будет передаваться по TCP с ПК на сервер (для простоты буду просто называть его в тексте ТВ, но по факту это сервер на Manjaro).
И там, и там ставим модуль Zeroconf, чтобы компы друг друга находили без проблем.
|
|
Теперь, возьмём cookie файл с одного и скопируем на второй, чтобы были одинаковые. Я нашёл у себя на ПК в домашнем каталоге у пользователя.
|
|
А теперь настраиваем:
- ТВ будет PulseAudio сервером, потому что он принимает аудио поток
- ПК будет PulseAudio клиентом, потому что он отдаёт поток
На ТВ - выполняем от имени обычного пользователя, потому что pulseaudio --kill/--start
от рута не нужно запускать.
|
|
На ПК то же самое почти.
|
|
Вот и всё. Теперь в pavucontrol можно какое-то приложение направить по туннелю до ПК!
Бонус, который не работает ¶
Что хочется дальше? Правильно, то что совсем не пригодиться, но интересно. Хочется чтобы и ПК, и ТВ проигрывали один и тот же поток.
На ПК посмотрим какие у нас есть outputы и получим их имена.
|
|
Вот и видно, что первый, похоже, наушники, а остальное прилетело по сети. 2-й и 3-й скорее всего задний и фронтальный выходы на корпусе, а последний явно HDMI компьютера - то что нужно. Объединить, значится, нужно 1-й и 4-й.
Всё там же на ПК
|
|
Вот и всё 😄 … Вот только не работает. Не знаю почему. Устройство-то добавилось, выбрать можно, ошибок в журнале нет, но звук идёт только в наушники и не идёт на ТВ. В то же время, просто выбираю ТВ - работает. Значит просто этот модуль не может совместить туннельное и простое устройство. Решил всё равно написать, может кому пригодиться.