onvif协议笔记

2023-12-19

一、简介

ONVIF官网
ONVIF协议网络摄像机(IPC)客户端程序开发(1):专栏开篇
onvif协议开发

二、gSOAP

gsoap官网

1、下载和编译

下载地址

#! /bin/sh
# 指定源码目录(解压源码)
GSOAP_SRC=gsoap-2.8
PWD=`pwd`
echo "build gsoap..."
cd $GSOAP_SRC
# 配置,指定安装目录
./configure --prefix=${PWD}/gsoap_x86
make -j8 && make install
cd -

2、生成,编译和测试

#! /bin/sh
# 指定使用工具目录,(编译出来的)
BIN_DIR=gsoap_x86/bin
PWD=`pwd`
# 指定生成代码目录
OUT_DIR=MobileCode
echo "auto code create"
echo ${PWD}
cd ${OUT_DIR}
# 生成头文件
${PWD}/../${BIN_DIR}/wsdl2h -o $1 -c -s -t typemap.dat $2
# 生成c文件
${PWD}/../${BIN_DIR}/soapcpp2 -2 -C -c -x -Iimport -Icustom $1
cd -
echo "OK"

最终会生成,以下文件
在这里插入图片描述
注意:stdsoap2.h 和 stdoap2.c 是从源码拷贝过来的。。。

测试是参考, ONVIF协议网络摄像机(IPC)客户端程序开发(4):使用gSOAP生成Web Services框架代码 ,感谢!!!!

#include <stdio.h>
#include "MobileCodeWSSoap.nsmap"
#include "soapH.h"

int main(int argc, char const *argv[])
{
    const char  *endpoint = "http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx";

    struct soap *soap = NULL;
    struct _ns1__getMobileCodeInfo          req;
    struct _ns1__getMobileCodeInfoResponse  resp;

    soap = soap_new(); 
    soap_set_mode(soap, SOAP_C_UTFSTRING);

    memset(&req, 0x00, sizeof(req));
    req.mobileCode = argv[1];
    req.userID     = NULL;

    if(SOAP_OK == soap_call___ns1__getMobileCodeInfo(soap, endpoint, NULL, &req, &resp)) {
        if (NULL != resp.getMobileCodeInfoResult) {
            printf("%s\n", resp.getMobileCodeInfoResult);
        }
    }

    soap_destroy(soap);                                                         // delete deserialized objects
    soap_end(soap);

    soap_free(soap);
    return 0;
}

问题1:
在这里插入图片描述
问题原因:
stdsoap2.c 使用了 namespaces 全局变量,而头文件可以看到,定义的是一个数组,并且有外部声明。
在这里插入图片描述
在这里插入图片描述

可以看到,,生成的文件 MobileCodeWSSoap.nsmap 中有定义 namespaces,,将其引入到,,,程序中就可以了。。。,如下如,,,引入之后编译通过。。
在这里插入图片描述
在这里插入图片描述

三、重要方法封装

期待。。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

