如果未在port-range属性上指定,则rtspsrc使用哪些客户端端口

问题描述 投票:2回答:1

我有来自网络的请求,rtspsrc使用RTSP客户端端口,我们没有在rtspsrc元素上设置port-range属性。

如果没有设置此属性,任何人都可以告诉我哪些端口使用了rtspsrc? (TCP / UDP)。默认情况下是否有最大值,或者它的整个范围是1 - 65535。

谢谢你们,Br Christoph

gstreamer gstreamer-1.0
1个回答
0
投票

我相信这只是特定于操作系统的动态端口范围。例如在Linux上,这将是:

cat /proc/sys/net/ipv4/ip_local_port_range
32768   60999

我不知道这是多么新鲜,但似乎总体上是正确的:

https://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html

现在,您的网络管理员可能不希望将每个高级端口(32768-> 60999)映射到您的一个服务。您可能想要做的是继续使用port-range属性(例如33050-> 33060)并将该范围传递给您的网络管理员。要求他们创建防火墙规则,将公共端口范围映射到您的计算机。对于您使用的每个流,您可能只需要几个端口。

或许有点可视化,请问您要求上述端口范围:

PUBLIC RTSP SERVER "sometestsrv.com"
554 //initial call to handshake for RTSP made here
50000 //RTP port for client 1 (somecompany.com:33050)
50001 //RTCP port for client 1 (somecompany.com:33051)
50100 //RTP port for client 2
50101 //RTCP port for client 2
...

PUBLIC IP FOR YOUR COMPANY "somecompany.com"
33050 //RTP port matching sometestsrv.com:50000
33051 //RTCP port matching sometestsrv.com:50001

YOUR SERVER "192.168.1.33" w/rtspsrc INSIDE "somecompany.com"
33050 //RTP port matching sometestsrv.com:50000
33051 //RTCP port matching sometestsrv.com:50001
© www.soinside.com 2019 - 2024. All rights reserved.