Discuz! Board

 找回密码
 
搜索
查看: 6120|回复: 7

onvif规范的实现:server端Discovery实现,通过OnvifTestTool12.06测试(源码)

[复制链接]

676

主题

2229

帖子

3万

积分

吼山居士

Rank: 9Rank: 9Rank: 9

积分
34932
QQ
发表于 2013-3-15 17:06:37 | 显示全部楼层 |阅读模式
网上关于ONVIF开发的文章并不多,也更找不到具体的实例来入 门学习。只能靠翻阅各种Specification摸索中前进,下面是最近几天的成果。调通了服务端(或者说设备端)的Discovery,使用 OnvifTestTool12.06能够搜到我的设备。

产生onvif.h头文件

wsdl2h -o onvif.h -c -s -t /root/onvif/gsoap-2.8/gsoap/typemap.dat ../wsdl/remotediscovery.wsdl

DiscoveryLookupBinding.nsmap和wsdd.nsmap内容是一样的,随便包含一个就可以

具体相关介绍可浏览网页:http://www.rosoo.net/a/201303/16545.html
作者:ghostyu



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?

x
拒收论坛短消息,有问题请直接在论坛提问。

所有我的答复与微博同步,欢迎收听我的腾讯微博, 新浪微博,第一时间得到问题答复。

Item 1: Don't abuse your power        条款一:不要滥用权利
Item 2: Share expert knowledge        条款二:分享你的知识
Item 3: Respect other people's privacy        条款三:尊重他人的隐私
Item 4: Make yourself look good online        条款四:给自己网上留个好印象
Item 5: Help keep flame wars under control        条款五:平心静气地争论
Item 6: Respect other people's time and bandwidth        条款六:尊重别人的时间和带宽
回复

使用道具 举报

676

主题

2229

帖子

3万

积分

吼山居士

Rank: 9Rank: 9Rank: 9

积分
34932
QQ
 楼主| 发表于 2013-3-17 21:19:34 | 显示全部楼层
cygwin + ndk r7c下编译报错:

