![无法远程查看 IP 摄像机的 RTSP 流](https://linux22.com/image/1440199/%E6%97%A0%E6%B3%95%E8%BF%9C%E7%A8%8B%E6%9F%A5%E7%9C%8B%20IP%20%E6%91%84%E5%83%8F%E6%9C%BA%E7%9A%84%20RTSP%20%E6%B5%81.png)
我最近完成了区域提醒器在远程位置安装监控系统。专用服务器运行 Ubuntu 14.04 LTS,目前连接到 4 个 IP 摄像头(海康威视DS-2CD2032-I) 位于同一子网。路由器是摩托罗拉冲浪板 SBG6580-G228。
现在,我正尝试设置 Raspberry Pi 以从远程位置的摄像头传输视频。我的目标是使用 Zoneminder 记录事件,并使用 Raspberry Pi 作为主摄像头的查看器。这就是我遇到麻烦的地方。我可以远程连接到 Zoneminder 和摄像头的基于 Web 的管理页面,但出于某种原因,我无法查看摄像头的 RTSP 流。
我打开了端口 554 并将其转发到我想要连接的摄像头。当我在 VLC 中输入 RTSP 地址而没有登录凭据时,系统会提示我输入这些凭据,因此我知道它在某种程度上正在连接。但是,一旦我输入凭据,我就不会收到任何错误,但也不会看到视频。我知道摄像头正在工作,因为我可以登录 Zoneminder 并看到它。
有人知道我可能会错过什么吗?
答案1
刚刚遇到了完全相同的问题 - 我尝试通过 VLC 播放器访问 DVR RTSP 流,没有视频,但也没有错误。事实证明,在 VLC 偏好设置中,您必须将 Live555 流传输从默认 HTTP 切换到 RTP over RTSP(TCP)。
VLC > 工具 > 首选项 > 输入和编解码器 > 网络 > 切换到 RTP over RTSP
答案2
我还没有找到我的问题的答案(至少没有我喜欢的答案),但我找到了解决方法。
根据 heavyd 的回复,我谷歌搜索了 RTSP 流,以进一步了解它们的工作原理。据我所知,他是对的,视频通过 UDP 返回,但不是通过可预测的端口。这解释了为什么客户端可以在同一本地网络上接收 RTSP 视频流,但不能远程接收。控制通道(端口 554)连接,但返回的视频数据包被路由器丢弃。
我看到的一个建议是打开所有端口来接收流。我想这应该可行,但在我看来,这是一个糟糕的解决方案。
我的解决方法是安装 OpenVPN,使用 Zoneminder 盒子作为 VPN 服务器,Raspberry Pi 作为 VPN 客户端。设置完成后,VPN 隧道建立,它们基本上又在同一个网络上,从而消除了我的端口问题。
答案3
正如阿塔尼斯所说:
VLC > 工具 > 首选项 > 输入和编解码器 > 网络 > 切换到 RTP over RTSP
这对我很有用,经过这么多天的搜索,我终于找到了解决办法!
以下是我为 UnionCam (Q2Pro) 所做的工作:
- 下载 iSpyConnect (开源) (http://www.ispyconnect.com/default.aspx)
- 添加新的“带向导的 IP 摄像头”
- 如果成功,您将看到 RTSP 链接;类似于:rtsp://admin:[电子邮件保护]:554/用户=管理员密码=WEJwpbo6_channel=1_stream=0.sdp
设置端口转发(我遵循以下步骤:http://help.angelcam.com/general-guides-and-info/connecting-a-camera-to-angelcam/how-to-setup-port-forwarding-for-multiple-cameras)
最后使用具有上述设置的 VLC。
答案4
我在使用带有 Zoneminder 的中国 IP 摄像头时也遇到了类似的问题。我通过使用 Xeoma 应用程序找到正确的流媒体地址解决了这个问题。有时我的发现可能对你有用。详细信息在此链接中这里