Je sais que je peux juste faire mplayer <stream>
pour ouvrir et jouer un stream sur la machine locale. Cependant, je suis derrière un pare-feu.
Au lieu de cela, je voudrais ouvrir le stream sur une machine distante , mais toujours jouer sur celui-ci . Les connections distantes sont ce à quoi sert SSH , mais faire ssh "mplayer <stream>"
ouvre et lit le stream sur la télécommand.
L'indicateur -x
de SSH active le transfert d'affichage X11. Ai-je besoin de ça?
Vous pouvez utiliser l'indicateur -L
ssh
pour créer un tunnel depuis votre système vers une télécommand:
ssh -L <localport>:<streamhost>:<streamport> <user>@<remote>
Vous pouvez ensuite vous connecter à votre extrémité du tunnel avec mplayer
comme vous le feriez autrement:
mplayer localhost:<localport>
Vous pouvez utiliser wget
sur ssh
pour ouvrir une connection HTTP et émettre des données de stream, puis mplayer
sur la machine locale pour le lire.
ssh <user>@<host> "wget <stream> -O -" | mplayer -cache 512 -
Les subtilités:
wget
option -O
(majuscule oh) de wget
définit son file de sortie; -
(tiret) implique stdout
.
L'option -cache
mplayer
provoque la mise en tampon d'une quantité configurable d'input, compensant la gigue réseau. L'option -
(tiret) le fait lire depuis stdin
.
Essayez le streaming de SceneSat Radio , par exemple. http://r1.scenesat.com:8000/scenesat
Vous pouvez configurer un proxy SOCKS :
ssh -D localhost:8080 user@remotehost mplayer http_proxy://localhost:8080/http://stream
Vous pouvez utiliser toute autre application, telle que votre browser Web, pour utiliser ce proxy.
sshfs
est un outil merveilleux pour des cas comme celui-ci. Il cache beaucoup de pare-feu et vous permet d'utiliser n'importe quel lecteur que vous choisissez (même si mplayer est toujours un bon choix).
sudo apt-get install sshfs # your favorite packager here sshfs [email protected]:/home/arthur/Music ~/Music
Je lance aussi Subsonic en train d'écouter le port 4040 sur localhost
, puis ssh
-tunnel home avec
ssh -L 4040:localhost:4040 [email protected]
Je peux ensuite ouvrir Subsonic dans le browser à http://localhost:4040
.