java 通过onvif抓取海康摄像头图片

2023-05-16

java 通过onvif抓取海康摄像头图片

文章目录

  • java 通过onvif抓取海康摄像头图片
  • 前言
  • 一、把onvif.jar放到自己的maven仓库
  • 二、pom文件引入jar包
  • 三、测试代码
  • 四、运行中的变量
  • 五、参考链接地址


前言

网上也有类似的案例,不过案例中使用jar包都已经过时,下面是个人一步步验证并测试完成。

下载onvif.jar地址:
链接:https://pan.baidu.com/s/1Gizbnt8k0yWSvjfhdCU3yA?pwd=27mg
提取码:27mg


一、把onvif.jar放到自己的maven仓库

mvn install:install-file -Dfile=onvif.jar -DgroupId=com.github.milg0 -DartifactId=onvif -Dversion=16.3.16 -Dpackaging=jar

二、pom文件引入jar包

<dependency>
    <groupId>com.github.milg0</groupId>
    <artifactId>onvif</artifactId>
    <version>16.3.16</version>
</dependency>

三、测试代码

	public static void main(String[] args) throws SOAPException, IOException {
        String cameraIp = "192.168.30.27";
        String username = "admin";
        String password = "admin";
        //首先获取OnvifDevice的对象
        OnvifDevice od = new OnvifDevice(cameraIp, username, password);

        //通过OnvifDevice获取Media的对象
        MediaDevices media = od.getMedia();

        //获取设备中的Profile集合
        String profileToken = od.getDevices().getProfiles().get(0).getToken();

        //通过media中的getSnapshotUri(Token).getUri()获取图片url
        //获得图片的URL
        String url1 = media.getSnapshotUri(profileToken);/* 此处不同的Token对应着通道*/
        //System.out.println(url1);
        saveFile(url1);
    }

	public static void saveFile(String urls) throws IOException {

        //构造URL
        URL url = new URL(urls);
        //打开连接
        URLConnection con = url.openConnection();

        String username = "admin";
        String password = "admin";
        String userPassword = username + ":" + password;

        String encoding = Base64.encodeBase64String(userPassword.getBytes());
        con.setRequestProperty("Authorization", "Basic " + encoding);

        //格式化时间
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
        String format = simpleDateFormat.format(new Date());

        //1k的缓冲数据
        byte[] bs = new byte[1024];

        //阅读到的数据长度
        int len;

        //输出的文件流
        String filename = "D:/a/" + format + ".jpg";
        File file = new File(filename);
        FileOutputStream os = new FileOutputStream(file, true);

        //获取输入流
        InputStream is2 = con.getInputStream();
        //开始读取
        while ((len = is2.read(bs)) != -1) {
            os.write(bs, 0, len);
        }
        os.close();
    }

四、运行中的变量

  • 海康onvif照片地址:http://192.168.33.42/onvif-http/snapshot?Profile_1
  • 大华onvif照片地址:http://192.168.33.42/onvifsnapshot/media_service/snapshot?channel=1&subtype=0

五、参考链接地址

解决海康摄像头抓取图片需要验证问题

整合ONVIF云台控制获取RTPM流地址

使用的onvif.jar包下载地址

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

java 通过onvif抓取海康摄像头图片 的相关文章