onvif协议笔记 的相关文章

  • 音视频开发基础概述 - PCM、YUV、H264、常用软件介绍

    前言 相对而言 音视频开发算是有些门槛的 记得我第一次接触的时候 看别人的博客都看不懂 特别是写代码的时候 非常痛苦 只能抄别人的代码 却不知道为什么要这么写 也不知道应该怎么调整 后来总结了一下 痛苦的原因是在写代码之前没有掌握相关的基础
  • 1 FFmpeg从入门到精通-FFmpeg简介

    1 FFmpeg从入门到精通 FFmpeg简介 2 FFmpeg从入门到精通 FFmpeg工具使用基础 3 FFmpeg从入门到精通 FFmpeg转封装 4 FFmpeg从入门到精通 FFmpeg转码 5 FFmpeg从入门到精通 FFmp
  • 【NodeJs】使用ffmpeg将视频webm转换为mp4

    使用Chrome浏览器录制视频文件是webm格式 但是很多媒体播放器是不支持的 不利于分享 需要转换为mp4格式才行 接下来给大家讲 ffmpeg ffmpeg是什么呢 一个免费开源的视频转换工具 一款音视频编解码工具 一组音视频编解码开发
  • (ffmpeg)ffmpeg+SDL的简单播放器(雷霄骅)更新版

    代码源自雷神 一个是播放音频的demo 可以播放MP3和AAC 但是MP3应该是没有封面的 另一个是播放ts格式的视频 没有声音 源码可以到雷神博客下载 但是因为ffmpeg库的更新问题 并不能直接在ubuntu下直接运行 笔者做了修改 在
  • 面试复习题--音视频

    1 音频处理 oboe openSL es AAudio 2 视频处理 ffmpeg 3 图片处理 GPUImage OpenCV fastCV 4 图形基础 skia Vulkan
  • 6 FFmpeg从入门到精通-FFmpeg滤镜使用

    1 FFmpeg从入门到精通 FFmpeg简介 2 FFmpeg从入门到精通 FFmpeg工具使用基础 3 FFmpeg从入门到精通 FFmpeg转封装 4 FFmpeg从入门到精通 FFmpeg转码 5 FFmpeg从入门到精通 FFmp
  • PR/AE 超级变速插件Twixtor Pro 7.5.4汉化版WIN版中文使用教程

    插件介绍 Twixtor Pro汉化版 hereitis cn articleDetails 897 可以直观的调整动画祯速率 加快或减慢 调整帧顺序 为了实现 的图像品质 Twixtor通过对原始连续的帧进行变形和插入来合成它独有的新帧
  • 视频转码后有色差要如何处理

    目录 视频转码后有色差要如何处理 KEY COLOR STANDARD KEY COLOR RANGE 视频转码后有色差要如何处理 以下是回答 欢迎大家留言讨论补充 1 色差是如何产生的 1 有损压缩产生的质量损失 解决方法为尽可能的提高码
  • 软考:中级软件设计师:多媒体基础,音频,图像,颜色,多媒体技术的种类,图像音频视频的容量计算,常见的多媒体标准

    软考 中级软件设计师 多媒体基础 提示 系列被面试官问的问题 我自己当时不会 所以下来自己复盘一下 认真学习和总结 以应对未来更多的可能性 关于互联网大厂的笔试面试 都是需要细心准备的 1 自己的科研经历 科研内容 学习的相关领域知识 要熟
  • 清空v4l2 usbcamera缓存

    做过usbcamera的同学们应该都知道 usbcamera有一个缓存队列 当应用上面调用startPreview的时候 就会层层的调到usbcamera 的ioctl mFd VIDIOC DQBUF tmp buf 用于从队列里出去一个
  • OpenWRT 添加 WEB 配置界面实战记录

    本篇是记录在 Openwrt 镜像中添加 自定义的 web 配置界面过程 编译进 openwrt 的系统镜像中 第一步 建立项目文件目录 mkdir p feeds luci applications luci app Gateway mk
  • 基于FFmpeg和Screen Capturer Recorder实现屏幕和声音的录制

    当我们看到一些精彩的视频画面 但无法下载时 可以通过录屏的方式将视频和音频录制下来 这个时候我们需要安装采集视频和音频的工具screen capture recorder 以下是在windows10环境下 基于FFmpeg和Screen C
  • 【ffmpeg基础】ffmpeg音频编码

    一 aac编码 输入raw音频编码为AAC ffmpeg i input wav acodec aac y input aac 通过 acodec来指定音频编码器 视频编码器为 vcodec 也可以使用 c a来指定音频编码器 ffmpeg
  • 海思编码:1、mpp系统详谈以及VI、VPSS、VENC之间的关系

    在HiMPP手册中都会有这么一张图 先讲一下视频缓存池这个概念 视频缓存池主要向媒体业务提供大块物理内存管理功能 负责内存的分配和回收 这部分具体什么作用 首先视频输入回需要大量的内存 打比方1080P的视频输入 VI部分怎么保存或者使用呢
  • STM32之音频数据的Flash读取与DAC播放

    文章目录 一 STM32103之内部Flash原理 1 Flash介绍 2 Flash的组成 3 STM32内部框架图 二 SD卡的读写 1 实验过程 2 查看hello txt 3 从SD卡里读出数据 三 Flash地址空间的数据读取 1
  • 浅谈音视频开发入门基础及进阶资源分享

    导言 音视频开发涉及的知识面比较广 知识点又相对独立琐碎 入门门槛相对较高 想要对音视频开发具有深入全面的了解 需要在行业深耕多年 本文将简单介绍音视频的采集 编解码 传输 渲染四个技术点并对涉及到的知识点和原理进行解释 希望你可以对音视频
  • 软件测试/人工智能丨计算机视觉场景中,如何处理视频/图片数据并进行测试

    在计算机视觉中 处理视频和图片数据并进行测试是一个关键的任务 以下是一些常见的步骤和方法 处理图片数据 数据加载 使用图像处理库 例如OpenCV PIL 加载图像数据 将图像转换为模型所需的格式 通常是矩阵 预处理 标准化图像 将图像像素
  • 音频转换mp3格式软件哪个好?下面推荐几款好用的软件给你

    你是否曾经遇到过这样的情况 下载了大量音频文件 却因为文件格式受到限制 而无法直接在设备上播放 不用担心 今天我将向大家介绍几款能把音频转换mp3的软件 它们可以帮助我们有效地解决音频格式不兼容的问题 一 专业的音频处理软件 优点1 简单易
  • 网络对讲终端 网络音频终端 网络广播终端SV-7011V使用说明

    高速路sip广播对讲求助 隧道sip对讲调度SIP 7011 网络广播终端SV 7011 壁挂式对讲终端网络监听终端SIP广播终端 sip语音对讲终端SIP 7011 SV 7011网络对讲终端网络对讲 网络厂播 监听 SV 7101网络解
  • 软件测试|使用Python轻松裁剪视频

    简介 裁剪视频是在视频编辑和处理中常见的任务之一 Python提供了多种库和工具 可以用来裁剪视频 在本文中 我们将详细讨论如何使用Python来裁剪视频 并提供示例代码 步骤1 环境准备 首先 我们要安装必要的Python库 我们将使用

