我對這個問題的普遍性抱有歉意。我嘗試了很多東西,但似乎沒有任何工作。 我有一臺服務器? (我們稱之爲服務器A),它駐留在一個也有一個IP-Webcam的局域網中。那個網絡攝像頭不斷地提供一個RTSP的地址...讓我們說... rtsp://192.168.1.50:554/cam.sdp
。攝像機無法訪問外部世界(它必須留在局域網中,因此只能訪問服務器A,否則服務器B),但服務器A呢。不幸的是,服務器A沒有公共IP,所以我無法從世界任何地方進入服務器A。 服務器A可以走出去,如果它想,但沒有一個能進入服務器A ...(這是一個被寵壞的小孩......太多的玩具,當它是一個孩子)轉發RTSP流到遠程套接字(RTSP代理?)
現在,有另一臺服務器( 服務器B,原創)在上述外部世界這是一個普通的網絡服務器,其公共IP和所有。該服務器允許人們進入它(不被寵壞,非常漂亮......設置桌子,做菜......那種東西)。這兩個服務器A和服務器B是我的電腦,並運行Ubuntu 12.04和我設計的一些Python應用程序(服務器B實際上運行Django,但我不認爲這太相關)。我的意思是,我可以控制兩臺服務器上正在發生的事情。我可以安裝/卸載軟件包,我可以打開端口,關閉端口......任何需要的東西(我甚至可以格式化它們,如果我想的話,雖然我認爲這不會有太大的幫助...或者是...誰知道?)
_____________ _____________
----------- | | | |
__ | | | | | |
| \| WebCam |================| Server A |===========| INTERNET |===========| Server B |
|__/| | ->/cam.sdp <--| |----------------- > --------------> * |
| | |___________| |___________|
-----------
的問題是:我怎麼能抓住與服務器的RTSP流A轉儲到服務器B的指定插座並打開它(用能理解RTSP飼料,這樣的程序作爲VLC)?
我猜我需要類似RTSP代理的東西,也許?但我真的不知道從哪裏開始。
任何提示,鏈接......將不勝感激。
預先感謝您
我不知道RTSP,但它似乎是一個標準的TCP-only協議。嘗試在服務器A上運行:'ssh -g -R 554:192.168.1.50:554 server_B_hostname'。這將打開服務器B上的公共端口554,並從A的角度將其轉發到192.168.1.50:554。 –
嗯...轉發在局域網內部工作,但我仍然有問題,當涉及到公共服務器...看起來很有希望,但是,謝謝... – BorrajaX
一些服務器已配置sshd拒絕'ssh -g -R'轉發(沒有很好的理由)。如果可以的話,你應該檢查服務器B上的'/ etc/ssh/sshd_config':值得注意的是,你希望'AllowTcpForwarding yes'。 –