大华SDK对接使用
327 字
2 分钟
大华SDK对接使用
1、拉取示例代码
该代码为自己验证实现的demo示例
GitHub:
2、直接编译运行即可
根据自己的业务要求修改代码
cmake..make -j./Yulan3、遇到的问题
1、yuv原始Y、U、V分离存储数据转化
void CALLBACK CBDecode(LONG nPort, FRAME_DECODE_INFO* pFrameDecodeInfo, FRAME_INFO_EX* pFrameInfo, void* pUser){ if (pFrameDecodeInfo->nType == T_IYUV) { // 验证输入参数 if (!pFrameDecodeInfo->pVideoData[0] || !pFrameDecodeInfo->pVideoData[1] || !pFrameDecodeInfo->pVideoData[2] || pFrameInfo->nWidth <= 0 || pFrameInfo->nHeight <= 0) { return; } cout<<"nFrameSeq(对应的视频帧序号):"<<pFrameInfo->nFrameSeq<<endl; uint8_t* yData = static_cast<uint8_t*>(pFrameDecodeInfo->pVideoData[0]); uint8_t* uData = static_cast<uint8_t*>(pFrameDecodeInfo->pVideoData[1]); uint8_t* vData = static_cast<uint8_t*>(pFrameDecodeInfo->pVideoData[2]); // YUV420P格式:Y分量占width*height,U和V分量各占width*height/4 int ySize = pFrameInfo->nWidth * pFrameInfo->nHeight; int uvSize = pFrameInfo->nWidth * pFrameInfo->nHeight / 4; // 创建连续的YUV420P数据缓冲区 cv::Mat yuvData(pFrameInfo->nHeight + pFrameInfo->nHeight / 2, pFrameInfo->nWidth, CV_8UC1); // 复制Y分量到缓冲区前部 memcpy(yuvData.data, yData, ySize); // 复制U分量 memcpy(yuvData.data + ySize, uData, uvSize); // 复制V分量 memcpy(yuvData.data + ySize + uvSize, vData, uvSize); // 转换YUV420P到BGR cv::Mat bgrMat; cv::cvtColor(yuvData, bgrMat, cv::COLOR_YUV2BGR_I420); yuvData.~Mat(); // 图片保存测试 std::string filename = generate_random_string_fast(10) + ".jpg"; imwrite(filename, bgrMat); }}2、运行报错:cannot open shared object file: No such file or directory解决方法(libRenderEngine.so)
这个是因为这个动态库需要配置在系统环境变量中才能找到
# libRenderEngine.so这个动态库需要添加到系统环境中:export LD_LIBRARY_PATH= libs的路径 :$LD_LIBRARY_PATH4、参考:
- https://blog.csdn.net/zong596568821xp/article/details/90297360
- 大华官方的SDK文档(很乱且不全)
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章 智能推荐
1
海康摄像头相关设备使用SDK登录报错
技术笔记 1、问题描述 在ubuntu系统下调用海康SDK,调用初始化函数之后,死活登录不上!!!! 登录函数:lUserID = NET DVR Login V40 &pLoginInfo, &lpDeviceInfo ; 错误输出函数:std::cout << "Login faile
2
NotionNext使用教程
技术笔记 https://zhuanlan.zhihu.com/p/3397984 unsplash 随机api 我将每个封面图设置为: https://source.unsplash.com/random ; 这是 unsplash 提供的随机图片链接,每次打开都会跳到不同的图片。 您可
3
该Blog使用教程
技术笔记 模板使用说明 您的NotionNext项目必须绑定一个Notion数据库才能使用。 请复制该模板到您的Notion中,并按照模板格式创建文章: NOTION BLOG 数据库字段说明 Notion数据库中,每条数据都将有以下属性🤔: 属性 必填 说明 备注 title 是 文章
4
claudecode详细使用教程
技术笔记 一、插件安装 1. playwright cli 2.
5
claudecode和codex使用教程
技术笔记 一、最根本的两把钥匙 提升工作效率 技能1:Skill Creator 全局安装,自定义创建属于自己好用的工作流技能 技能2:Find Skills 技能自动搜索查找现成的技能去使用 二、具体应用场景的Skills 场景1:软件开发 需要的技能: Superpowers、GSta
随机文章 随机推荐