本文仅仅实现java 本地调用海康摄像头,后续的视频码解析正在研究。

默认环境:

1.从官网下载好对应OS的SDK。

2.连通摄像头。

3.搭建Java项目,集成sdk中的java demo。

先看效果:

正文:

此类所在位置:

内容:

import ClientDemo.HCNetSDK;

import com.sun.jna.Native;

import com.sun.jna.NativeLong;

import ClientDemo.HCNetSDK.*;

import com.sun.jna.examples.win32.W32API.HWND;

import java.awt.*;

import javax.swing.*;

/**

* @Title: MyDemo1

* @Description:

* @Author: Niucd

* @Date: 2019/9/3 11:21

* @Version: 1.0

*/

public class CameraDemo {

static String ip = "169.254.121.11";

static short port = 8000;

static String user = "admin";

static String pwd = "STGXQM";

/**

* Main函数

* DateTime: 2019/9/3 11:21

*/

public static void main(String[] args){

//

//1>初始化设备SDK:对整个网络SDK 系统的初始化,内存预分配等操作。-----------------------------

HCNetSDK sdk = HCNetSDK.INSTANCE;

boolean initSuc = sdk.NET_DVR_Init();

if(initSuc){

System.out.println("初始化设备环境成功。。。");

}else{

System.out.println("初始化设备环境失败。。。");

return;

}

Panel panelRealplay = createPanel();

//

//2>注册设备:实现用户的注册功能,注册成功后,返回的用户ID 作为其他功能操作的唯一标识---------------

NativeLong lUserID=new NativeLong(-1);

NET_DVR_DEVICEINFO_V30 devinfo=new NET_DVR_DEVICEINFO_V30();//设备信息

lUserID=sdk.NET_DVR_Login_V30(ip,port,user,pwd,devinfo);//返回一个用户编号,同时将设备信息写入devinfo

if(lUserID.longValue() > -1){

System.out.println("设备注册成功。。。");

System.out.println("lUserID:"+lUserID);

}else{

System.out.println("设备注册失败。。。");

System.out.println("错误码:"+sdk.NET_DVR_GetLastError());

}

//

//获取设备资源信息

NativeLong lRealPlayHandle;

HWND hwnd = new HWND(Native.getComponentPointer(panelRealplay)); //获取窗口句柄

NET_DVR_CLIENTINFO net_dvr_clientinfo = new NET_DVR_CLIENTINFO();

net_dvr_clientinfo.hPlayWnd = hwnd; //需要SDK解码时句柄设为有效值,仅取流不解码时可设为空

net_dvr_clientinfo.lChannel = new NativeLong(1); //预览通道号

net_dvr_clientinfo.lLinkMode = new NativeLong(0); //0-主码流,1-子码流,2-码流3,3-码流4,以此类推

net_dvr_clientinfo.sMultiCastIP = ip;

lRealPlayHandle = sdk.NET_DVR_RealPlay_V30(lUserID, net_dvr_clientinfo, null, null, true);

//---------------------------------------

// try { Thread.sleep(10000);} catch (InterruptedException e) {e.printStackTrace();}

// //关闭预览

// sdk.NET_DVR_StopRealPlay(lRealPlayHandle);

// //注销用户

// sdk.NET_DVR_Logout(lUserID);

// //释放SDK资源

// sdk.NET_DVR_Cleanup();

}

/*

创建播放面板

*/

public static Panel createPanel(){

JFrame jframe = new JFrame("视频播放测试");//创建面板

Panel panel = new Panel();//容器

jframe.add(panel).setBackground(Color.WHITE);

jframe.setSize(800,600);

jframe.setLocationRelativeTo(null);//在屏幕中居中显示

jframe.setVisible(true);

return panel;

}

}

