千家信息网

Qt海康sdk录像存储怎么实现

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"Qt海康sdk录像存储怎么实现",在日常操作中,相信很多人在Qt海康sdk录像存储怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Qt海康sdk
千家信息网最后更新 2026年10月31日Qt海康sdk录像存储怎么实现

这篇文章主要介绍"Qt海康sdk录像存储怎么实现",在日常操作中,相信很多人在Qt海康sdk录像存储怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Qt海康sdk录像存储怎么实现"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、前言

关于调用海康sdk来进行录像存储,整体的框架架构处理流程沿袭了之前vlc内核、ffmpeg内核、mpv内核的做法,定时存储这块,开个定时器判断,到了时间则先关闭原来的录像存储,然后在开始一个新的录像存储,重新传入新的文件名,所以这块的代码直接拷贝过来就能使用,要做的就是替换两行代码即可,一行是开始录像存储的函数NET_DVR_SaveRealData,一行是停止录像存储的函数NET_DVR_StopSaveRealData,海康sdk的手册非常详细,而且命名也比较规范,基本上通过方法函数名字就可以知道大概的意思了,不用去猜测。

和录像存储功能同一大类的还有个截图功能,这个在vlc内核、ffmpeg内核、mpv内核这些内核中都实现了,截图总结了三种,第一种是句柄模式下的截图,这个需要调用相关sdk的函数去执行,分辨率大小为原图;第二种是回调模式下的截图,这个已经拿到了图片的数据,直接取窗体对应保存的视频的图片即可,分辨率大小为原图;第三种是窗体的截屏,就是当前视频窗体来个截屏,分辨率大小为当前窗体的尺寸;

关于打开视频文件、录像存储、截图保存这三个功能,要特别注意中文路径,当然如果是只有英文路径那就无需做任何处理,但是对于国人使用来说,中文路径肯定是避免不了的,有两种可能的需要的处理,一个是路径要转成utf8格式,还有一种是要用QTextCodec指定gb2312格式重新转一下路径才能生效,比如海康sdk内核下,不然很可能路径失效。

二、功能特点

  1. 支持播放视频流和本地MP4文件。

  2. 支持句柄和回调两种模式。

  3. 多线程显示图像,不卡主界面。

  4. 自动重连网络摄像头。

  5. 可设置边框大小即偏移量和边框颜色。

  6. 可设置是否绘制OSD标签即标签文本或图片和标签位置。

  7. 可设置两种OSD位置和风格。

  8. 可设置是否保存到文件以及文件名。

  9. 可直接拖曳文件到haikangwidget控件播放。

  10. 支持h364/h365视频流。

  11. 可暂停播放和继续播放。

  12. 支持存储单个视频文件和定时存储视频文件。

  13. 自定义顶部悬浮条,发送单击信号通知,可设置是否启用。

  14. 可设置画面拉伸填充或者等比例填充。

  15. 可设置解码是速度优先、质量优先、均衡处理。

  16. 可对视频进行截图(原始图片)和截屏(视频窗体)。

  17. 录像文件存储为MP4文件。

  18. 支持焦距控制、云台控制。

  19. 可定制功能。

三、效果图

四、核心代码

void HaiKangThread::initSave(){    if (!saveFile || !isRtsp) {        return;    }    if (saveInterval == 0) {        saveVideo(fileName);    }}void HaiKangThread::saveVideo(){    if (!saveFile || !isRtsp) {        return;    }    //重新设置文件名称    QString dirName = QString("%1/%2").arg(savePath).arg(QDATE);    newDir(dirName);    fileName = QString("%1/%2_%3.mp4").arg(dirName).arg(fileFlag).arg(STRDATETIME);    saveVideo(fileName);}void HaiKangThread::saveVideo(const QString &fileName){    if (hand >= 0) {        //转码以便支持中文路径        QTextCodec *codec = QTextCodec::codecForName("gb2312");        QByteArray data = codec->fromUnicode(fileName);        //先停止再设置        NET_DVR_StopSaveRealData(hand);        NET_DVR_SaveRealData(hand, data.data());    }}

到此,关于"Qt海康sdk录像存储怎么实现"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

存储 录像 文件 视频 内核 海康 路径 可设 截图 支持 功能 窗体 函数 图片 大小 学习 代码 分辨率 标签 模式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 花魁咖啡 上海挚品互联网科技有限公司 广东万易互联网科技有限公司惠州分公司 互联网科技与金融科技 奇酷互联网络科技 亿人帮互联网科技 国外互联网科技网站 中国互联网金融科技基金 科技伦理 互联网公司 互联网科技股午盘股票涨跌 互联网实体化科技化 银川新华互联网科技职业技术培训学校图片 中化能源互联网科技招聘 全球顶尖互联网科技公司 彤创互联网科技有限公司 厦门千工互联网科技有限公司 中国互联网十大科技股排名 阿里互联网科技企业 工业互联网等科技实现智能化赋能 新氧科技和美国互联网有关系吗 苏州找大状互联网科技有限公司 为想互联网科技怎么样 互联网 科技创业 互联网科技类展会 济南和联互联网科技有限公司 互联网科技中介 顶级互联网科技成果有哪些 江阴互联网智能科技产品进口 山东有哪些互联网科技公司 北京互联网科技类企业分布
0