我知道我可以mplayer <stream>
做打开和玩本地机器上的流。但是,我位于防火墙后面。
相反,我想打开上的流远程机器,但仍然玩它在这个。远程连接是什么SSH是为了,但是ssh "mplayer <stream>"
两者都打开和在遥控器上播放流。
SSH 的-x
标志启用 X11 显示转发。我需要那个吗?
答案1
您可以使用wget
overssh
打开 HTTP 连接并输出流数据,然后mplayer
在本地机器上播放。
ssh <user>@<host> "wget <stream> -O -" | mplayer -cache 512 -
微妙之处:
wget
的-O
(大写字母哦)选项设置其输出文件;-
(破折号)意味着stdout
.mplayer
的-cache
选项会导致可配置的输入量被缓冲,从而补偿网络抖动。 (破折号)选项-
使其从 读取stdin
。
尝试串流场景卫星电台, 例如。http://r1.scenesat.com:8000/scenesat
答案2
您可以使用ssh
's-L
标志创建从您的系统到远程系统的隧道:
ssh -L <localport>:<streamhost>:<streamport> <user>@<remote>
mplayer
然后,您可以像其他方式一样连接到隧道的一端:
mplayer localhost:<localport>
答案3
您可以设置一个SOCKS代理:
ssh -D localhost:8080 user@remotehost
mplayer http_proxy://localhost:8080/http://stream
您可以告诉任何其他应用程序(例如您的网络浏览器)也使用此代理。
答案4
sshfs
对于此类情况来说,这是一个很棒的工具。它隐藏了许多防火墙,并允许您使用您选择的任何播放器(尽管 mplayer 仍然是一个不错的选择)。
sudo apt-get install sshfs # your favorite packager here
sshfs [email protected]:/home/arthur/Music ~/Music
我也跑亚音速侦听端口 4040 localhost
,然后ssh
使用 -tunnel home
ssh -L 4040:localhost:4040 [email protected]
然后我可以在浏览器中打开 Subsonic http://localhost:4040
。