java调用萤石对讲_海康萤石摄像头SDK Java(一)java本地调用摄像头相关推荐

  1. Emgucv不完整图像分割试验(十八)——Emgucv或opencv连接海康/萤石网络4G摄像头

    项目需要远程连摄像头,之前也一直觉得这事挺简单的,opencv有教程也平时很多地方见过这样的操作,没想到实践起来蛮多坑的. 1.首先确定摄像头支不支持4G或WIFI,尽量选海康萤石这种大厂,资料较多. ...

  2. 海康智能分析服务器设置,【胖猴小玩闹】智能门锁与网关: 海康萤石智能门锁的网关分析(三)...

    1.简介 本篇是关于海康萤石智能网关分析的第3篇,在中,我们完成了固件编辑和重打包工作.在我们自己修改的固件中,海康萤石的智能网关上电启动之后会运行telnetd,此后我们只要通过telnet远程连接 ...

  3. 海康萤石摄像头本地局域网拉流保存

    海康萤石的视频cp1型号,获取局域网的视频流:rtsp 拉流方法 首先需要在软件中打开rtsp开关,然后使用nmap工具测试下摄像头开放的端口号,一定会有一个554端口开放 $ nmap 192.16 ...

  4. 微信小程序中播放海康萤石云HLS '.m3u8'视频 video标签

    微信小程序中播放海康萤石云HLS '.m3u8'视频 video标签 前言 萤石云开放平台 微信开发者工具 前言 因为项目需要在微信小程序上展示实时视频流信息,以下内容是我将萤石云平台官方文档和自己实 ...

  5. 适用OpenCV读取网络摄像头(海康萤石 CS-C3S-52WEFR 1080P)的视频流

    目录标题 本文小结 1.设备连接(很重要) 2.更改电脑ipv4的地址为路由器ip的网段 3.下载Wireshark来抓包 4.找到摄像头ip地址 5.找到对应的RTSP地址 (1)**海康实时流** ...

  6. 从海康萤石看企业经营之不易

    作者6年多业内知名半导体工作经验,目前在国内某BAT企业做产品. 欢迎关注公众号交流物联网技术和物联网产品. 原文链接 https://mp.weixin.qq.com/s?__biz=MzI3NDE ...

  7. 海康机器人工业相机sdk简介

    海康机器人工业相机SDK获取与简单介绍 SDK下载 SDK组成 1.头文件 2.静态库/lib库 3.动态库 4.开发文档 5.示例程序 SDK下载 在海康机器人的官网下载中心-> 海康机器人下 ...

  8. Linux Python利用海康相机C++SDK(丝滑取流)

    众所周知,海康的相机SDK里面没有python模块,因此python不能调用,需要做转换,方法如下. 准备的包 OpenCV(用于源码编译,链接库的拷贝) 海康SDK Swig(桥梁,将C++SDk转 ...

  9. 海康9800平台linux的sdk,流媒体项目外包海康9800平台sdk适配

    1. 整体流程图,见附件: 2. 任务描述: 1>海康9800平台sdk适配:需要研究信令协议及开发对接程序(登陆平台,获取设备的列表,开启实时预览,停止实时预览等):需要研究音视频流的传输协议 ...

  10. 海康设备对接sdk错误码汇总 v6.0

    海康设备对接sdk错误码汇总 v6.0

最新文章

  1. 500分求助,delphi里用standred来配置dbf文件
  2. php用重写算出圆柱体的体积,圆柱的体积
  3. 剪板机自动上下料_机器人联轴器,用于机器人自动化上下料
  4. vue点击按钮上传图片_关于javascript:Vue-点击按钮提交表单
  5. Thinkphp kindeditor 内容转义
  6. python模块导入及属性:import
  7. 平安oracle面试考题,中国平安银行面试笔试题目 软件测试方向
  8. matlab uigetfile
  9. python车辆检测模型_使用OpenCV和Python构建自己的车辆检测模型
  10. VC实现:bmp转jpg、jpg转bmp、截屏保存jpg
  11. 怎样用计算机控制插座,电脑顺序开、关机控制插座 二
  12. windows已经阻止此应用 如何解决(非专业版系统)
  13. 2023款联想小新pro16和Thinkbook16+ 区别选哪个 更值得入手
  14. Laravel+layui实现的通用后台管理系统
  15. 路何去何从-第三方Oracle服务商
  16. const int, const int const, 和 int const 的区别
  17. spring 1.0-5.0版本注解发展史(一)
  18. python登录微信获取好友群生成列表
  19. 为什么要学习 Netty?
  20. C++的学习日记day8(类型转换、异常、输入输出流、文件)

热门文章

  1. 读“DB Sharding at Netlog”看DB-Scale-Out(推荐,分片)zt
  2. 敏捷开发 SCRUM 简介
  3. java ssh会议室管理系统(源码+文档)【源码分享】
  4. 关卡七、家庭收支记账系统
  5. 关于民族类型的下拉框
  6. 智慧水务智慧管网安全检测系统解决方案
  7. 正确区分CRM、OA、协同办公平台
  8. 天猫精灵测评与开发案例
  9. 怎么把几个音频合并在一起?
  10. Java 9 : 从零开始实现模块化(一)