SSH üzerinden nasıl HTTP müzik akışı çalabilirim?


29

Ben sadece bunu biliyorum mplayer <stream>için açmak ve oynamak yerel makinede bir dere. Ancak, bir güvenlik duvarının arkasındayım.

Bunun yerine, akışı bir uzak makinede açmak istiyorum , ancak yine de bu konuda oynatmak istiyorum . Uzaktan bağlantılar SSH'nin içindir, ancak her ikisini de yapmak uzaktan kumandadaki akışı açar ve oynatır.ssh "mplayer <stream>"

SSH'nin -xbayrağı, X11 ekran iletimini etkinleştirir. Buna ihtiyacım var mı?

Yanıtlar:


19

Sisteminizden bir uzaktan kumandaya bir tünel oluşturmak için ssh's -Lbayrağını kullanabilirsiniz :

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

Ardından, tünelin ucuna, mplayeraksi halde olduğu gibi bağlanabilirsiniz :

mplayer localhost:<localport>

1
HTTP sunucusu sanal alanlar kullanıyorsa (veya başka bir deyişle, istemci tarafından bir HTTP başlığı olarak gönderilen uygun bir alan adı gerektiriyorsa) bunun işe yaramayacağını unutmayın. Bu sorunu çözmek için, örneğin , hedef etki alanının yerel makinede barındırıldığını düşünmesini hostssağlayacak bir dosyaya geçici olarak bir kural ekleyebilirsiniz mplayer.
liori

3
Veya -http-header-fieldsbir Hostbaşlık zorlamak için kullanabilirsiniz .
Ignacio Vazquez-Abrams,

@ IgnacioVazquez-Abrams nerede olduğunu açıklığa kavuşturur musun? Ben böyle bir seçenek istemiyorum man ssh.
William

@ LiamWilliam: Bu bir mplayerseçenek.
Ignacio Vazquez-Abrams,

34

Bir HTTP bağlantısı açmak için wgetüzerinden kullanabilirsiniz sshve akış verilerini, ardından mplayeroynatmak için yerel makineyi kullanın.

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

İnceliklerini:

  • wget's -O(büyük harf oh) seçeneği çıktı dosyasını ayarlar; -(çizgi) ima eder stdout.

  • mplayerbireyin -cacheseçenek, şebeke titreme telafi tamponlanmalıdır girdi yapılandırılabilir bir miktar olur. -(Çizgi) seçeneği okunan yapar stdin.

Örneğin SceneSat Radio akışını deneyin .http://r1.scenesat.com:8000/scenesat


6
Bunun ne tür bir müzik olduğunu bile bilmiyorum, ama pipo ettiğim için harika! Teşekkürler.
SaultDon

1
Sorunun, müziğin akıtıldığı herhangi bir protokolden bahsetmediğini unutmayın. Müziğin çalınabileceği başka protokoller de var, örneğin RTP ve MMS. Her ikisi de oynatılabilir mplayer, ancak indirilemez wget.
liori

@liori İyi nokta. Bu açıkça genel bir çözüm değil.
Anko

8

Bir SOCKS proxy kurabilirsiniz :

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

Bu proxy'yi kullanmak için web tarayıcınız gibi başka herhangi bir uygulamayı da kullanabilirsiniz.


2
Http_proxy özelliği aslında SOCKS proxy sunucularında da çalışıyor mu? Bu özellik man sayfamda belgelenmemiş ve web üzerindeki çeşitli siteler bu tsocksyaklaşımı tercih ediyor .
liori

1
@liori: Evet, bu birlikte çalışır tsocks mplayer -playlist http://bassdrive.com/bassdrive.m3u. Tavsiyelerin için sağol. Tsocks olmadan (sadece aka http_proxy://…) işe yaramadı.
erik

6

sshfsBu gibi durumlar için harika bir araçtır. Birçok güvenlik duvarını gizler ve seçtiğiniz oyuncuyu kullanmanıza izin verir (mplayer hala iyi bir seçim olsa da).

sudo apt-get install sshfs # your favorite packager here
sshfs me@mydomain.org:/home/arthur/Music ~/Music

Ben de koşmak Sesaltı üzerinde port 4040 için dinleme localhostve sonra ssh-tunnel ev ile

ssh -L 4040:localhost:4040 me@mydomain.com

Tarayıcıdaki Subsonic'i açabilirim http://localhost:4040.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.