Jeśli używasz puls-audio jako serwera dźwięku, możesz użyć module-native-protocol-tcp
do zaakceptowania połączenia tcp ze zdalnego urządzenia.
W poniższym przykładzie używam tunelu ssh, aby przekazać żądanie audio ze zdalnego komputera do lokalnego.
Na komputerze lokalnym zrób coś takiego:
pactl load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
ssh -R 9999:127.0.0.1:4713 you@remotehost
następnie na zdalnym komputerze możesz użyć paplay
paplay -s 127.0.0.1:9999 soundfile.wav
DODANO Odkryłem, żeauth-ip-acl
nie akceptujelocalhost
jako prawidłowego parametru, musisz go użyć127.0.0.1
(lub cokolwiek innego twój komputer używa adresu localhost).
EDIT Powinno byćssh -R
, niessh -L
(przekierowujemy port zdalny do portu lokalnego).
Jeśli masz starą wersję impulsu audio (wcześniejszą niż 0.9.3), możesz użyć autoryzacji opartej na plikach 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
Oczywiście po prostu nie można używać uwierzytelniania w trybie puls-audio, ale nie mogę polecić tego rozwiązania. Użyj przynajmniej zapory ogniowej, aby uniknąć połączeń zdalnych.
pactl load-module module-native-protocol-tcp auth-ip-acl=localhost
. Czy brakuje mi zależności lub czegoś takiego?pulseaudio --check ; echo $?
sprawdzić, czy serwer pulseaudio jest uruchomiony. Powinien zostać wydrukowany,0
jeśli jest uruchomiony./usr/lib64/pulse-1.1/modules/module-native-protocol-tcp.so
. Na jakiej dystrybucji pracujesz?0
poprawnie echa .. zdalny jest na Ubuntu 11.10, a mój lokalny na 11.04. próbowałem odwołać się do modułu bezpośrednio na mojej lokalnejpactl load-module /usr/lib/pulse-0.9.22/modules/module-native-protocol-tcp.so auth-ip-acl=localhost
i dostajęFailure: Invalid argument
. Dowolny pomysł? (dzięki za pomoc)auth-ip-acl
jest obsługiwany od wersji 0.9.3. Zobacz freedesktop.org/wiki/Software/PulseAudio/Documentation/User/…