海康威视 网络硬盘录像机 Linux / QT 视频监控

 NET_DVR_DEVICEINFO_V30 struDeviceInfo;
    NET_DVR_CLIENTINFO ClientInfo;
    INITINFO m_rpinitinfo;
    long lUserID;



int MainWindow::video()
{

    // 初始化
    NET_DVR_Init();

    //设置连接时间与重连时间
    NET_DVR_SetConnectTime(2000, 1);
    NET_DVR_SetReconnect(10000, true);

    // 注册设备
    lUserID = NET_DVR_Login_V30("192.168.1.101", 8000, "admin", "12345", &struDeviceInfo);
    if (lUserID < 0)
    {
       printf("Login error, %d\n", NET_DVR_GetLastError());
       NET_DVR_Cleanup();
       return -1;

    }

    show();
    char windowid[64]={0};
    sprintf(windowid, "%ld", ui->frame->winId());
    if (-1 == setenv("SDL_WINDOWID", windowid, 1))
    {
        QMessageBox::information(this,tr("Error"), tr("Set SDL_WINDOWID failed!"));
        return -1;
    }

    setUpdatesEnabled (TRUE);
    update();
    repaint();
    m_rpinitinfo.uWidth =600;
    m_rpinitinfo.uHeight =400;
    if (!NET_DVR_DrawAreaInit(m_rpinitinfo))
    {
        QMessageBox::information(this, tr("DrawAreaInit failed"), tr("Error code:\"%1\".").arg(NET_DVR_GetLastError()));
        return -1;
    }

    ClientInfo.hPlayWnd.uHeight = ui->frame->height();
    ClientInfo.hPlayWnd.uWidth =  ui->frame->width();
    ClientInfo.hPlayWnd.x    = x() + 2;
    ClientInfo.hPlayWnd.y    = y() + 2;
    ClientInfo.lChannel     = 1;  //channel NO.
    //ClientInfo.lLinkMode    = 0x40000000; //Record when breaking network.
    ClientInfo.lLinkMode    = 0;
    ClientInfo.sMultiCastIP = NULL;

    NET_DVR_RealPlay_V30(lUserID, &ClientInfo, NULL, NULL, 0);
}

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值