大华摄像机SDK开发,预览实时视频并指定码流格式保存到文件中

由于本人最近在开发大华摄像机,特此分享一些经验给到各位开发朋友,本次实例是关于大华摄像机的实时预览视频码流保存到文件中的Demo,本人还开发过海康威斯的SDK,如果有需要的话看我前几篇文章下面附上链接,有问题留言看到一定会回复

以下为作者原创,如转载请告知,如不告知侵权必究
海康威视IPC二次开发SDK提取音频数据部分代码:https://blog.csdn.net/weixin_44232093/article/details/99406803

海康威视SDK二次开发通过云台参数设置控制摄像机的位置:https://blog.csdn.net/weixin_44232093/article/details/97649823

Java海康威视摄像头实时预览视频流保存到指定文件中:
https://blog.csdn.net/weixin_44232093/article/details/96429942

1.开发环境

  • Windows10系统,64位
  • 大华摄像机SDK版本: JAVA_64位
  • 大华摄像机机芯一个,型号DH-CA-HZ2023UC
  • 开发软件,IDEA2 017
  • 导入大华SDKdemo的时候注意要把使用eclipse路径勾选上,不然引入包会报错
package main.java.com.netsdk.demo.frame;import com.sun.jna.Pointer;
import com.sun.jna.ptr.IntByReference;
import main.java.com.netsdk.common.Res;
import main.java.com.netsdk.demo.module.LoginModule;
import main.java.com.netsdk.lib.NetSDKLib;
import main.java.com.netsdk.lib.ToolKits;import javax.swing.*;public class DaHuaCameraRealPlay {// 界面窗口private static JFrame frame = new JFrame();// 获取sdk实例public static NetSDKLib netsdk     = NetSDKLib.NETSDK_INSTANCE;// 设备信息public static NetSDKLib.NET_DEVICEINFO_Ex m_stDeviceInfo = new NetSDKLib.NET_DEVICEINFO_Ex();// 登陆句柄public static NetSDKLib.LLong m_hLoginHandle = new NetSDKLib.LLong(0);/** 初始化设备* 登录设备* */public void startRealPlay(){// 登录DisConnect dis = new DisConnect();// 调用INit初始化, 登录设备LoginModule.init(dis, null);// 换成自己的设备信息即可 默认端口号37777 login("192.168.1.XXX",37777 ,"用户名" ,"密码" );RealPlayByDataType();}public void RealPlayByDataType() {// 创建Stin对象 设置码流格式 通道号  预览类型 用户数据 保存文件名称NetSDKLib.NET_IN_REALPLAY_BY_DATA_TYPE stIn = new NetSDKLib.NET_IN_REALPLAY_BY_DATA_TYPE();stIn.emDataType = NetSDKLib.EM_REAL_DATA_TYPE.EM_REAL_DATA_TYPE_GBPS;stIn.nChannelID = 0;stIn.rType = NetSDKLib.NET_RealPlayType.NET_RType_Realplay;stIn.dwUser = null;stIn.szSaveFileName = "D:\\DahuaResult\\result.flv";   // 转换后的裸H264码流文件名// 创建Stout对象NetSDKLib.NET_OUT_REALPLAY_BY_DATA_TYPE stOut = new NetSDKLib.NET_OUT_REALPLAY_BY_DATA_TYPE();// 预览转码流保存NetSDKLib.LLong lRealHandle = netsdk.CLIENT_RealPlayByDataType(m_hLoginHandle, stIn, stOut, 5000);if(lRealHandle.longValue() != 0) {System.out.println("RealPlayByDataType Succeed!");} else {System.err.printf("RealPlayByDataType Failed!Last Error[0x%x]\n", netsdk.CLIENT_GetLastError());return;}try {// 录像时间 单位毫秒Thread.sleep(20000);} catch (InterruptedException e) {e.printStackTrace();}// 停止预览netsdk.CLIENT_StopRealPlay(lRealHandle);   // 必须停止拉流后,才会生成文件}public static boolean login(String m_strIp, int m_nPort, String m_strUser, String m_strPassword) {IntByReference nError = new IntByReference(0);m_hLoginHandle = netsdk.CLIENT_LoginEx2(m_strIp, m_nPort, m_strUser, m_strPassword, 0, null, m_stDeviceInfo, nError);if(m_hLoginHandle.longValue() == 0) {System.err.printf("Login Device[%s] Port[%d]Failed. %s\n", m_strIp, m_nPort, ToolKits.getErrorCodePrint());} else {System.out.println("Login Success [ " + m_strIp + " ]");}return m_hLoginHandle.longValue() == 0? false:true;}/** 断线提示参数* */private static class DisConnect implements NetSDKLib.fDisConnect {public void invoke(NetSDKLib.LLong m_hLoginHandle, String pchDVRIP, int nDVRPort, Pointer dwUser) {System.out.printf("Device[%s] Port[%d] DisConnect!\n", pchDVRIP, nDVRPort);// 断线提示SwingUtilities.invokeLater(new Runnable() {public void run() {frame.setTitle(Res.string().getRealplay() + " : " + Res.string().getDisConnectReconnecting());}});}}public static void main(String[] args) {DaHuaCameraRealPlay daHuaCamera = new DaHuaCameraRealPlay();daHuaCamera.startRealPlay();}
}

