Como executo um fluxo de música HTTP sobre SSH?

28

Eu sei que posso fazer apenas mplayer <stream> para abrir e reproduzir um fluxo na máquina local. No entanto, estou atrás de um firewall.

Em vez disso, eu gostaria de abrir o fluxo em uma máquina remota , mas ainda reproduzi em esse . Conexões remotas são o que o SSH serve, mas fazendo com que ssh "mplayer <stream>" abra e reproduza o fluxo no controle remoto.

O sinalizador -x do SSH ativa o encaminhamento de exibição do X11. Eu preciso disso?

    
por Anko 12.11.2013 / 18:15

4 respostas

19

Você pode usar ssh ' -L flag para criar um túnel do seu sistema para um remoto:

ssh -L <localport>:<streamhost>:<streamport> <user>@<remote>

Você pode se conectar à sua extremidade do túnel com mplayer , do contrário:

mplayer localhost:<localport>
    
por 12.11.2013 / 18:19
34

Você pode usar wget over ssh para abrir uma conexão HTTP e enviar dados de fluxo e, em seguida, mplayer na máquina local para reproduzi-lo.

ssh <user>@<host> "wget <stream> -O -" | mplayer -cache 512 -

As sutilezas:

  • A opção wget -O (letra maiúscula oh) define seu arquivo de saída; - (traço) implica em stdout .

  • A opção mplayer % co> <%> faz com que uma quantidade configurável de entrada seja armazenada em buffer, compensando o jitter da rede. A opção -cache (traço) faz com que ela seja lida em - .

Tente transmitir Radio SceneSat por exemplo. stdin

    
por 12.11.2013 / 18:15
8

Você pode configurar um proxy SOCKS :

ssh -D localhost:8080 user@remotehost
mplayer http_proxy://localhost:8080/http://stream

Você pode usar qualquer outro aplicativo, como o navegador da Web, para usar esse proxy também.

    
por 12.11.2013 / 22:51
6

sshfs é uma ferramenta maravilhosa para casos como este. Ele esconde muitos firewalls e permite que você use qualquer player escolhido (embora o mplayer ainda seja uma ótima opção).

sudo apt-get install sshfs # your favorite packager here
sshfs [email protected]:/home/arthur/Music ~/Music

Eu também exibo Subsônico ouvindo a porta 4040 em localhost e, em seguida, ssh -tunnel em casa com

ssh -L 4040:localhost:4040 [email protected]

Eu posso abrir o Subsonic no navegador em http://localhost:4040 .

    
por 13.11.2013 / 02:33