【发布时间】:2012-10-14 00:48:50
【问题描述】:
我正在开发一个使用 VLC 媒体播放器插件通过 RTSP 流式传输视频/音频的项目。我想提供一个选项来扫描网络以查找 RTSP 摄像机。我确信这将包括查询所有网络设备的列表,以及测试端口 554。所有这些我都可以处理。但是,一旦我走到这一步,我如何通过端口 554 测试设备以确保它是有效的 RTSP 摄像头?
我假设Winsock 中应该有一些东西能够做到这一点,但是我应该如何测试套接字连接并确保它是我可以连接的有效 RTSP 流?无论使用哪种方法,我都不必尝试通过 RTSP 连接到每个使用任何类型的身份验证,我正在寻找一种较低级别的方法来确定端口 554 是否实际上提供了 RTSP 流。
【问题讨论】:
-
这是 TCP PORT 554 还是 UDP PORT 554?除了连接到套接字之外,我看不出你还能做任何事情。这就像说,“有没有比实际打电话询问他们更底层的方法来检查某人是否在家”。没有。 WInSock 只是移植到 Windows 的 BSD 套接字层。它对 RTSP 一无所知。
-
听起来相机是通过软件层 (VLC) 访问的,在 (Windows) 计算机上运行。摄像机计算机是否也可以运行基于 UDP 的 IP 多播服务,宣布这台计算机上有一台摄像机——在广播消息中包括它自己的 IP 地址? IP 多播可以使用 Indy UDP 组件完成,我已经完成了 client part (full source)。
-
疯狂猜测。发送
OPTIONS * RTSP/1.0看看会发生什么。该请求不会改变状态。你读过 RFC 了吗? -
@WarrenP 实际上这更像是在说“有没有更底层的方法来检查某人的电话号码是手机还是家庭电话或传真?”
-
@DavidHeffernan 刚刚尝试过,没有得到任何回报。
标签: delphi winapi winsock rtsp tcp-ip