Если вы используете Pulse-Audio в качестве звукового сервера, вы можете использовать module-native-protocol-tcp
для приема TCP-соединения с вашего удаленного компьютера.
В следующем примере я использую туннель ssh для пересылки аудио запроса с удаленного компьютера на локальный.
На локальной машине сделайте что-то вроде:
pactl load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
ssh -R 9999:127.0.0.1:4713 you@remotehost
Затем на удаленной машине вы можете использовать paplay
paplay -s 127.0.0.1:9999 soundfile.wav
ДОБАВЛЕНО Я обнаружил, чтоauth-ip-acl
не принимаетlocalhost
в качестве допустимого параметра, вы должны использовать127.0.0.1
(или все, что ваша машина использует адрес localhost).
РЕДАКТИРОВАТЬ Должно бытьssh -R
, нетssh -L
(мы пересылаем удаленный порт на локальный порт).
Если у вас старая версия pulse-audio (до 0.9.3), вы можете использовать авторизацию на основе файлов cookie.
pactl load-module module-native-protocol-tcp auth-anonymous=1 auth-cookie-enabled=0
scp ~/.pulse-cookie you@remotehost:
ssh -R 9999:localhost:4713 you@remotehost
Очевидно, что вы можете просто не использовать аутентификацию в Pulse-Audio, но я не могу рекомендовать вам это решение. Используйте, по крайней мере, брандмауэр, чтобы избежать удаленных подключений.
pactl load-module module-native-protocol-tcp auth-ip-acl=localhost
. Я пропускаю зависимость или что-то?pulseaudio --check ; echo $?
проверить, работает ли сервер pulseaudio. Он должен печатать,0
если работает./usr/lib64/pulse-1.1/modules/module-native-protocol-tcp.so
. На каком дистрибутиве вы работаете?0
нормально .. пульт находится на Ubuntu 11.10, а мой локальный на 11.04. Я попытался ссылаться на модуль непосредственно на моем местном,pactl load-module /usr/lib/pulse-0.9.22/modules/module-native-protocol-tcp.so auth-ip-acl=localhost
и я получаюFailure: Invalid argument
. Есть идеи? (кстати, спасибо за помощь)auth-ip-acl
поддерживается с версии 0.9.3. См freedesktop.org/wiki/Software/PulseAudio/Documentation/User/...