2023年8月2日发(作者:)
Linux下onvi⽀持h264、h265环境的的搭建:gsoap的安装及⽣产.c.h⽂件 1. 下载gsoap :,既Open Source gSOAP版本,并解压进⼊⽬录安装,configure后⾯的选项可以根据⾃⼰的需求添加,--prefix后⾯填写的gsoa安装所在的路径,我安装的是当前的路径,如果prefix出现安装错误,则需要把路径改成绝对路径。 ./configure --enable-ipv6 --enable-debug --prefix=./makemake install
2. gsoap虽然安装完成,但是你还要检查你的linux下是否也安装了以下内容,没有的话要安装⼀下,gsoap才能正常使⽤:.Bison或Yacc 安装:""Flex的安装:"" OpenSSL 的安装:""可选的Zlib⽀持:""3.. 把gsoap-2.8/gsoap/也拷贝到⼀个新建⼯作⽬录下,并修改该⽂件的内容,在命名空间已经存在的trt下,新增⽀持h265的代码⾏ tr2 = ,tr2 可以⾃⼰随便命名,以后关于h265接⼝的都会以tr2名字出现。4.⽣成onvif.h: 在线⽣成:(/onvif/ver10/device/wsdl/ /onvif/ver10/events/wsdl/tp:///onvif/ver10/ /onvif/ver10/tp:///onvif/ver20/imaging/wsdl/ /onvif/ver10/media/wsdl/tp:///onvif/ver20/ptz/wsdl/ /onvif/ver10/ /onvif/ver10/tp:///onvif/ver10/ /onvif/ver10/network/wsdl/tp:///onvif/ver10/ /onvif/ver20/analytics/wsdl/tp:///onvif/ver10/ /onvif/ver10/schema/p:///ver10/ /ver10/pacs/ /ver10/pacs/tp:///ver10/advancedsecurity/wsdl/ /ver10/accessrules/wsdl/tp:///ver10/credential/wsdl/ /ver10/schedule/wsdl/)可以根据项⽬功能结合所需要的wsdl⽹址来⽣成onvif.h,可以减⼩编译时间和减少整体框架⼤⼩: /onvif/ver10/network/wsdl/:⽤于发现设备/onvif/ver10/device/wsdl/ :⽤于获取设备参数/onvif/ver10/media/wsdl/ :⽤于获取视频流地址 /ver20/media/wsdl/:⽤于获取h265视频流地址 /onvif/ver20/ptz/wsdl/:⽤于设备的PTZ控制
wsdl2h -o onvif.h -c -s -t p:///onvif/ver10/network/wsdl/ /onvif/ver10/device/wsdl/ /onvif/ver10/me 离线⽣成:离线⽣成的好处是可以⽣成gsoap框架后,根据所需要的功能去裁剪 *.wsdl及 来减⼩整体框架的⼤⼩。⾸先结合项⽬功能下载相关的wsdl⽂件:,右击 *.wsdl,链接另存为即可保存成本地⽂件,也可以去上⾯在线⽣成wsdl⽹址右击查看源代码,另存为即可保存成wsdl⽂件。同时也要下载相关的 *.xsd⽂件。wsdl2h -o onvif.h -c -s -t -I gsoap-2.8/gsoap -I gsoap-2.8/gsoap/import/
( 是⽀持h265获取视频流地址:/ver20/media/wsdl/)5. 加⼊鉴权功能在onvif.h的第100⾏加上 #import "wsse.h"-2.8gsoapimport路径下的wsa5.h中的SOAP_ENV__Fault结构体注释掉或改为其他名字,如SOAP_ENV__Fault_alex。7.⽣成 *.c⽂件、*.h和命名空间*.nsmap:将gsoap-2.8/gsoap/import/⽬录拷贝到当前⼯作⽬录soapcpp2 -c -x -I gsoap-2.8/gsoap -I ./import onvif.h-C :仅⽣成客户端代码-S:仅⽣成服务器端代码-L:不要产⽣soapClientLib.c和soapServerLib.c⽂件- c: 产⽣纯C代码,否则是C++代码-I:指定import路径-x:不要产⽣XML⽰例⽂件8. 将gsoap-2.8gsoap⽬录下的两个⽂件:stdsoap2.c、stdsoap2.h拷贝到你⼯作⽬录下9. 注释stdsoap2.c如下代码:不注释的话会在编译运⾏的时候产⽣log⽇志,最后会发现磁盘已满的现象。/*#ifdef SOAP_DEBUG#ifdef TANDEM_NONSTOPsoap_set_test_logfile(soap, "TESTLOG");soap_set_sent_logfile(soap, "SENTLOG");soap_set_recv_logfile(soap, "RECVLOG");#elsesoap_set_test_logfile(soap, "");soap_set_sent_logfile(soap, "");soap_set_recv_logfile(soap, "");#endif#endif*/和修改if (/*s == r || *r || */n < -128 || n > 127)10. 接下来可以⽤⽣成好的框架来完成搜索设备、获取h265的rtsp地址及其其他相应的功能。
2023年8月2日发(作者:)
Linux下onvi⽀持h264、h265环境的的搭建:gsoap的安装及⽣产.c.h⽂件 1. 下载gsoap :,既Open Source gSOAP版本,并解压进⼊⽬录安装,configure后⾯的选项可以根据⾃⼰的需求添加,--prefix后⾯填写的gsoa安装所在的路径,我安装的是当前的路径,如果prefix出现安装错误,则需要把路径改成绝对路径。 ./configure --enable-ipv6 --enable-debug --prefix=./makemake install
2. gsoap虽然安装完成,但是你还要检查你的linux下是否也安装了以下内容,没有的话要安装⼀下,gsoap才能正常使⽤:.Bison或Yacc 安装:""Flex的安装:"" OpenSSL 的安装:""可选的Zlib⽀持:""3.. 把gsoap-2.8/gsoap/也拷贝到⼀个新建⼯作⽬录下,并修改该⽂件的内容,在命名空间已经存在的trt下,新增⽀持h265的代码⾏ tr2 = ,tr2 可以⾃⼰随便命名,以后关于h265接⼝的都会以tr2名字出现。4.⽣成onvif.h: 在线⽣成:(/onvif/ver10/device/wsdl/ /onvif/ver10/events/wsdl/tp:///onvif/ver10/ /onvif/ver10/tp:///onvif/ver20/imaging/wsdl/ /onvif/ver10/media/wsdl/tp:///onvif/ver20/ptz/wsdl/ /onvif/ver10/ /onvif/ver10/tp:///onvif/ver10/ /onvif/ver10/network/wsdl/tp:///onvif/ver10/ /onvif/ver20/analytics/wsdl/tp:///onvif/ver10/ /onvif/ver10/schema/p:///ver10/ /ver10/pacs/ /ver10/pacs/tp:///ver10/advancedsecurity/wsdl/ /ver10/accessrules/wsdl/tp:///ver10/credential/wsdl/ /ver10/schedule/wsdl/)可以根据项⽬功能结合所需要的wsdl⽹址来⽣成onvif.h,可以减⼩编译时间和减少整体框架⼤⼩: /onvif/ver10/network/wsdl/:⽤于发现设备/onvif/ver10/device/wsdl/ :⽤于获取设备参数/onvif/ver10/media/wsdl/ :⽤于获取视频流地址 /ver20/media/wsdl/:⽤于获取h265视频流地址 /onvif/ver20/ptz/wsdl/:⽤于设备的PTZ控制
wsdl2h -o onvif.h -c -s -t p:///onvif/ver10/network/wsdl/ /onvif/ver10/device/wsdl/ /onvif/ver10/me 离线⽣成:离线⽣成的好处是可以⽣成gsoap框架后,根据所需要的功能去裁剪 *.wsdl及 来减⼩整体框架的⼤⼩。⾸先结合项⽬功能下载相关的wsdl⽂件:,右击 *.wsdl,链接另存为即可保存成本地⽂件,也可以去上⾯在线⽣成wsdl⽹址右击查看源代码,另存为即可保存成wsdl⽂件。同时也要下载相关的 *.xsd⽂件。wsdl2h -o onvif.h -c -s -t -I gsoap-2.8/gsoap -I gsoap-2.8/gsoap/import/
( 是⽀持h265获取视频流地址:/ver20/media/wsdl/)5. 加⼊鉴权功能在onvif.h的第100⾏加上 #import "wsse.h"-2.8gsoapimport路径下的wsa5.h中的SOAP_ENV__Fault结构体注释掉或改为其他名字,如SOAP_ENV__Fault_alex。7.⽣成 *.c⽂件、*.h和命名空间*.nsmap:将gsoap-2.8/gsoap/import/⽬录拷贝到当前⼯作⽬录soapcpp2 -c -x -I gsoap-2.8/gsoap -I ./import onvif.h-C :仅⽣成客户端代码-S:仅⽣成服务器端代码-L:不要产⽣soapClientLib.c和soapServerLib.c⽂件- c: 产⽣纯C代码,否则是C++代码-I:指定import路径-x:不要产⽣XML⽰例⽂件8. 将gsoap-2.8gsoap⽬录下的两个⽂件:stdsoap2.c、stdsoap2.h拷贝到你⼯作⽬录下9. 注释stdsoap2.c如下代码:不注释的话会在编译运⾏的时候产⽣log⽇志,最后会发现磁盘已满的现象。/*#ifdef SOAP_DEBUG#ifdef TANDEM_NONSTOPsoap_set_test_logfile(soap, "TESTLOG");soap_set_sent_logfile(soap, "SENTLOG");soap_set_recv_logfile(soap, "RECVLOG");#elsesoap_set_test_logfile(soap, "");soap_set_sent_logfile(soap, "");soap_set_recv_logfile(soap, "");#endif#endif*/和修改if (/*s == r || *r || */n < -128 || n > 127)10. 接下来可以⽤⽣成好的框架来完成搜索设备、获取h265的rtsp地址及其其他相应的功能。
发布评论