¿Cómo transportar audio a través de SSH?

16

¿Hay alguna manera de transportar audio a través de ssh?

Digamos que después de conectarme a una máquina remota, ssh -Xabrí un navegador y quiero ver un video de YouTube. Actualmente solo podía ver el video sin audio. Pero también quiero escuchar el audio. ¿Como hacer eso?

souravc
fuente
3
Solo tengo curiosidad: ¿Cómo ves un canal de video ssh?
Radu Rădeanu
44
@ RaduRădeanu está enviando el Xserver;)
Braiam
Estaba diciendo sobre el video de YouTube. después de conectarme, solo abro un navegador y veo youtube allí. Funciona pero da varios mensajes de error sobre el audio de pulso. He intentado vlc para abrir archivos .mp4 y .avi. vlc deja de funcionar diciendo "Error de salida de audio: el dispositivo de audio" predeterminado "no se pudo utilizar: conexión rechazada".
souravc

Respuestas:

8

¿Cómo transportar audio a través de SSH?

Respuesta robada de grawity en SuperUsers :

La manera fácil: ejecutar paprefs, ir al Servidor de red y marcar Habilitar el acceso de red a dispositivos de sonido locales .

Necesitas instalarlo usando

sudo apt-get install paprefs

Siempre que utilice SSH con el reenvío X11 habilitado, los programas PulseAudio usan X11 para descubrir su servidor de sonido (use pax11publisho

xprop -root PULSE_SERVER

para ver por ti mismo). Simplemente dígale a PulseAudio que escuche las conexiones de red ( paprefscomo se describió anteriormente), y todos los programas X11 podrán usarlo.

(Otros usuarios no tendrán acceso a su servidor de sonido, a menos que usted lo permita paprefs. Los datos de autenticación se transfieren a la PULSE_COOKIEpropiedad X11 , o puede copiar ~/.pulse_cookie manualmente).

Sin embargo, tenga en cuenta que la transmisión PulseAudio no está encriptada de esta manera, por lo que está bien para su uso en el hogar, pero no a través de Internet.


La forma un poco más complicada: habilite el acceso a la red como se indicó anteriormente, pero haga un túnel PulseAudio a través del reenvío TCP SSH. Use pax11publishpara descubrir su puerto PulseAudio (generalmente 4713), conéctese con

ssh -R > 24713:localhost:4713`

entonces corre

export PULSE_SERVER="tcp:localhost:24713"

Esto será un poco más lento debido a la sobrecarga de SSH, pero es seguro de usar en Internet.

Braiam
fuente
De @Fusca Software: Solo un comentario a la última respuesta: Primero, redirigir un navegador con youtube difícilmente funcionará en una conexión de 1GBit, por lo que creo que no lo usaré en una conexión pública (Internet). Segundo, si miras un video de youtube (!!!), no creo que debas asegurar la transmisión de audio: D
debas George Mathioudakis