最近使用海康硬盘录像机录像截图,看了其官方使用文档及提供的SDK,不愧是上市公司,使用文档描述很详细,SDK采用C语言描述; SDK没有演示如何通过实时视频流截图,下面是自己通过多次测试后成功截图的代码:
/** *@brief 初始化Playctrl库 */ void InitRealStream() { // 显示组件,在使用过程中发现必须先调用play()方法才能正常截图,而播放必须传入一窗口句柄(myVideo->winId());此时无须显示视频,隐藏界面即可 QWidget *myVideo=new QWidget; // 分配播放端口 PlayM4_GetPort(&pPlayPort); // 获得文件头长度; quint32 nLength= PlayM4_GetFileHeadLength(); char *pFileHead=new char[nLength]; // 设置流模式 PlayM4_SetStreamOpenMode(pPlayPort,STREAME_REALTIME); // 打开流接口 if(!PlayM4_OpenStream(pPlayPort,pFileHead,nLength,1024*100)) { qDebug("错误:PlayM4_OpenStream: %d", PlayM4_GetLastError(pPlayPort)); qApp->quit(); } // 设置显示缓冲区大小 PlayM4_SetDisplayBuf(pPlayPort,15); // 播放 PlayM4_Play(pPlayPort,myVideo->winId()); } /** *@brief 输入实时视频流,调用前需先调用InitRealStream() */ void InputStream() { QByteArray pFrameData; // 接收UDP视频帧,填充缓冲区pFrameData, 省略 .... // 输入实时视频流 PlayM4_InputData(pPlayPort,(unsigned char*)pFrameData.data(),pFrameData.size()); } /** *@brief 调用PlayM4_GetJPEG()截取jpg */ void GetPhoto() { // 图片大小,最好设置为height*width*3/2即可 int nLen=PHOTO_HEIGHT*PHOTO_WIDTH*3/2; char *pByte=new char[nLen]; DWORD pRealSize; // 实际尺寸 if(!PlayM4_GetJPEG(pPlayPort,(unsigned char*)pByte,nLen,&pRealSize)) { qDebug("错误:抓取图片失败[%d]",PlayM4_GetLastError(pPlayPort)); }else { qDebug("信息:截图成功"); // 将图片写入文件 QFile pFile("d:/test.jpg"); pFile.open(QFile::WriteOnly|QFile::Truncate); pFile.write(pByte,nLen); pFile.close(); } // 清理内存 delete []pByte; pByte=NULL; }
相关推荐
海康SDK二次开发系统简单应用,可以实现海康硬盘录像机视频服务器登录预览
c#调用海康sdk查看摄像头实时图像
LINUX版用QT C++调用海康SDK取流和控制云台
C#开发的海康SDK,内涵开发手册,可预览,布防,车牌识别获取,等等
海康sdk转换成C#,通过p/i 转换,欢饮大家拍砖
(一定要看doc文件夹中的文档)String boot 整合海康SDK 常用功能 实时预览,设备抓图,云台反向定位,云台旋转控制,获取云台参数,布防,透明通道等,不是Demo ,只直接运行使用。
海康sdk需要的dll文件
基于海康摄像头的SDK调用,警报回调的数据读取,这个代码事人脸抓拍摄像头的抓拍图像读取,我这里是转成了np.array数据格式,python3的代码,其他类似警报回调都可以参考
易语言基于海康SDK的人脸识别应用,自己的算法,海康的原生SDK获取摄像头画面
python 调用海康SDK 控制摄像头云台代码
springboot操作海康设备SDK Linux,调用海康设备我们需要用到的SDK分为Windows版本和Linux版本SDK,里面继承单一springboot项目,可以直接idea启动,控制摄像头转动,抓图等 注意:配置环境变量 进入/etc/profile下,...
c#调用海康sdk实现查看视频,回放,下载
海康SDK+Qt+Halcon封装
.net core实现对海康SDK的跨平台兼容,支持windows和linux平台,实现海康摄像头在线实时预览,视频文件下载
用C#封装过的海康NET SDK,版本号2014
利用C#,基于海康SDK实现12路实时视频同时播放,用于在大屏幕上进行演示播放。
海康SDK采图 生成BitMap类型的图片
java调用海康SDK代码和使用说明, 代码是残章...不保证可以直接运行,但是使用方式和环境配置都有说明 大家有更好的使用方式欢迎补充
海康SDK设置属性API需要字符串,但是不知道哪些字符串可以设置,表格查询。不知道为什么海康现在不提供此表格,让我们怎么使用?
因为自己需要做海康设备的客户端软件,网络上找的模块新版本的sdk用不了,所以自己做了个!支持功能:设备注册,视频预览,设备注销,停止预览……