以下为上份工作 在android机顶盒内发现局域网内支持Onvif协议的摄像头地址。也是网络找的demo 修改后实现。
在此备份以备不时之需。
ONVIF协议的本质就是通过发送xml格式的文件 包含soap 以及指定的标签以实现进行某种操作的目的。
第一步是发现设备,通过发送搜索广播包到局域网的广播地址,等待支持onvif协议的设备回复报文。需要从报文中提取uuid和onvif设备的主地址。
CameraFinder.Java 实现了上述第一步功能。
发送的xml数据为该文件中DISCOVERY_PROBE_TDS字符串。因为eclipse中””为String开始结束符 查看xml格式的数据时,需把\” 中的转义字符\去掉

下边代码为上述发送广播和接收回复的代码实现。

第二步,第一步获取到的uuid后续区分多个设备使用,android提供的UUID类不能直接转化 代码中把uuid定义为Str

本文档介绍了如何在Android应用中利用Onvif协议发现并获取支持该协议的摄像头流播放地址。首先,通过发送XML搜索广播包来发现设备,并提取uuid和设备主地址。然后,通过HttpSoap类与摄像头交互,依次请求获取摄像头功能列表、媒体源、RTSP配置信息和播放URI。整个过程涉及HTTP POST请求和XML数据解析,最终得到RTSP播放地址。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



