public SearchResultRecordV3_1 GetSearchResultDetail(string serverIp, uint serverPort, string cameraId, uint matchTaskId, SearchResultRecordV3_1 record)
        {
            SearchServices.SearchServices m_SearchService = new SearchServices.SearchServices("http://{0}:{1}/?matchservice.wsdl");
            m_SearchService.Init(serverIp, serverPort);

            List <SearchResultRecordTiny> listTiny = new List <SearchResultRecordTiny>();

            listTiny.Add(new SearchResultRecordTiny
            {
                AdjustTime       = record.AdjustTime,
                ObjectDetailRect = record.ObjDetailRect,
                ObjectKey        = record.ObjKey,
                ObjectType       = record.ObjType,
                Similar          = record.Similar,
                TargetEndTs      = record.EndTime,
                TargetStartTs    = record.BeginTime,
            });
            var list = m_SearchService.GET_OBJ_DETAIL_INFO(cameraId, matchTaskId, listTiny);

            if (list != null && list.Count > 0)
            {
                return(list[0]);
            }
            return(null);
        }
        public List <SearchResultRecordV3_1> GetSearchResultDetail(string serverIp, uint serverPort, string cameraId, uint matchTaskId, List <SearchResultRecordV3_1> recordlist)
        {
            SearchServices.SearchServices m_SearchService = new SearchServices.SearchServices("http://{0}:{1}/?matchservice.wsdl");
            m_SearchService.Init(serverIp, serverPort);

            List <SearchResultRecordTiny> listTiny = new List <SearchResultRecordTiny>();

            foreach (var record in recordlist)
            {
                if (string.IsNullOrEmpty(record.OriginalPicURL))
                {
                    listTiny.Add(new SearchResultRecordTiny
                    {
                        AdjustTime       = record.AdjustTime,
                        ObjectDetailRect = record.ObjDetailRect,
                        ObjectKey        = record.ObjKey,
                        ObjectType       = record.ObjType,
                        Similar          = record.Similar,
                        TargetEndTs      = record.EndTime,
                        TargetStartTs    = record.BeginTime,
                    });
                }
            }
            var list = m_SearchService.GET_OBJ_DETAIL_INFO(cameraId, matchTaskId, listTiny);

            return(list);
        }
 public void UnsubscribeFaceAlarm(string cameraId, uint subscribeHandle)
 {
     if (SearchServiceMap.ContainsKey(new Tuple <string, E_VIDEO_ANALYZE_TYPE>(cameraId, E_VIDEO_ANALYZE_TYPE.E_ANALYZE_FACE_DYNAMIC)))
     {
         SearchServices.SearchServices m_SearchService =
             SearchServiceMap[new Tuple <string, E_VIDEO_ANALYZE_TYPE>(cameraId, E_VIDEO_ANALYZE_TYPE.E_ANALYZE_FACE_DYNAMIC)];
         Unsubscribe(m_SearchService, subscribeHandle);
     }
 }
 public uint SubscribeFaceAlarm(string cameraId, uint blacklist)
 {
     if (SearchServiceMap.ContainsKey(new Tuple <string, E_VIDEO_ANALYZE_TYPE>(cameraId, E_VIDEO_ANALYZE_TYPE.E_ANALYZE_FACE_DYNAMIC)))
     {
         SearchServices.SearchServices m_SearchService =
             SearchServiceMap[new Tuple <string, E_VIDEO_ANALYZE_TYPE>(cameraId, E_VIDEO_ANALYZE_TYPE.E_ANALYZE_FACE_DYNAMIC)];
         return(Subscribe(m_SearchService, cameraId, WSDataReceiveServices.EnumProtocolType.SMS_MSG_FACE_ALARM_DATA_NOTIFY, blacklist));
     }
     return(0);
 }
Beispiel #5
0
        public void AddFaceAlarmControl(string cameraID, uint controlThreshold, uint blackListHandle, uint controlNation = 1000, uint controlSex = 3, uint beginAge = 0, uint endAge = 0)
        {
            E_VIDEO_ANALYZE_TYPE type = E_VIDEO_ANALYZE_TYPE.E_ANALYZE_FACE_DYNAMIC;
            var rs = Framework.Container.Instance.CommService.GET_RESULT_STORE_LIST(cameraID, type);

            if (rs != null)
            {
                SearchServices.SearchServices m_SearchService = new SearchServices.SearchServices("http://{0}:{1}/?matchservice.wsdl");
                m_SearchService.Init(rs.StoreIP, rs.StortPort);

                var sublist = m_SearchService.ADD_FACE_CONTORL_DATA(cameraID, controlThreshold, blackListHandle, controlNation, controlSex, beginAge, endAge);
            }
        }
