Answers:
您可以使用ssh
的-L
标志来创建从系统到远程的隧道:
ssh -L <localport>:<streamhost>:<streamport> <user>@<remote>
然后,您可以使用以下方法连接到隧道的末端mplayer
:
mplayer localhost:<localport>
-http-header-fields
强制Host
标题。
man ssh
。
mplayer
选择。
您可以使用wget
over ssh
打开HTTP连接并输出流数据,然后mplayer
在本地计算机上进行播放。
ssh <user>@<host> "wget <stream> -O -" | mplayer -cache 512 -
细微之处:
wget
的-O
(大写字母哦)选项设置其输出文件;-
(破折号)表示stdout
。
mplayer
的-cache
选项导致可配置数量的输入被缓冲,以补偿网络抖动。该-
(DASH)选项,则读取stdin
。
例如,尝试流式传输SceneSat Radio。http://r1.scenesat.com:8000/scenesat
mplayer
,但不能由下载wget
。
您可以设置一个SOCKS代理:
ssh -D localhost:8080 user@remotehost
mplayer http_proxy://localhost:8080/http://stream
您也可以使用Tell任何其他应用程序(例如Web浏览器)来使用此代理。
tsocks
方法。
tsocks mplayer -playlist http://bassdrive.com/bassdrive.m3u
。感谢您的意见。如果没有tsock(也称为http_proxy://…
),则无法正常工作。
sshfs
对于这种情况,是一个很好的工具。它隐藏了许多防火墙,并允许您使用选择的任何播放器(尽管mplayer仍然是不错的选择)。
sudo apt-get install sshfs # your favorite packager here
sshfs me@mydomain.org:/home/arthur/Music ~/Music
我还运行Subsonic监听端口4040 localhost
,然后ssh
-tunnel与
ssh -L 4040:localhost:4040 me@mydomain.com
然后,我可以在浏览器中打开Subsonic http://localhost:4040
。
hosts
文件中,以使mplayer
目标域托管在本地计算机上。