海康威视球机 SDK 实现画面预览和基本转向控制(Linux)

一、下载官方sdk
使用版本
CH-HCNetSDKV6.1.9.4_build20220413_linux64

ubuntu 18.04 QT5
二、搭建环境
根据动态库加载文档进行设置
三、运行效果
在这里插入图片描述

四、主要代码

void MainWindow::OnopenVideoSlot()
{
        if(!m_logInSign)
        {
                QMessageBox::warning(this, QString::fromLocal8Bit("waring"), QString::fromLocal8Bit("Device not logged in!!!"),
                                     QMessageBox::Ok, QMessageBox::Cancel);
        }
        //开启预览
        NET_DVR_PREVIEWINFO struPlayInfo = {0};

        //显示窗口的ID
        struPlayInfo.hPlayWnd = ui->m_pframePlay->winId();

        //预览通道号
        struPlayInfo.lChannel = 1;

        //0-主码流,1-子码流,2-码流 3,3-码流 4,以此类推
        struPlayInfo.dwStreamType = 0;

        //0- TCP 方式,1- UDP 方式,2- 多播方式,3- RTP 方式,4-RTP/RTSP,5-RSTP/HTTP
        struPlayInfo.dwLinkMode = 0;

        //0- 非阻塞取流,1- 阻塞取流
       struPlayInfo.bBlocked = 1;

       //使用回调函数显示画面
        m_lRealPlayHandle = NET_DVR_RealPlay_V40(m_lUserID, &struPlayInfo, RealDataCallBack, NULL);
        if (m_lRealPlayHandle < 0)
        {
                  printf("NET_DVR_RealPlay_V40 failed, error code: %d\n", NET_DVR_GetLastError());
                  NET_DVR_Logout(m_lUserID);
                  NET_DVR_Cleanup();
                  return;
        }
}

五、代码下载
代码下载


版权声明:本文为qq_15672897原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。