如有问题请留言,看到必定回复,欢迎大家一起讨论,如有不足请指出

2019.11.12-最新大华摄像机SDK开发,预览实时视频并指定码流格式保存到文件中(可观看)相关推荐

  1. C#调用大华相机SDK获取图片,转换成VisionPro的Icogimage格式

    文章讲的是C#调用大华相机SDK,通过回调事件获取图片并转换成visionpro的Icogimage格式,文章底部会分享例程.在调用SDK之前,需要先安装大华的相机软件到C盘,不安装到C盘会显示依赖项 ...

  2. 求助:web项目中关于大华摄像机通过RTSP在摄像头、NVR/EVS取流的问题

    所使用的部件:https://github.com/Roverr/rtsp-stream 大华的sdk好像是要通过IE浏览器才能用作web项目,所以才会用rtsp取流.摄像头数量有快400路了. 第一 ...

  3. 大华监控前端实时预览(DHplayer)官方插件

    介绍:采用vue2+大华官方插件DHplaye+rtsp拉流实现前端预览 1.根据官方文档安装引入插件 2.再vue项目中引入插件 import DHPlayer from '@/components ...

  4. EasyNVR网页摄像机无插件H5、谷歌Chrome直播方案中海康大华摄像机rtsp地址配置方法

    背景分析 众所周知,为了让用户更好的了解与使用EasyNVR,熟悉EasyNVR的相关功能,将EasyNVR与本地应用场景更好的融合,我们团队提出产品免费试用的理念.只要我们的产品符合用户的使用场景, ...

  5. Unity调用大华相机SDK采集图像及基本功能设定

    unity平台对视频播放不是很友好,而大华的SDK只有c#版本的并没有专门为unity做出来SDK,最开始尝试过使用SDK里面的方式获取YUV格式的视频流,再讲YUV格式的视频流转换为unity可以播 ...

  6. java接口方式调用海康大华摄像机预览。

    客户有海康和大华的监控设备,没有买各类安防平台,国标方式需要预留给其他需要接入的系统,得兼容高版本chrome,询问了大华的客服人员,最后选择了该方案进行解决,记录下曲折的过程.延迟大约10秒的样子, ...

  7. Onvif登录海康、大华摄像机(IPC)提示权鉴失败的问题解决

    最近用我们的Onvif设备发现客户端测试,发现连接某些摄像机Onvif获取不到设备信息,提示401权鉴失败.确认用户名和密码都没错的情况下,都还是失败,软件提示信息截图如下: 我们测的摄像机有海康和大 ...

  8. 海康大华摄像机图像收集工具

    文章目录 简介 准备工作 设置需要连接的摄像机 设置需要采集的点位信息 收集图像 开始收集图像 查看图像收集信息 暂停/恢复摄像机收集 取消图像收集 完成图像收集 其他功能 实时预览 开始实时预览 结 ...

  9. TSINGSEE青犀视频接入大华摄像机实现改变预置点名称

    TSINGSEE青犀视频可以接入不同协议的视频平台,海康大华皆可,近期我们在研究接入大华摄像机改变预置点名称的实现.下图是添加大华的预置点: 在使用网页添加预置点时,预置点标题是可以在网页双击改变.如 ...

最新文章

  1. bootstrap轮播图怎么居中
  2. MYSQL两个数据库字符集保持一致问题
  3. java写一个窗体并连接MySQL_大神帮忙写一个简单地java页面,连接MySQL数据库之后能够显示数据库上的数据...
  4. C++读取ini文件的类
  5. 一步步编写操作系统 52 深入浅出cpu的特权级
  6. 熊猫“大虾”-03/07/2011开始修炼
  7. STM32F103按键操作的另一种实现——状态机
  8. 使用Linux的alternatives命令替换选择软件的版本
  9. 解决不同浏览器下载excel文件中文名称乱码问题
  10. csu 1196 - 去爬山
  11. 《惢客创业日记》2019.01.18(周五)想象力害死人呀!
  12. 十大编程语言_2020年十大最佳编程语言
  13. windows 启动参数
  14. Shiro记住我无效,被拦截;
  15. JAVA金额大小写转换
  16. 中国工程院院士、中国人工智能学会理事长李德毅:人工智能研究新进展
  17. android核心版本特性(官网)
  18. 关于majaro安装后的配置,简单记录 机型华硕FZ53v
  19. to_date的用法
  20. 数据库系统实验二作业-SQL实验报告

热门文章

  1. Max基于等高线制作三维地形
  2. Vegas如何导入素材和捕获视频?
  3. 小学生python游戏编程arcade----可旋转的坦克
  4. 利用HDD regenator2011修复损坏的硬盘
  5. 马特垃圾把自己钉在耻辱柱上
  6. 20考研规划及寒假复习小建议
  7. Hive勒索攻击者从全球1300多家企业勒索1亿美元
  8. Chrome浏览器插件开发心得
  9. tcsh shell 基本语法简介
  10. 误删除的照片从哪里可以找回来,误删除的照片如何恢复。