随机推荐

  • C++的命名空间详解

    c 43 43 命名空间详解 命名空间的意义命名空间的定义命名空间的使用 命名空间的意义 在C C 43 43 中 xff0c 变量 函数和后面要学到的类都是大量存在的 xff0c 这些变量 函数和类的名称将都存在于全局作用域中 xff0c
  • 基于Verilog的32位并行进位加法器设计

    1 功能概述 xff1a 先行进位加法器是对普通的全加器进行改良而设计成的并行加法器 xff0c 主要是针对普通全加器串联时互相进位产生的延迟进行了改良 超前进位加法器是通过增加了一个不是十分复杂的逻辑电路来做到这点的 设二进制加法器第i位
  • 基于verilog的处理器设计之寄存器堆

    该寄存器堆是CPU中多个寄存器组成的阵列 xff0c 由32个32位的寄存器构成 xff0c 两个读数据口 Ra gt BusA Rb gt BusB 一个写数据口 Rw gt BusW 写数据受使能信号Wen控制 xff0c 在时钟的下降
  • 使用结构体方式访问寄存器的实践

    朱老师单片机课程学习记录 span class token macro property span class token directive keyword ifndef span GPIO H span span class token
  • MIM,MOM和MOS电容的区别

    ic layout经常会遇到这三种电容 xff1a MOS xff0c MOM xff0c MIM MOS 电容 xff1a 两端结构的mos管 xff0c 电容值不精确 xff0c 可以实现随控制电压变化而变 化的容值 xff0c 上下极
  • 折叠共源共栅放大器Cadence仿真

    仿真原理图如下 xff0c 图中M4的宽长比应该和M5一样 xff0c 为4u 150n m nf为1 2 M8和M9的宽长比为4u 500n 完整的电路图如下 xff1a cascode晶体管的L给小一点 xff0c 电流镜晶体管L给大一
  • 二级运放的Cadence仿真

    基于之前做的折叠共源共栅cascode xff0c 在后面加两个管子 xff0c 变成一个简单的二级运放 二级运放的通带内的增益大于80dB xff0c GBW为大于50M xff0c 相位裕度大于60 为了保证运放的相位裕度 xff0c
  • 射频接收机的参数计算

  • 户外系统原理方框图

  • bandgap中简并点理解与仿真

    综合EETOP论坛上的解答以及自己的仿真 xff0c 一般来说一个电路有可能存在一个以上满足KCL KVL电路方程的解 工作点 这些解中有的是稳定解 有的可能是非稳定解 其区别在于 如果电路目前工作在稳定解 当出现扰动时 比如实际电路中的噪
  • GPS卫星定位基本原理

    GPS定位基本原理 GPS测量定位方法分类 定位模式 xff1a 绝对定位 xff08 单点定位 xff09 相对定位 差分定位 定位时接收机天线的运动状态 xff1a 静态定位 xff0d 天线相对于地固坐标系静止 动态定位 xff0d
  • c++缺省参数,函数重载详解

    c 43 43 缺省参数 xff0c 函数重载详解 缺省参数什么是缺省参数 xff1f 缺省参数的分类 1 全缺省参数 2 半缺省参数 规则 xff1a 缺省参数只能从右往左 xff0c 依次给出 xff08 这是规定 xff09 函数重载
  • 和小白一起学数据结构三之c与结构及联合

    和小白一起学数据结构 xff08 三 xff09 今天博主动笔有些晚了哈 xff0c 所以不讲太多废话了 xff0c 直接上干货 xff01 今天我们来复习c语言提供的两种聚合数据类型 xff08 aggregate data type 数
  • 持之以恒(一)位姿转换:姿态 / 四元数 / 旋转矩阵 / 欧拉角 及 位姿矩阵

    文章目录 1 简介1 1 位姿的几种表示形式1 2 姿态转换在线工具 2 位姿转换接口2 1 旋转向量 转 四元数2 2 四元数 转 旋转向量2 3 四元数 与 旋转矩阵 3 机器人相关应用3 1 不同厂家协作机器人的位姿表示形式 1 简介
  • 基于MSP432P401R的MPU6050陀螺仪串口输出姿态角程序

    基于MSP432P401R的MPU6050陀螺仪串口输出姿态角程序 目录 基于MSP432P401R的MPU6050陀螺仪串口输出姿态角程序 前言 一 实验器材 二 硬件资源 1 usb转ttl 2 串口1 波特率 9600 P2 2 P2
  • 一个程序从开始运行到结束的完整过程

    目录 预编译编译汇编链接 我们平时不管是在 Windows 下的编译器直接点击执行一个代码 xff0c 还是在 Linux 下通过 gcc g 43 43 生成可执行文件并执行 xff0c 都会直接出来代码的运行结果 但实际上它还细分为以下
  • cpp-http 库的使用

    文章目录 前言 96 cpp http 96 库简介 96 cpp http 96 库使用介绍http 客户端搭建步骤http 服务端搭建步骤 96 cpp http 96 库示例服务端实现客户端实现 示例下载关于示例代码编译出错的问题 参
  • vscode编译器卡顿问题

    最近一段时间使用vscode没有了以前的丝滑的感觉 xff0c 百度了很多种办法 xff0c 比如 xff1a 在文件 gt 首选项 gt 设置 中 xff0c 将 search followSymlinks 设置为false xff0c
  • 问题解决记录集合

    1 解决pytorch下载mnist等数据集速度过慢 失败问题 xff1a https blog csdn net weixin 44414948 article details 109756003 utm medium 61 distri
  • java 通过onvif抓取海康摄像头图片

    java 通过onvif抓取海康摄像头图片 文章目录 java 通过onvif抓取海康摄像头图片前言一 把onvif jar放到自己的maven仓库二 pom文件引入jar包三 测试代码四 运行中的变量五 参考链接地址 前言 网上也有类似的