Beispiel #6
0
        public void DelFaceControlByID(string cameraID, uint id)
        {
            E_VIDEO_ANALYZE_TYPE type = E_VIDEO_ANALYZE_TYPE.E_ANALYZE_FACE_DYNAMIC;
            var rs = Framework.Container.Instance.CommService.GET_RESULT_STORE_LIST(cameraID, type);

            if (rs != null)
            {
                SearchServices.SearchServices m_SearchService = new SearchServices.SearchServices("http://{0}:{1}/?matchservice.wsdl");
                m_SearchService.Init(rs.StoreIP, rs.StortPort);

                m_SearchService.DEL_FACE_CONTORL_DATA(id);
            }
        }
 void Unsubscribe(SearchServices.SearchServices searchService, uint subscribeHandle)
 {
     searchService.DEL_SUBSCRIBE_DATA(subscribeHandle);
 }
 uint Subscribe(SearchServices.SearchServices searchService, string cameraId, WSDataReceiveServices.EnumProtocolType type, uint subscibrparam = 0)
 {
     return(searchService.ADD_SUBSCRIBE_DATA(UserName, ClientIP, ClientPort, cameraId, (uint)type, subscibrparam));
 }
        public SearchResultSummaryV3_1 StartSearch(string serverIp, uint serverPort, SearchItemV3_1 searchItem, SearchParaV3_1 param)
        {
            SearchServices.SearchServices m_SearchService = new SearchServices.SearchServices("http://{0}:{1}/?matchservice.wsdl");
            m_SearchService.Init(serverIp, serverPort);
            m_SearchService.SearchFinished += SearchService_SearchFinished;

            param.CameraID = searchItem.CameraID;
            if (searchItem.IsHistoryTask)
            {
                if (param.StartTime != DataModel.Common.ZEROTIME)
                {
                    if (param.StartTime < searchItem.AdjustTime)
                    {
                        param.StartTime = Common.ZEROTIME;
                    }
                    else
                    {
                        param.StartTime = Common.ZEROTIME.AddSeconds(param.StartTime.Subtract(searchItem.AdjustTime).TotalSeconds);
                    }
                }
                if (param.EndTime != DataModel.Common.MAXTIME)
                {
                    if (param.EndTime < searchItem.AdjustTime)
                    {
                        param.EndTime = Common.ZEROTIME;
                    }
                    else
                    {
                        param.EndTime = Common.ZEROTIME.AddSeconds(param.EndTime.Subtract(searchItem.AdjustTime).TotalSeconds);
                    }
                }
                param.ResultNumRange = int.MaxValue;
            }
            var comparesort = (E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_GLOBAL | E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_PARTICAL | E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_PASSLINE);

            param.SortType = (((E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] & comparesort) > 0) ? SortType.SimilarityDes : SortType.TimeAsc;

            if (((E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] & E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_GLOBAL) > 0 &&
                ((E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] & E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_PARTICAL) > 0)
            {
                param[SDKConstant.FeatureType] = (E_SEARCH_FEATURE_TYPE)param[SDKConstant.FeatureType] ^ E_SEARCH_FEATURE_TYPE.E_SEARCH_FEATURE_TYPE_GLOBAL;
            }
            uint m_searchHandle = m_SearchService.ADD_TASK(param, searchItem);

            searchlist.Add(new Tuple <uint, string>(m_searchHandle, serverIp), new SearchResultSummaryV3_1()
            {
                SearchPara      = param,
                SearchSessionID = m_searchHandle,
                SearchResultSingleSummaryList = null,
                SearchVM     = this,
                SearchItem   = searchItem,
                SearchStatus = E_VDA_SEARCH_STATUS.E_VDA_SEARCH_STATUS_RUNING,
                ObjectRect   = "",
            });
            DateTime st = DateTime.Now;

            while (true)
            {
                if (searchlist[new Tuple <uint, string>(m_searchHandle, serverIp)].SearchResultSingleSummaryList != null)
                {
                    break;
                }
                if (DateTime.Now.Subtract(st).TotalSeconds > 60)
                {
                    break;
                }
            }
            return(searchlist[new Tuple <uint, string>(m_searchHandle, serverIp)]);
        }