首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将RTSP流转发到远程套接字(RTSP代理?)

将RTSP流转发到远程套接字(RTSP代理?)
EN

Stack Overflow用户
提问于 2012-12-07 00:50:34
回答 4查看 19K关注 0票数 10

我对这个问题的一般性表示歉意。我试过很多东西,但似乎什么都没有用。我有服务器?(让我们称它为服务器A),它驻留在一个局域网中,其中也有一个IP网络摄像头。那个摄像头一直在提供地址的RTSP提要.比方说..。rtsp://192.168.1.50:554/cam.sdp。照相机不能进入外部世界(它必须留在局域网中,因此只能访问服务器A,不能访问服务器B),但是服务器A可以访问。遗憾的是,服务器A没有公共IP,所以我无法从世界上任何地方访问服务器A。服务器A可以出去,但没有人能进入服务器A.(这是个被宠坏的孩子.(小时候玩具太多了)

现在,在前面提到的外部世界中还有另一个服务器(服务器B,原版),它是一个普通的web服务器,具有公共IP和所有的功能。那台服务器让人们接触到它(不是被宠坏的,非常好.摆好桌子洗碗..。这类东西)。服务器A和服务器B都是我的计算机,正在运行Ubuntu12.04和我设计的一些Python应用程序(Server实际上正在运行Django,但我不认为这太相关了)。我的意思是,我可以控制两台服务器上发生的事情。我可以安装/卸载软件包,我可以打开端口,关闭端口.任何需要的东西(如果我想的话,我甚至可以格式化它们,尽管我不认为这会有多大帮助.或者是..。谁知道?)

代码语言:javascript
复制
                               _____________                                    _____________
    -----------                |           |                                    |           |   
 __ |         |                |           |                                    |           |     
|  \| WebCam  |================| Server A  |===========|  INTERNET  |===========| Server B  |
|__/|         | ->/cam.sdp  <--|           |----------------- > --------------> *           | 
    |         |                |___________|                                    |___________|
    -----------

问题是:我如何抓取带有服务器A的RTSP流,将其转储到服务器B的指定套接字上,并打开它(使用能够理解RTSP提要的程序,如VLC)?

我想我需要RTSP代理之类的东西,也许?但我真的不知道从哪里开始。

任何暗示,链接..。我会很感激的。

提前谢谢你

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-12-22 00:52:39

我不知道RTSP,但它似乎是标准的TCP协议.尝试在服务器A上运行:

代码语言:javascript
复制
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并添加AllowTcpForwarding yes

票数 8
EN

Stack Overflow用户

发布于 2020-05-16 05:49:13

RTSP是一种控制协议,通常运行在554端口上,但视频流是使用SDP协商的端口,这意味着在握手时,RTP传输(UDP)的端口将被确定,而对于每一种传输,端口号会有所不同。因此,您可能需要转发一系列端口或将传输端口修正为固定值。

票数 2
EN

Stack Overflow用户

发布于 2022-01-12 01:04:51

检查

https://github.com/aler9/rtsp-simple-server

这将使您能够设置已损坏的brat服务器,以获取ipcam流并将其推送到服务器B。

您需要能够在服务器A上运行这个程序,最好也可以在serverB上运行,这样才能从serverA接收发布的流。你可以使用加密,tls等等..。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13755281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档