随机推荐

  • 软件测试/测试开发/人工智能丨机器学习中特征的含义,什么是离散特征,什么是连续特征。

    在机器学习中 特征 Feature 是输入数据中的属性或变量 用于描述样本或数据点 特征对于机器学习模型而言是输入的一部分 模型通过学习样本的特征与其对应的标签 或输出 之间的关系来做出预测或分类 特征可以分为不同类型 其中两个主要的类型是
  • 招聘时内推的意义是什么?

    内推现在已经成为 非常普遍的求职方式 之一 我在校招时就经常从 内推鸭 小程序上找内推码 内推的意义对于企业和求职者各不相同 具体来讲 对于企业 内推一般有以下作用 拓展招聘渠道 某些名企大厂通过内推获取的简历甚至能占到1 3 降低招聘成本
  • 要想用好linux,先把shell 搞明白

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客文章浏览阅读1 9k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动
  • 杂散光好书分享《FRED操作手册上、下》

    目 录 第一章 FRED概述 1 1 1 WHAT IS FRED 1 1 2 FRED与传统软件之间有什么不同 1 1 3 FRED名词术语 2 1 4 FRED用户界面 7 第二章 光源 16 2 1 简易光源 16 2 1 1 简易光
  • 计算机SSM毕设选题 在线就医咨询管理系统(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2 1 界面展示 3 设计方案 3 1 概述 3 2 系统流程 3 2 1 登录流程 3
  • ​LeetCode解法汇总746. 使用最小花费爬楼梯

    目录链接 力扣编程题 解法汇总 分享 记录 CSDN博客 GitHub同步刷题项目 https github com September26 java algorithms 原题链接 力扣 LeetCode 官网 全球极客挚爱的技术成长平台
  • 面试遇到了接口分析和测试用例分析题,该如何下手?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 9k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • signdrv.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个signdrv
  • 软件测试/测试开发/人工智能丨模型是通过什么原理帮助业务解决问题

    人工智能 AI 模型通过机器学习和深度学习等原理来帮助业务解决问题 以下是一些主要的原理和技术 它们构成了人工智能模型的基础 1 机器学习 机器学习是一种让计算机系统通过学习从数据中发现模式和规律的方法 主要分为监督学习 无监督学习和强化学
  • optisystem案例解析》好书分享

    目 录 安装OptiSystem 简介 快速入门 案例1 发射机 外调制激光 案例2 子系统 分层模拟 案例3 光学系统 WDM设计 案例4 参数扫描 BERx输入功率 案例5 双向模拟 使用多次迭代 案例6 时间驱动模拟 单独采样 案例7
  • 计算机SSM毕设选题 协同过滤算法的电影推荐系统

    开发语言 Java Java开发工具 JDK1 8 后端框架 SSM 前端 Vue 数据库 MySQL5 7和Navicat管理工具结合 服务器 Tomcat8 5 开发软件 IDEA Eclipse 是否Maven项目 是 目录 一 项目
  • Selenium+Jave—Window文件窗口+比对文件

    新生一学期敲70万行代码 华为上海青浦 途虎一面凉经 途虎养车前端一面面经 途虎一面凉经 前端 途虎养车二面 途虎校招前端一面面经 中石油昆仑数智产品经理岗 中石油昆仑数智 数据分析工程师 华为上海青浦 上海银行背调 回暖分析 战绩结算 o
  • Uniapp上传下载文件-不限制文件类型-附详细代码解析

    Uniapp上传下载文件 不限制文件类型 1 知识小课堂 1 1 Uniapp简介 1 2 文件上传 1 3 文件下载 2 Uniapp上传文件 3 Uniapp 下载文件 1 知识小课堂 1 1 Uniapp简介 UniAp
  • 黑马程序员《PHP基础案例教程》第2版课后练习—第04章

    第4章课后练习 答案均参考教材官方发布的PPT 以下是下载PPT的页面 人民邮电出版社教育社区 PHP基础案例教程 第2版 图书 人邮教育社区 一 填空题 1 数组分为索引数组和 关联数组 2 使用短数组方式定义数组的语法是 数组元素使用
  • CSDN:黑马程序员《PHP基础案例教程》第2版课后练习—第05章

    第5章课后练习 答案均参考教材官方发布的PPT 以下是下载PPT的页面 人民邮电出版社教育社区 PHP基础案例教程 第2版 图书 人邮教育社区 一 填空题 1 在运行PHP文件时 如果PHP语句遗漏了分号 属于 语法 错误 2 在PHP程序
  • 低代码企业级PMO项目管理系统,360度全景透视企业管理视角

    在一个崇高的目标支持下 不停地工作 即使慢 也一定会获得成功 爱因斯坦 前情概要 企业级PMO项目管理业务是行业里相对成熟和规范的业务 拥有众多商业套件和标准产品 然而随着企业数字化建设进入深水区 站在甲方角度进行项目管理的业务视角 精细化
  • 得帆信息创始人-张桐,受邀出席 BV百度风投AIGC主题论坛

    近日 得帆信息创始人兼CEO张桐 作为百度风投被投代表企业创始人受邀出席 向未来 共成长 BV百度风投AIGC主题论坛 与包括上海市徐汇区相关部门领导 百度集团相关事业部负责人及代表 以及来自国寿资本 中网投 麦顿投资的投资人 BV百度风投
  • Typora+Picgo(正常) 却上传图片失败问题解决思路和办法

    报错信息 在typora中粘贴图片时报错 显示上传图片失败 有点奇怪 而我确定我的picgo正常且通过了测试 那我们就去看日志 跟踪排查问题在哪里 我的picgo日志文件路径在 D user username Application Dat
  • Vue中英文翻译小结

    背景 时局艰难 后端开发被强制写了vue 这不有个需求是中英文翻译 特此记录下 该怎么个翻译法子 先引入全局的路由国际化文件 zh js 和 en js 1 关于插值表达Button里面 t reinsop common back 2 关于
  • onvif协议笔记

    一 简介 ONVIF官网 ONVIF协议网络摄像机 IPC 客户端程序开发 1 专栏开篇 onvif协议开发 二 gSOAP gsoap官网 1 下载和编译 下载地址 bin sh 指定源码目录 解压源码 GSOAP SRC gsoap 2