一、下载官方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;
}
}
五、代码下载
代码下载