无法远程查看 IP 摄像机的 RTSP 流

ks7*_*s78 6 vlc-media-player port-forwarding zoneminder rtsp ip-camera

我最近在远程位置完成了Zoneminder监控系统的安装。专用服务器运行 Ubuntu 14.04 LTS,当前连接到同一子网上的4 个 IP 摄像机(海康威视 DS-2CD2032-I)。路由器是摩托罗拉冲浪板 SBG6580-G228

现在,我正在尝试设置 Raspberry Pi 以从远程位置的相机流式传输视频。我的目标是使用 Zoneminder 记录事件并使用 Raspberry Pi 作为主摄像头的查看器。这是我遇到麻烦的地方。我可以远程连接到 Zoneminder 和摄像机的基于 Web 的管理页面,但由于某种原因我无法查看摄像机的 RTSP 流。

我打开了端口 554 并转发到我想要连接的相机。当我在没有登录凭据的情况下在 VLC 中输入 RTSP 地址时,系统会提示我输入这些地址,因此我知道它在某种程度上正在连接。但是,一旦我输入凭据,我就不会收到错误消息,也不会收到视频。我知道相机正在工作,因为我可以登录 Zoneminder 并查看它。

有谁知道我可能会错过什么?

小智 5

刚刚遇到了完全相同的问题 - 我试图通过 VLC 播放器访问 DVR RTSP 流并且没有视频但也没有错误。事实证明,在 VLC 首选项中,您必须将 Live555 流传输从默认 HTTP 切换到 RTP over RTSP (TCP)。

VLC > 工具 > 首选项 > 输入和编解码器 > 网络 > 通过 RTSP 切换到 RTP


ks7*_*s78 3

我还没有找到我的问题的答案(至少没有找到我喜欢的答案),但我找到了解决方法。

根据 Heavyd 的回复,我在 Google 上搜索了 RTSP 流,以了解有关其工作原理的更多信息。据我所知,他是正确的,视频通过 UDP 返回,但不是通过可预测的端口返回。这就解释了为什么客户端可以在同一本地网络上接收 RTSP 视频流,但不能在远程接收。控制通道(端口 554)已连接,但返回的视频数据包被路由器丢弃。

我看到的一项建议是打开所有端口来接收流。我想这会起作用,但在我看来,这是一个糟糕的解决方案。

我的解决方法是安装 OpenVPN,使用 Zoneminder 盒子作为 VPN 服务器,使用 Raspberry Pi 作为 VPN 客户端。设置完成并建立 VPN 隧道后,它们基本上又位于同一网络上,从而消除了我的端口问题。