我正在尝试通过 RTSP(使用 ffmpeg)在我的 pod 和相机之间建立连接。
我的容器在本地和服务器中运行时可以建立连接。
但是,在 Kubernetes 中,看起来能够访问和识别摄像头服务器,但它无法初始化流。尝试连接时,我在容器上执行了 tcpdump,收到以下信息:
10:55:37.065954 IP **CAMERA_SERVER_IP** > **POD_NAME**: ICMP **CAMERA_SERVER_IP** udp port 36337 unreachable, length 44
10:55:37.066003 IP **CAMERA_SERVER_IP** > **POD_NAME**: ICMP **CAMERA_SERVER_IP** udp port 36336 unreachable, length 48
**CAMERA_SERVER_IP** -> 是摄像机服务器 IP 地址**POD_NAME** -> 是我在 kubernetes 中的 pod 名称。
当我在本地尝试时,第一个 UDP 端口也失败了,但第二个可以建立连接和流。
我认为这与端口通信有关,但我对应该尝试或测试的内容有点迷茫。
谢谢!
更新*
其实我发现了一些奇怪的东西。
我再次尝试启动连接,并分析了来自 的日志。 tcpdump 和 网络统计-tulpn .
本地连接时,网络统计 确定了两个 UDP 连接的创建。和 tcpdump 显示 ffmpeg 试图从服务器 建立连接使用来自 netstat 的相同 UDP 端口
然而,在 Kubernetes 的一个 pod 中,端口在 上打开。网络统计 与 ffmpeg 尝试连接的端口不同 (使用 tcpdump 验证)。
我认为这是错误,因为 ffmpeg 在尝试访问未打开的端口时立即失败。
最佳答案
正如我在这里解释的那样,我实际上使用另一个 ffmpeg 服务器包装器进行了工作:https://github.com/kubernetes/kubernetes/issues/94561
如果有人有类似的问题,特别是 Intelbras DVR 或使用 DAHUA API 的人,这可能会很有趣。
关于kubernetes - Kubernetes Pod 无法建立 RTSP session ,UDP 端口不可达,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63753195/