Como transportar áudio por SSH?

15

Existe uma maneira de transmitir áudio através de ssh?

Digamos, depois de conectar-me à máquina remota, ssh -Xabri um navegador e quero assistir a um vídeo do youtube. Atualmente, eu só conseguia assistir ao vídeo sem áudio. Mas também quero ouvir o áudio. Como fazer isso?

souravc
fonte
3
Só estou curioso: como você assiste a um vídeo ssh?
Radu Rădeanu 5/11
4
@ RaduRădeanu ele está encaminhando o Xserver;)
Braiam
Eu estava falando sobre o vídeo do youtube. depois de conectar, basta abrir um navegador e assistir ao youtube lá. Ele funciona, mas fornece várias mensagens de erro sobre o áudio de pulso. Eu tentei vlc para abrir arquivos .mp4 e .avi. O vlc para de funcionar dizendo "Falha na saída de áudio: o dispositivo de áudio" padrão "não pôde ser usado: Conexão recusada."
souravc

Respostas:

8

Como transportar áudio por SSH?

Resposta roubada de grawity em superusuários :

A maneira mais fácil: execute paprefs, vá para o servidor de rede e marque a opção Ativar acesso à rede para dispositivos de som locais .

Você precisa instalá-lo usando

sudo apt-get install paprefs

Sempre que você SSH com o encaminhamento X11 ativado, os programas PulseAudio usam o X11 para descobrir seu servidor de som (use pax11publishou

xprop -root PULSE_SERVER

para ver por si mesmo). Basta dizer ao PulseAudio para escutar as conexões de rede ( paprefscomo descrito acima), e todos os programas X11 poderão usá-lo.

(Outros usuários não terão acesso ao seu servidor de som, a menos que você o permita paprefs. Os dados de autenticação são transportados na PULSE_COOKIEpropriedade X11 ou você pode copiar ~/.pulse_cookiemanualmente.)

Observe, no entanto, que o fluxo do PulseAudio não é criptografado dessa maneira, portanto, pode ser usado em casa, mas não pela Internet.


A maneira um pouco mais complicada: habilite o acesso à rede, conforme descrito acima, mas encapsule o PulseAudio sobre o encaminhamento TCP SSH. Use pax11publishpara descobrir sua porta PulseAudio (geralmente 4713), conecte-se a

ssh -R > 24713:localhost:4713`

então corra

export PULSE_SERVER="tcp:localhost:24713"

Isso será um pouco mais lento devido à sobrecarga do SSH, mas é seguro para uso pela Internet.

Braiam
fonte
Do @Fusca Software: Apenas um comentário até a última resposta: Primeiro, o redirecionamento de um navegador com o youtube dificilmente funcionará em uma conexão de 1 GBit, por isso acho que não o utilizarei em uma conexão pública (Internet). Segundo, se você assiste a um vídeo do youtube (!!!), acho que não deve proteger o fluxo de áudio: D
George Mathioudakis 17/17