Esempio n. 1
0
        public JsonResult GetVhostIngest(string deviceId, string vhostDomain, string ingestInstanceName)
        {
            ResponseStruct rss = CommonFunctions.CheckParams(new object[] { deviceId, vhostDomain, ingestInstanceName });

            if (rss.Code != ErrorNumber.None)
            {
                return(Program.CommonFunctions.DelApisResult(null !, rss));
            }

            var rt = VhostIngestApis.GetVhostIngest(deviceId, vhostDomain, ingestInstanceName, out ResponseStruct rs);

            return(Program.CommonFunctions.DelApisResult(rt, rs));
        }
Esempio n. 2
0
        private void completionOnvifIpAddress()
        {
            if (Common.SrsManagers != null)
            {
                foreach (var srs in Common.SrsManagers)
                {
                    if (srs.IsInit && srs.Srs != null && srs.IsRunning)
                    {
                        var ret = VhostIngestApis.GetVhostIngestNameList(srs.SrsDeviceId, out ResponseStruct rs);
                        if (ret != null)
                        {
                            foreach (var r in ret)
                            {
                                var ingest = VhostIngestApis.GetVhostIngest(srs.SrsDeviceId, r.VhostDomain !,
                                                                            r.IngestInstanceName !,
                                                                            out rs);

                                if (ingest != null)
                                {
                                    string inputIp =
                                        SrsManageCommon.Common
                                        .GetIngestRtspMonitorUrlIpAddress(ingest.Input !.Url !) !;
                                    if (SrsManageCommon.Common.IsIpAddr(inputIp !))
                                    {
                                        lock (SrsManageCommon.Common.LockDbObjForOnlineClient)
                                        {
                                            var reti = OrmService.Db.Update <OnlineClient>()
                                                       .Set(x => x.MonitorIp, inputIp)
                                                       .Set(x => x.RtspUrl, ingest.Input !.Url !)
                                                       .Where(x => x.Stream !.Equals(ingest.IngestName) &&
                                                              x.Device_Id !.Equals(srs.SrsDeviceId) &&
                                                              (x.MonitorIp == null || x.MonitorIp == "" ||
                                                               x.MonitorIp == "127.0.0.1"))
                                                       .ExecuteAffrows();
                                            if (reti > 0)
                                            {
                                                LogWriter.WriteLog("补全Ingest拉流器中的摄像头IP地址...",
                                                                   srs.SrsDeviceId + "/" + r.VhostDomain + "/" + ingest.IngestName +
                                                                   " 获取到IP:" + inputIp + " 获取到Rtsp地址:" + ingest.Input !.Url);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }