ONVIF协议局域网之外该如何使用?

泥巴的爱 2018-09-17 02:08:33
在做ONVIF协议手机客户端开发,走通了web请求接口和rtsp视频播放。局域网内(雄迈)摄像机web服务地址为:http://192.168.31.19:8899/onvif/device_service,rtsp地址获取为rtsp://192.168.31.42:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream。接口可以成功调用,rtsp也可以成功解析并播放出视频。但手机总不可能一直在局域网内访问摄像机,必须和众多APP一样可以在任何连网的情况下观看已连网的摄像机。如果能得到摄像机外网的IP地址,估计也可以调用它的web服务和获取rtsp视频流,但NAT类型的限制不一定能得到内网ipc正确的IP地址和端口吧?或者就是通过服务器转发,可手机端接口都是写好的直接访问摄像机web服务地址的请求,若直接把地址改为服务器则没有提供被访问的摄像机信息,那重新写过每一个请求发给服务器,请求包含被请求的摄像机序列号和请求内容等,再通过服务器发送web请求给摄像机web服务地址,收到反馈再返回给手机客户端,这样估计可以实现,但太麻烦了,而且rtsp视频流该如何获取?手机客户端是直接用ffmpeg解析rtsp地址获取视频流的,如果通过服务器不知道是怎么搞。
...全文
1582 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
泥巴的爱 2018-09-18
  • 打赏
  • 举报
回复
设备别人的,支持ONVIF协议,现在想要接入这种设备,自己做服务器,局域网不走服务器,只要写移动端代码,调用一些固定的接口代码还不算难,但走外网肯定要通过服务器,而且转发的话移动端得重新写过请求,就不用调用onvif接口了,那就该服务器去调用了,代码设计都不同了。设备的rtsp流貌似还要推流到服务器,再给到移动端,这部分也不知道怎么操作。看到有一个EasyDarwin流媒体平台框架,不知道适不适合用。
rightorwrong 2018-09-18
  • 打赏
  • 举报
回复
找厂商看有没有转发服务器,按照厂商的协议来
要是直接访问摄像机,那就在路由做好端口映射,tcp访问设备就可以

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