Re: Streaming con pulseaudio Desktop -> Server
2009/4/26 mariodebian <mariodebian@gmail.com>:
> El sáb, 25-04-2009 a las 19:59 +0200, Marc Aymerich escribió:
>> Muy buenas listeros,
>> he estado buscando un buen manual que me de una idea para configurar
>> mi servidor debian(cliente pulseaudio) (sin X) para que sea cliente de
>> pulseaudio de mi Ordenador de Escritorio(servidor pulseaudio). El
>> servidor pulseaudio lo tengo correctamente configurado, el problema
>> está en que no tengo nidea de configurar desde consola un cliente
>> pulseaudio, ¿Alguien puede orientarme un poquito?
>>
>> saludos y gracias!
>> MArc.
>>
>>
>
>
> Como en el cliente no tienes X y por ende, la cookie de Xorg, tendrás
> que usar variables de entorno e IP's (menos seguro).
>
>
> En el servidor editas /etc/default/pulse.pa (o lo copias a tu home y lo
> editas allí) y añades esto:
>
> load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;XX.XX.XX.XX
>
> Las XX es la ip de tu cliente (el que reproduce musica).
>
>
> En el cliente (el que reproduce) exportas la variable:
>
> export PULSE_SERVER=ZZ.ZZ.ZZ.ZZ
>
> Siendo ZZ el equipo de tu escritorio
>
> Configuras alsa para que tire por encima de pulseaudio:
>
> ~/.asoundrc o /etc/asound.conf:
> pcm.!default {
> type pulse
> }
> ctl.!default {
> type pulse
> }
>
> Si el reproductor usa ALSA ya está, si usa otro sistema (libao o algo
> más raro) tendrás que investigar en el PerfectSetup:
>
> http://pulseaudio.org/wiki/PerfectSetup
>
Buenas Mario,
gracias por tu excelente aportación! La verdad esque estos dias he
estado haciendo pruevas e intentando reproducir algo en el cliente
pero no ha habiado exito, me siento un poco inútil :(
cuando pongo: load-module module-native-protocol-tcp
auth-ip-acl=127.0.0.1;XX.XX.XX.XX en el servidor el demonio de
pulseaudio no me arranca:
Apr 27 22:20:52 e4200 pulseaudio[3796]: module-rtp-send.c: Source does
not exist.
Apr 27 22:20:52 e4200 pulseaudio[3796]: module.c: Failed to load
module "module-rtp-send" (argument: "source=@DEFAULT_MONITOR@
loop=0"): initialization failed.
Apr 27 22:20:52 e4200 pulseaudio[3796]: module-gconf.c: pa_module_load() failed
Apr 27 22:20:52 e4200 pulseaudio[3796]: socket-server.c: bind():
Address already in use
Apr 27 22:20:52 e4200 pulseaudio[3796]: socket-server.c: bind():
Address already in use
Apr 27 22:20:52 e4200 pulseaudio[3796]: module.c: Failed to load
module "module-native-protocol-tcp" (argument:
"auth-ip-acl=127.0.0.1;10.0.0.10"): initialization failed.
Apr 27 22:20:52 e4200 pulseaudio[3796]: main.c: Module load failed.
Apr 27 22:20:52 e4200 pulseaudio[3796]: main.c: Failed to initialize daemon.
Apr 27 22:20:52 e4200 pulseaudio[3793]: main.c: Daemon startup failed.
Cabe decir que en el fichero de configuració me avisa de que si uso
paprefs lo deje comentado
### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp
En el servidor he usado paprefs para configurar pulseaudio, así que lo
he dejado comentado pero lo he configurado a través de paprefs para
que no se requiera autentificación.
Los logs no dicen nada :( Por poner algo aquí os dejo el strace del
pulseaudio del cliente..
gettimeofday({1240882201, 341189}, NULL) = 0
poll([{fd=3, events=POLLIN}, {fd=14, events=POLLIN}, {fd=20,
events=POLLIN}, {fd=24, events=POLLIN}, {fd=23, events=POLLIN},
{fd=22, events=POLLIN}, {fd=19, events=POLLIN}, {fd=13,
events=POLLIN}, {fd=9, events=POLLIN|POLLERR|POLLHUP}, {fd=9,
events=0}, {fd=6, events=POLLIN}], 11, 0) = 0 (Timeout)
gettimeofday({1240882201, 342084}, NULL) = 0
time(NULL) = 1240882201
gettimeofday({1240882201, 342882}, NULL) = 0
gettimeofday({1240882201, 343166}, NULL) = 0
poll([{fd=3, events=POLLIN}, {fd=14, events=POLLIN}, {fd=20,
events=POLLIN}, {fd=24, events=POLLIN}, {fd=23, events=POLLIN},
{fd=22, events=POLLIN}, {fd=19, events=POLLIN}, {fd=13,
events=POLLIN}, {fd=9, events=POLLIN|POLLERR|POLLHUP}, {fd=9,
events=0}, {fd=6, events=POLLIN}], 11, 1823 <unfinished ...>
El servidor pulseaudio está escuchando:
Proto Recv-Q Send-Q Local Address Foreign Address
State PID/Program name
tcp 0 0 0.0.0.0:37312 0.0.0.0:*
LISTEN 2338/rpc.statd
tcp 0 0 0.0.0.0:16001 0.0.0.0:*
LISTEN 3533/pulseaudio
tcp 0 0 0.0.0.0:4713 0.0.0.0:*
LISTEN 3533/pulseaudio
Pero el cliente no está usando ningun socket tcp. y su configuracion es:
en /etc/pulse/client.conf
default-server = 10.0.0.101
en /etc/pulse/daemon.conf
daemonize = 1
high-priority = 1
log-target = stderr
resample-method = trivial
no-cpu-limit = 1
system-instance = 1
disable-shm = 1
default-sample-channels = 2
y en /etc/pulse/default.pa no he tocado nada, lo he dejado como viene
en debian lenny.
en /etc/asound.conf del cliente he puesto lo que mario ha comentado y
también he hecho el export PULSE_SERVER=ZZ.ZZ.ZZ.ZZ
Decir también que pulseaudio no genera nada de trafico tcp entre las
dos máquinas.
¿Que puedo hacer chicos?
Saludos y gracias!
MArc.
Reply to: