【问题标题】:get URL of the IP camera (Wireless Camera) connected to my WiFi Hotspot on Android获取在 Android 上连接到我的 WiFi 热点的 IP 摄像头(无线摄像头)的 URL
【发布时间】:2017-09-14 20:50:00
【问题描述】:

我在我的 Android 设备上将无线摄像头连接到我的 WiFi 热点。我已经从 /proc/net/arp 获得了摄像头的 IP。我还可以运行已知 rtsp URL 的视频,以测试相机。但是最终用户可以通过他们的热点连接到任何摄像机。所以,我需要在运行时知道 rtsp URL。对于 android 端口上的 RTSP,RTSP 始终为 554。我拥有对设备的 su 访问权限,并且也准备好使用 SOAP。

此外,应用在 Android 7.0 及更高版本上运行。

非常感谢任何帮助。

【问题讨论】:

    标签: java android soap rtsp onvif


    【解决方案1】:

    您必须执行的步骤如下:

    1. 发现设备(如果你不知道设备服务的IP地址和XAddr)
    2. 通过在设备服务上调用 GetServices 或 GetCapabilities 来获取媒体服务的 XAddr。可能是一样的,但是有些摄像头没有针对所有服务的唯一 XAddr
    3. 在媒体服务上调用 GetProfiles
    4. 在传递所需配置文件的媒体服务上调用 GetStreamingUri。
    5. 从您在上一步中获得的 URI 请求流式传输。

    其他信息

    • 在 Android 上,您可能想要使用 ksoap2-android
    • GetProfiles 返回配置文件列表,如您所见here。您没有从 GetProfilesResponse 获取流式处理 URI,您必须在要获取 RTSP 播放地址的配置文件上调用 GetStreamURI。
    • 通常XAddr 指的是服务,URI 指的是流或快照的地址
    • 知道IP地址可以节省你猜测相机在http://<ip_address>/onvif/device_service上的设备服务的时间,这是最常见的入口点,但我发现有些设备没有跟随它(不同的端口,只运行https,ooo)

    我不熟悉你们的相机,但我更信任松下相机而不是中国相机。如您所见here,松下的相机有一个公开的 ONVIF Profile S DoC 。不要相信任何没有在 ONVIF 网站上列出的有效 DoC 的东西。

    【讨论】:

    • 感谢您的回复。我可以在 Windows 上做到这一点。但问题出在Android上。不完全支持从 SOAP 开始。我正在使用 Device Discovery 获取 xAddrs,但是当 getProfiles 时,响应似乎不一致,例如,当我尝试使用松下 BL-VP104W 时,xAddrs 中没有提到端口号,并且使用配置文件检索端口,给出了端口 80(这是android中的默认端口,但rtsp应该是554吗?)但是rtsp URL是空字符串;在使用中国相机(不确定型号)时,我能够检索 RTSP。对如何使其在 Android 上始终如一地工作感到困惑。
    • 另外,忘了提一下,我在 Android 上通过/proc/net/arp 获得了 IP 和 Mac 地址,能否以某种方式更快地获取 URL?
    猜你喜欢
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多