воскресенье, 24 января 2010 г.

Удаленное воспроизведение звука

Зачем оно надо?


(Для тех, кто еще не осознал смысл жизни)

  • Домашняя акустика - на стационарном компе, любимая музыка - на ноуте, а провода давно завязались в узел.
  • Вы с ноутом сидите на кухне, и хотите включить музыку, да погромче.
  • Компьютеров много - колонки одни. Например, в офисе вам любезно разрешили включить свою музыку. Но колонки не ваши, и таскать их от компа к компу никому не хочется, особенно хозяину.
  • Вы запускаете удаленное приложение на не менее удаленном сервере и хотите его слышать.
  • Ваши варианты...


Простой способ


Подходит для локальной сети, в которой вам некого опасаться.

Устанавливаем PulseAudio как на клиенте так и на сервере, если оно еще не стоит. На компьютере с подключенной акустикой устанавливаем paprefs, запускаем и разрешаем подключение через сеть. На клиентской машине запускаем приложение вот такой командой:

$ PULSE_SERVER=<server address> <application>

И наслаждаемся воспроизведением.

Стоит отметить, что это работает только для приложений, использующих PulseAudio для вывода звука. Для приложений ESound нужно также установить пакет pulseaudio-esound-compat (название пакета может отличаться в вашем дистрибутиве). Приложения OSS нужно запускать через padsp, например вот так:

$ PULSE_SERVER=192.168.2.3 padsp vlc

Хотелось бы еще как-то добавить удаленный звуковой сервер в настройки KDE 4, чтобы совсем без консоли... Но пока не знаю как это сделать.

Безопасный способ


Для тех, кто не хочет открывать PulseAudio для общего доступа по сети.

Делаем перенаправление порта с локального компа на удаленный через SSH:

$ ssh -L4000:localhost:4000 192.168.2.3

Делаем перенаправление сетевого сокета на юниксовый на сервере:

remote$ socat TCP-LISTEN:4000,fork UNIX-CONNECT:/tmp/pulse-$USER/native

Слушаем музон

$ PULSE_SERVER=localhost:4000 paplay my_music.wav

4 комментария:

  1. для случая «один компьютер с колонками» как-то само собой напрашивается использование mpd. с кучей клиентов на любой вкус.

    ОтветитьУдалить
  2. Да, логично. Но вот я, к примеру, пользуюсь Amarok. И хочется слушать музыку именно им. Есть ли смысл отказываться от него ради mpd? В чем выигрыш?

    ОтветитьУдалить
  3. Я где-то год назад экспериментировал, звук заикался. Разбираться не стал.

    Ещё есть вариант uPNP/DLNA. Не знаю, поддерживает ли его Amarok, но Rhythmbox, например, поддерживает.

    ОтветитьУдалить
  4. Народ подскажите пожалуйста. Есть сервак (назовем его S) на нем стоит debian и mpg123. я подключаюсь по SSH с удаленного компа. Как сделать так чтобы я с удаленного компа запускал музыку на серваке S и чтоб звук шел в колонки сервака S.

    ОтветитьУдалить