Compile thumb  : easyipcam <= md5c.c
SharedLibrary  : libeasyipcam.so
Install        : libeasyipcam.so => libs/armeabi/libeasyipcam.so
Compile thumb  : easyonvif <= discoveryserver.c
Compile thumb  : easyonvif <= soapClient.c
Compile thumb  : easyonvif <= soapClientLib.c
Compile thumb  : easyonvif <= soapServer.c
Compile thumb  : easyonvif <= soapServerLib.c
Compile thumb  : easyonvif <= soapC.c
Compile thumb  : easyonvif <= stdsoap2.c
D:/cygwin/opt/workspace/android/EasyIPCam/jni/libonvif/stdsoap2.c: In function 'tcp_gethost':
D:/cygwin/opt/workspace/android/EasyIPCam/jni/libonvif/stdsoap2.c:3639: warning: passing argument 5 of 'gethostbyname_r'
from incompatible pointer type
D:/cygwin/opt/google/ndk-r7c/platforms/android-8/arch-arm/usr/include/netdb.h:206: note: expected 'struct hostent **' bu
t argument is of type 'int *'
D:/cygwin/opt/workspace/android/EasyIPCam/jni/libonvif/stdsoap2.c:3639: error: too few arguments to function 'gethostbyn
ame_r'
/opt/google/ndk-r7c/build/core/build-binary.mk:240: recipe for target `/opt/workspace/android/EasyIPCam/obj/local/armeab
i/objs/easyonvif/stdsoap2.o' failed
make: *** [/opt/workspace/android/EasyIPCam/obj/local/armeabi/objs/easyonvif/stdsoap2.o] Error 1

解决方法:

stdsoap2.h第517行:
  1.   //fixed by jacky
  2.   #ifdef _RG4_ANDROID
  3. //#   define HAVE_WCTOMB
  4. //#   define HAVE_MBTOWC
  5.   #else
  6. #   define HAVE_WCTOMB
  7. #   define HAVE_MBTOWC
  8.   #endif
复制代码
stdsoap2.c第3639行:
  1.   //fixed by jacky
  2.   #ifdef _RG4_ANDROID
  3.     host = gethostbyname_r(addr, &hostent, soap->buf, SOAP_BUFLEN, &host, &soap->errnum);
  4.   #else
  5.     host = gethostbyname_r(addr, &hostent, soap->buf, SOAP_BUFLEN, &soap->errnum);
  6.   #endif
复制代码
拒收论坛短消息,有问题请直接在论坛提问。

所有我的答复与微博同步,欢迎收听我的腾讯微博, 新浪微博,第一时间得到问题答复。

Item 1: Don't abuse your power        条款一:不要滥用权利
Item 2: Share expert knowledge        条款二:分享你的知识
Item 3: Respect other people's privacy        条款三:尊重他人的隐私
Item 4: Make yourself look good online        条款四:给自己网上留个好印象
Item 5: Help keep flame wars under control        条款五:平心静气地争论
Item 6: Respect other people's time and bandwidth        条款六:尊重别人的时间和带宽
回复 支持 反对

使用道具 举报

676

主题

2229

帖子

3万

积分

吼山居士

Rank: 9Rank: 9Rank: 9

积分
34932
QQ
 楼主| 发表于 2013-3-17 21:41:48 | 显示全部楼层
$ ndk-build
Install        : libeasyipcam.so => libs/armeabi/libeasyipcam.so
Compile thumb  : easyonvif <= discoveryserver.c
Compile thumb  : easyonvif <= stdsoap2.c
D:/cygwin/opt/workspace/android/EasyIPCam/jni/libonvif/stdsoap2.c: In function 'tcp_gethost':
D:/cygwin/opt/workspace/android/EasyIPCam/jni/libonvif/stdsoap2.c:3641: warning: assignment makes pointer from integer w
ithout a cast
Compile thumb  : easyonvif <= soapC.c
Compile thumb  : easyonvif <= soapServer.c
SharedLibrary  : libeasyonvif.so
Install        : libeasyonvif.so => libs/armeabi/libeasyonvif.so
Install        : libffmpeg.so => libs/armeabi/libffmpeg.so
拒收论坛短消息,有问题请直接在论坛提问。

所有我的答复与微博同步,欢迎收听我的腾讯微博, 新浪微博,第一时间得到问题答复。

Item 1: Don't abuse your power        条款一:不要滥用权利
Item 2: Share expert knowledge        条款二:分享你的知识
Item 3: Respect other people's privacy        条款三:尊重他人的隐私
Item 4: Make yourself look good online        条款四:给自己网上留个好印象
Item 5: Help keep flame wars under control        条款五:平心静气地争论
Item 6: Respect other people's time and bandwidth        条款六:尊重别人的时间和带宽
回复 支持 反对

使用道具 举报

njchuzhao 该用户已被删除
发表于 2013-3-19 01:43:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

panzuoyou8888 该用户已被删除
发表于 2013-3-19 09:54:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

676

主题

2229

帖子

3万

积分

吼山居士

Rank: 9Rank: 9Rank: 9

积分
34932
QQ
 楼主| 发表于 2013-3-19 16:45:38 | 显示全部楼层
密码请全局置顶的密码贴。http://bbs.rosoo.net/thread-41-1-1.html
拒收论坛短消息,有问题请直接在论坛提问。

所有我的答复与微博同步,欢迎收听我的腾讯微博, 新浪微博,第一时间得到问题答复。

Item 1: Don't abuse your power        条款一:不要滥用权利
Item 2: Share expert knowledge        条款二:分享你的知识
Item 3: Respect other people's privacy        条款三:尊重他人的隐私
Item 4: Make yourself look good online        条款四:给自己网上留个好印象
Item 5: Help keep flame wars under control        条款五:平心静气地争论
Item 6: Respect other people's time and bandwidth        条款六:尊重别人的时间和带宽
回复 支持 反对

使用道具 举报

0

主题

17

帖子

22

积分

Rank: 1

积分
22
发表于 2017-5-26 14:09:54 | 显示全部楼层
学习一下,谢谢分享!
回复 支持 反对

使用道具 举报

0

主题

17

帖子

22

积分

Rank: 1

积分
22
发表于 2017-5-26 14:10:07 | 显示全部楼层
学习一下,谢谢分享!
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver||С|Comsenz Inc.  

GMT+8, 2017-12-13 19:15 , Processed in 0.036215 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表