¿Cómo reenvío el sonido de una computadora a otra a través del Lan?

11

Tengo dos computadoras La computadora A ejecuta Ubuntu 11.10 con Gnome Clasic. La computadora B ejecuta Mythbuntu 11.10. La computadora B tiene un dulce sistema de sonido de audio digital.

Quiero reproducir música de Banshee en la computadora A, pero la salida de sonido se envía a través de la LAN y sale en los altavoces de la computadora B.

Encontré esta pregunta que indicaba que debería usar algo llamado "paprefs" para lograr esto. Entonces, instalé paprefs y luego en el cuadro de diálogo "Servidor de red", seleccioné esta configuración:

paprefs

Y luego ... no tengo idea de lo que se supone que debe pasar. Revisé la página de inicio de paprefs, y todo lo que dicen en Documentación es "No hay mucho que decir. Simplemente ejecute paprefs y compruébelo usted mismo".

No veo que ocurra nada ni de ninguna manera se supone que debo hacer la conexión de la computadora A a la computadora B.

¿Cómo se supone que esto funcione? ¿Alguien puede proporcionar instrucciones claras sobre lo que uno hace para realmente hacer la conexión?

Idealmente, la esperanza es que pueda tener una configuración que me permita reproducir siempre ciertas aplicaciones, como Banshee, a través de la LAN utilizando el sistema de sonido de la computadora B. En otras palabras, una vez configurado, es el valor predeterminado y no tiene que volver a conectarse manualmente cada vez.

Preguntador
fuente

Respuestas:

9

El método menos complicado para enviar audio de un servidor Pulse Audio a otro a través de LAN es utilizar la función RTP / Multicast que puede configurar usando paprefsInstalar paprefs .

En el remitente:

captura de pantalla de paprefs que muestra "habilitar multicast / rtp sender" marcado y "enviar audio desde altavoces locales" seleccionado

Elija su tarjeta de sonido local o elija un dispositivo separado que pueda seleccionar como salida de audio desde Preferencias de audio .

En el receptor:

captura de pantalla de paprefs que muestra "habilitar receptor multicast / rtp" marcado

Al hacerlo, el audio se enviará desde el remitente al receptor a través de su LAN.

Takkat
fuente
Gracias por esto. Hice esta configuración como usted describió, pero si juego Banshee en el Remitente, no lo escucho en el Receptor. Tampoco veo ningún dispositivo de sonido de red en pavucontrol ni ninguna configuración de sonido de gnome. ¿No hay otros pasos que deba tomar?
Interlocutor
Lo tengo ordenado. Tuve que: 1. Reiniciar ambas máquinas. 2. En la máquina Remitente, vaya a la configuración de sonido y, en la pestaña "Salida", seleccione el dispositivo de sonido de red.
Interlocutor
Acabo de hacer esto. Obtuve un retraso enorme e hizo que la PC del servidor fuera realmente lenta ... posiblemente algo que estoy haciendo mal, pero como solo involucra marcar dos casillas de verificación, realmente no sé qué podría salir mal.
Greg
@Greg: dependiendo de su red y del contenido de audio (¡bitrate!), Este método de transmisión puede ser bastante exigente. En caso de que tenga problemas, intente restablecer pulseaudio con pulseaudio -kesto ocasionalmente ayuda.
Takkat
Pulseaudio tiene una prioridad "muy alta". Tal vez esa sea la razón del servidor lento ...
Rodrigo
2

El siguiente ejemplo muestra cómo crear un túnel TCP pulseaudio para reenviar el sonido de una computadora alphaa otra beta. En mi caso, ambas computadoras ejecutan Ubuntu 14.04.

En alpha(la computadora fuente) agregue las siguientes líneas a /etc/pulse/default.pa:

.fail
load-module  module-tunnel-sink  sink_name=beta  server=tcp:IP_ADDRESS_OF_BETA:4713
.nofail

(Elija cualquier valor único para sink_name. Elegí arbitrariamente usar el valor beta).

En beta(la computadora de destino) agregue la siguiente línea a /etc/pulse/default.pa:

load-module  module-native-protocol-tcp  auth-ip-acl=127.0.0.1;LAN_NAME

En lo anterior, LAN_NAMEy IP_ADDRESS_OF_BETAserá específico para sus computadoras y su LAN. Por ejemplo, podrían ser:

LAN_NAME            =  192.168.1.0/24
IP_ADDRESS_OF_BETA  =  192.168.1.10

Después de realizar los cambios anteriores, reinicie pulseaudio, primero encendido betay luego encendido alpha. El orden importa. Reinicio pulseaudio con pulseaudio --kill. Corro pulseaudio --killcomo mi pesonal UID(no como root), ya que pulseaudio ya se está ejecutando como mi personal UID.

Si todo funcionó correctamente, ahora debería ver el túnel en la Output Devicespestaña de pavucontrolencendido alpha. Cuando se reproduce una fuente de audio, debe poder enrutar la fuente al túnel en la Playbackpestaña de pavucontrolencendido alpha.

Mientras el túnel esté intacto, también debería poder ver el túnel en la Playbackpestaña de pavucontrolencendido beta. Si el túnel desaparece, reinicie pulseaudio, primero encendido beta, luego encendido alpha. El túnel solo se crea cuando pulseaudiocomienza alpha.

Nota 1: Este ejemplo asume que pulseaudio se está ejecutando en ambos alphay beta. A partir de 2016, pulseaudio se ejecuta por defecto en Ubuntu, y lo ha hecho durante años.

Nota 2: este ejemplo no utiliza la red de configuración cero de Avahi. Avahi puede estar habilitado de manera predeterminada en Ubuntu, pero he deshabilitado Avahi en mis sistemas. En mi LAN, beta(la computadora de destino) siempre tiene la misma dirección IP, y sé esa dirección.

Nota 3: lo anterior auth-ip-aclotorga acceso a cualquier dispositivo en la LAN. Pulseaudio también admite otros métodos de autenticación (más seguros). Yo uso auth-ip-aclpara simplificar la configuración.

Se puede encontrar más información en las siguientes páginas:

/raspberrypi/8621/how-to-set-up-a-pulseaudio-sink https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Network/# index2h2 https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#index14h3

mpb
fuente