将RTSP流转发到远程套接字(RTSP代理?)
作者:互联网
我对这个问题的普遍性表示歉意.我尝试了很多事情,但似乎没有任何效果.
我有服务器吗? (称为服务器A)位于局域网中,该局域网中也有IP网络摄像头.该摄像头不断在该地址上提供RTSP提要…比方说… rtsp://192.168.1.50:554 / cam.sdp.摄像机无法访问外部环境(它必须位于LAN中,因此只能访问服务器A,而不能访问服务器B),但是服务器A可以.可悲的是,服务器A没有公共IP,因此我无法从世界任何地方访问服务器A.服务器A可以根据需要退出,但是没有人可以进入服务器A …(这是被宠坏了的孩子……小时候玩具太多了)
现在,在上述外部环境中还有另一台服务器(服务器B,是原始服务器),是一台具有公共IP和所有IP的常规Web服务器.该服务器允许人们进入它(不被宠坏,非常好…摆好桌子,洗碗……这种东西).服务器A和服务器B都是我的计算机,并且运行Ubuntu 12.04和我设计的一些Python应用程序(服务器B实际上正在运行Django,但我认为这不太相关).我的意思是,我可以控制两台服务器上发生的事情.我可以安装/卸载软件包,我可以打开端口,关闭端口……任何需要的东西(如果我愿意,我甚至可以格式化它们,尽管我认为这不会有太大帮助……或者是…) ?)
_____________ _____________
----------- | | | |
__ | | | | | |
| \| WebCam |================| Server A |===========| INTERNET |===========| Server B |
|__/| | ->/cam.sdp <--| |----------------- > --------------> * |
| | |___________| |___________|
-----------
问题是:如何使用服务器A捕获RTSP流,并将其转储到服务器B的指定套接字上并打开它(使用能够理解RTSP提要的程序,例如VLC)?
我猜我需要像RTSP代理这样的东西吗?但是我真的不知道从哪里开始.
任何提示,链接…将不胜感激.
先感谢您
解决方法:
我不知道RTSP,但它似乎是标准的纯TCP协议.尝试在服务器A上运行:
ssh -g -R 554:192.168.1.50:554 server_B_hostname
这将打开服务器B上的公共端口554,并从A的角度将其转发到192.168.1.50:554.
某些服务器已将sshd配置为拒绝ssh -g -R转发(没有充分的理由).如果可以,则应检查服务器B上的/ etc / ssh / sshd_config并添加yesTallTcpForwarding.
标签:proxy,webserver,webcam,python 来源: https://codeday.me/bug/20191031/1976551.html