📄 clientdemo.cpp
字号:
NET_DVR_SetRealDataCallBack(glRealHandle[i], RealDataCallBack, g_lAnalyzeHandle);#endif /* DWORD BrightValue; DWORD ContrastValue; DWORD SaturationValue; DWORD HueValue; NET_DVR_ClientGetVideoEffect(glRealHandle[i], &BrightValue, &ContrastValue, &SaturationValue, &HueValue); */ //printf("RealHandle:%d BrightValue:%d ContrastValue:%d SaturationValue:%d HueValue:%d \n",glRealHandle[i], BrightValue, ContrastValue, SaturationValue, HueValue); } Wait();// sleep(10); for(i=0; i<VIEW_NUM; i++) { if(glRealHandle[i] >= 0) { NET_DVR_StopSaveRealData(glRealHandle[i]); NET_DVR_StopRealPlay(glRealHandle[i]); glRealHandle[i] = -1; gbExit = 0; fprintf(stderr, "StopRealPlay \n");#ifdef ANALYZE AnalyzeDataClose(i);// HIKANA_Destroy(g_lAnalyzeHandle);#endif } } sleep(1); NET_DVR_DrawAreaRelease();}void SearchFileList(NET_DVR_DEVICEINFO *devInfo){ bool bGetFile = true; NET_DVR_FIND_DATA dvrfile; int ret; int hFile; int i; NET_DVR_TIME beginTime, endTime; beginTime.dwYear = 2006; beginTime.dwMonth = 1; beginTime.dwDay = 17; beginTime.dwHour = 0; beginTime.dwMinute = 0; beginTime.dwSecond = 0; endTime.dwYear = 2008; endTime.dwMonth = 1; endTime.dwDay = 17; endTime.dwHour = 23; endTime.dwMinute = 59; endTime.dwSecond = 59; hFile = NET_DVR_FindFile(glUserID, devInfo->byStartChan, 0xff, &beginTime, &endTime); if(hFile < 0) { perror("FindFile failed \n"); return ; } i = 0; while(bGetFile) { memset(&dvrfile, 0, sizeof(NET_DVR_FIND_DATA)); ret = NET_DVR_FindNextFile(hFile, &dvrfile); switch (ret) { case NET_DVR_FILE_SUCCESS: printf("sFileName[%s]\n \ struStartTime[%d-%d-%d %d:%d:%d]\n \ struStopTime[%d-%d-%d %d:%d:%d]\n \ dwFileSize[%d].\n", dvrfile.sFileName, dvrfile.struStartTime.dwYear, dvrfile.struStartTime.dwMonth, dvrfile.struStartTime.dwDay, dvrfile.struStartTime.dwHour, dvrfile.struStartTime.dwMinute, dvrfile.struStartTime.dwSecond, dvrfile.struStopTime.dwYear, dvrfile.struStopTime.dwMonth, dvrfile.struStopTime.dwDay, dvrfile.struStopTime.dwHour, dvrfile.struStopTime.dwMinute, dvrfile.struStopTime.dwSecond, dvrfile.dwFileSize); printf("i = %d\n", ++i ); break; case NET_DVR_FILE_NOFIND: printf("No file find!\n"); NET_DVR_FindClose(hFile); bGetFile = FALSE; break; case NET_DVR_ISFINDING: printf("Is finding now,wait a moment!\n"); usleep(200*1000); break; case NET_DVR_NOMOREFILE: printf("No more file find!\n"); NET_DVR_FindClose(hFile); bGetFile = FALSE; break; case NET_DVR_FILE_EXCEPTION: printf("File Exception!\n"); NET_DVR_FindClose(hFile); bGetFile = FALSE; break; default: printf("Error occured \n"); NET_DVR_FindClose(hFile); bGetFile = FALSE; break; } }}void PlaybackByName(){ int hPlayback; //NET_DVR_TIME OsdTime;#ifdef SDK_TEST char sfilename[30] = "ch01_10000000000006";#else char sfilename[30];#endif DWORD nPos1 = 0; PLAYRECT playWnd; playWnd.x = 0; playWnd.y = 0; playWnd.uWidth = CIF_WIDTH; playWnd.uHeight = CIF_HEIGTH; INITINFO InitInfo; InitInfo.uWidth = CIF_WIDTH; InitInfo.uHeight = CIF_HEIGTH; if(!NET_DVR_DrawAreaInit(InitInfo)) { perror("DrawAreaInit failed\n"); return ; } #ifndef SDK_TEST printf("Please playback filename:\n"); scanf("%s", sfilename );#endif if ((hPlayback = NET_DVR_PlayBackByName(glUserID, sfilename, &playWnd)) < 0 ) { printf( "PlayBackByName failed. error[%d]\n", NET_DVR_GetLastError() ); return; }#if 1 NET_DVR_SetPlayDataCallBack(hPlayback, PlaybackCallBack, 9);#endif /* if (!NET_DVR_PlayBackSaveData(hPlayback, "ch01.mp4")) { printf( "PlayBackSaveData failed. error[%d]\n", NET_DVR_GetLastError() ); NET_DVR_StopPlayBack(hPlayback); return ; } */ NET_DVR_PlayBackControl( hPlayback, NET_DVR_PLAYSTART, 0, NULL ); //sleep(3); /* NET_DVR_PlayBackControl( hPlayback, NET_DVR_PLAYPAUSE, 0, NULL ); sleep(5); NET_DVR_PlayBackControl( hPlayback, NET_DVR_PLAYRESTART, 0, NULL ); sleep(5); NET_DVR_PlayBackControl( hPlayback, NET_DVR_PLAYFAST, 0, NULL ); sleep(5); NET_DVR_PlayBackControl( hPlayback, NET_DVR_PLAYNORMAL, 0, NULL ); sleep(5); NET_DVR_PlayBackControl( hPlayback, NET_DVR_PLAYSLOW, 0, NULL ); sleep(5); NET_DVR_PlayBackControl( hPlayback, NET_DVR_PLAYNORMAL, 0, NULL ); sleep(5); NET_DVR_PlayBackControl( hPlayback, NET_DVR_PLAYSETPOS, 80, NULL ); sleep(5);*/ //NET_DVR_PlayBackControl( hPlayback, NET_DVR_PLAYSTOP, 0, NULL ); //sleep(3);// if(NET_DVR_GetPlayBackOsdTime(hPlayback, &OsdTime))// {// fprintf(stderr, "OSDTime[%d %d %d %d %d %d] \n", OsdTime.dwYear, OsdTime.dwMonth,OsdTime.dwDay,OsdTime.dwHour,OsdTime.dwMinute,OsdTime.dwSecond);// } //Wait(); while(1) { NET_DVR_PlayBackControl(hPlayback, NET_DVR_PLAYGETPOS, 0, &nPos1); printf("have got %d\n", nPos1); usleep(1000); if(nPos1 == 100) break; } NET_DVR_StopPlayBack(hPlayback); NET_DVR_DrawAreaRelease();}void PlaybackByTime(NET_DVR_DEVICEINFO *devInfo){ int hPlayback; PLAYRECT playWnd; playWnd.x = 0; playWnd.y = 0; playWnd.uWidth = CIF_WIDTH; playWnd.uHeight = CIF_HEIGTH; INITINFO InitInfo; InitInfo.uWidth = CIF_WIDTH; InitInfo.uHeight = CIF_HEIGTH; if(!NET_DVR_DrawAreaInit(InitInfo)) { perror("DrawAreaInit failed\n"); return ; } NET_DVR_TIME beginTime, endTime; beginTime.dwYear = 2007; beginTime.dwMonth = 10; beginTime.dwDay = 28; beginTime.dwHour = 8; beginTime.dwMinute = 40; beginTime.dwSecond = 0; endTime.dwYear = 2007; endTime.dwMonth = 12; endTime.dwDay = 28; endTime.dwHour = 23; endTime.dwMinute = 50; endTime.dwSecond = 59; hPlayback = NET_DVR_PlayBackByTime(glUserID, devInfo->byStartChan, &beginTime, &endTime, &playWnd); if(hPlayback < 0) { printf( "PlayBackByTime failed. error[%d]\n", NET_DVR_GetLastError() ); } NET_DVR_PlayBackControl( hPlayback, NET_DVR_PLAYSTART, 0, NULL ); sleep(1); Wait(); NET_DVR_StopPlayBack(hPlayback); NET_DVR_DrawAreaRelease();}void SearchLogFile(){ int hLog; int ret; bool bGetLog = true; NET_DVR_LOG dvrlog; NET_DVR_TIME beginTime, endTime; beginTime.dwYear = 2005; beginTime.dwMonth = 4; beginTime.dwDay = 26; beginTime.dwHour = 0; beginTime.dwMinute = 0; beginTime.dwSecond = 0; endTime.dwYear = 2005; endTime.dwMonth = 4; endTime.dwDay = 26; endTime.dwHour = 23; endTime.dwMinute = 59; endTime.dwSecond = 59; /* test Find log */ hLog = NET_DVR_FindDVRLog(glUserID, 0,0,0, &beginTime, &endTime); if(hLog < 0) { perror("FindLog failed \n"); return ; } while(bGetLog) { memset(&dvrlog, 0, sizeof(NET_DVR_LOG)); ret = NET_DVR_FindNextLog(hLog, &dvrlog); switch (ret){ case NET_DVR_FILE_SUCCESS: printf("strLogTime[%d-%d-%d %d:%d:%d]\n \ dwMajorType[%d], dwMinorType[%d],\n \ sPanelUser[%s], sNetUser[%s],\n \ sRemoteHostAddr[%s], dwParaType[%d],\n \ dwChannel[%d], dwDiskNumber[%d],\n \ dwAlarmInPort[%d], dwAlarmOutPort[%d].\n", dvrlog.strLogTime.dwYear, dvrlog.strLogTime.dwMonth, dvrlog.strLogTime.dwDay, dvrlog.strLogTime.dwHour, dvrlog.strLogTime.dwMinute, dvrlog.strLogTime.dwSecond, dvrlog.dwMajorType, dvrlog.dwMinorType, dvrlog.sPanelUser, dvrlog.sNetUser, dvrlog.sRemoteHostAddr, dvrlog.dwParaType, dvrlog.dwChannel, dvrlog.dwDiskNumber, dvrlog.dwAlarmInPort, dvrlog.dwAlarmOutPort); printf("\n"); break; case NET_DVR_FILE_NOFIND: printf("No file find!\n"); NET_DVR_FindLogClose(hLog); bGetLog = FALSE; break; case NET_DVR_ISFINDING: printf("Is finding now,wait a moment!\n"); usleep(200*1000); break; case NET_DVR_NOMOREFILE: printf("No more file find!\n"); NET_DVR_FindLogClose(hLog); bGetLog = FALSE; break; case NET_DVR_FILE_EXCEPTION: printf("File Exception!\n"); NET_DVR_FindLogClose(hLog); bGetLog = FALSE; break; } }}void GetFileByName() { int hPlayback; int pos = 0;#ifdef SDK_TEST char sfilename[30]= "ch01_10000000000206";#else char sfilename[30]; printf("Please playback filename:\n"); scanf("%s", sfilename );#endif printf("Begin download file ...\n"); if( (hPlayback = NET_DVR_GetFileByName(glUserID, sfilename, "ch01.mp4")) < 0 ) { printf( "GetFileByName failed. error[%d]\n", NET_DVR_GetLastError() ); return ; }#if 0 NET_DVR_SetPlayDataCallBack(hPlayback, PlaybackCallBack, 999);#endif NET_DVR_PlayBackControl(hPlayback, NET_DVR_PLAYSTART, 0, NULL); for(pos = 0; pos < 100; pos = NET_DVR_GetDownloadPos(hPlayback) ) { printf("have got %d\n", pos); sleep(1); } printf("have got %d\n", pos); NET_DVR_StopGetFile(hPlayback); printf("StopGetFile\n");}void GetFileByTime(NET_DVR_DEVICEINFO *devInfo){ int pos = 0; int hPlayback; NET_DVR_TIME beginTime, endTime; beginTime.dwYear = 2007; beginTime.dwMonth = 10; beginTime.dwDay = 29; beginTime.dwHour = 11; beginTime.dwMinute = 10; beginTime.dwSecond = 0; endTime.dwYear = 2008; endTime.dwMonth = 4; endTime.dwDay = 29; endTime.dwHour = 11; endTime.dwMinute = 27; endTime.dwSecond = 00; printf("Begin download file by time..."); if( (hPlayback = NET_DVR_GetFileByTime(glUserID, devInfo->byStartChan, &beginTime, &endTime, "ch01.mp4")) < 0 ) { printf( "GetFileByTime failed. error[%d]\n", NET_DVR_GetLastError() ); return ; } NET_DVR_PlayBackControl(hPlayback, NET_DVR_PLAYSTART, 0, NULL); for( pos = 0; pos < 100; pos = NET_DVR_GetDownloadPos(hPlayback) ) { printf("have got %d\n", pos); sleep(1); } printf("have got %d\n", pos); NET_DVR_StopGetFile(hPlayback); printf("StopGetFile\n");}void SetAlarmOut(){ NET_DVR_ALARMOUTSTATUS struAlarm; int i; if (!NET_DVR_SetAlarmOut(glUserID, 0xff, 1)) { fprintf( stderr, "NET_DVR_SetAlarmOut failed. errno[%d]\n", NET_DVR_GetLastError() ); return; } if (!NET_DVR_GetAlarmOut(glUserID, &struAlarm)) { fprintf( stderr, "GetAlarmOut failed. errno[%d]\n", NET_DVR_GetLastError() ); return; } for (i = 0; i < 4; i++) { fprintf(stderr, "i[%d]:alarm[%d]\n", i, struAlarm.Output[i]); sleep(1); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -