Beispiel #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="VlcStream"/> class.
 /// </summary>
 ///
 /// <param name="source">URL, which provides VLCstream.</param>
 /// <param name="arguments"></param>
 public VlcStream(CameraWindow source) : base(source)
 {
     _source    = source.Camobject;
     _arguments = _source.settings.vlcargs.Split(Environment.NewLine.ToCharArray(),
                                                 StringSplitOptions.RemoveEmptyEntries);
     TimeOut = _source.settings.timeout;
 }
Beispiel #2
0
        public void FTP(object taskObject)
        {
            var task = (FTPTask)taskObject;
            int i    = 0;

            while (task.FileName.IndexOf("{", StringComparison.Ordinal) != -1 && i < 20)
            {
                task.FileName = String.Format(CultureInfo.InvariantCulture, task.FileName, Helper.Now);
                i++;
            }
            string error;

            FTP(task.Server, task.Port, task.UsePassive, task.Username, task.Password, task.FileName, task.Counter, task.Contents, out error, task.Rename, task.UseSftp);

            if (error != "")
            {
                Logger.LogErrorToFile(error, "FTP");
            }

            objectsCamera oc = MainForm.Cameras.SingleOrDefault(p => p.id == task.CameraId);

            if (oc != null)
            {
                oc.ftp.ready = true;
            }
        }
Beispiel #3
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="MJPEGStream" /> class.
        /// </summary>
        /// <param name="source">URL, which provides MJPEG stream.</param>
        public MJPEGStream(objectsCamera source) : base(source)
        {
            _source = source;

            var ckies = source.settings.cookies ?? "";

            ckies = ckies.Replace("[USERNAME]", source.settings.login);
            ckies = ckies.Replace("[PASSWORD]", source.settings.password);
            ckies = ckies.Replace("[CHANNEL]", source.settings.ptzchannel);

            var hdrs = source.settings.headers ?? "";

            hdrs = hdrs.Replace("[USERNAME]", source.settings.login);
            hdrs = hdrs.Replace("[PASSWORD]", source.settings.password);
            hdrs = hdrs.Replace("[CHANNEL]", source.settings.ptzchannel);


            _login          = source.settings.login;
            _password       = source.settings.password;
            _requestTimeout = source.settings.timeout;
            _httpUserAgent  = source.settings.useragent;
            _decodeKey      = source.decodekey;
            _useHttp10      = source.settings.usehttp10;
            _cookies        = ckies;
            _headers        = hdrs;
        }
Beispiel #4
0
        public static ITalkTarget GetTalkTarget(objectsCamera cam, IAudioSource source)
        {
            ITalkTarget talkTarget;

            switch (cam.settings.audiomodel)
            {
                default://local playback
                    talkTarget = new TalkLocal(source);
                    break;
                case "Foscam":
                    talkTarget = new TalkFoscam(cam.settings.audioip, cam.settings.audioport,
                        cam.settings.audiousername, cam.settings.audiopassword, source);
                    break;
                case "iSpyServer":
                    talkTarget = new TalkiSpyServer(cam.settings.audioip, cam.settings.audioport,
                        source);
                    break;
                case "NetworkKinect":
                    talkTarget = new TalkNetworkKinect(cam.settings.audioip, cam.settings.audioport,
                        source);
                    break;
                case "Axis":
                    talkTarget = new TalkAxis(cam.settings.audioip, cam.settings.audioport,
                        cam.settings.audiousername, cam.settings.audiopassword, source);
                    break;
                case "IP Webcam (Android)":
                    talkTarget = new TalkIPWebcamAndroid(new Uri(cam.settings.videosourcestring), source);
                    break;
            }
            return talkTarget;
        }
Beispiel #5
0
        public void FTP(object taskObject)
        {
            var task = (FTPTask)taskObject;
            int i    = 0;

            while (task.FileName.IndexOf("{") != -1 && i < 20)
            {
                task.FileName = String.Format(System.Globalization.CultureInfo.InvariantCulture, task.FileName, DateTime.Now);
                i++;
            }
            string error;

            FTP(task.Server, task.UsePassive, task.Username, task.Password, task.FileName, task.Contents, out error);

            if (error != "")
            {
                MainForm.LogErrorToFile(error);
            }

            objectsCamera oc = MainForm.Cameras.SingleOrDefault(p => p.id == task.CameraId);

            if (oc != null)
            {
                oc.ftp.ready = true;
            }
        }
Beispiel #6
0
        public static ITalkTarget GetTalkTarget(objectsCamera cam, IAudioSource source)
        {
            switch (cam.settings.audiomodel)
            {
            default:    //local playback
                return(new TalkLocal(source));

            case "Foscam":
                return(new TalkFoscam(cam.settings.audioip, cam.settings.audioport,
                                      cam.settings.audiousername, cam.settings.audiopassword, source));

            case "iSpyServer":
                return(new TalkiSpyServer(cam.settings.audioip, cam.settings.audioport,
                                          source));

            case "NetworkKinect":
                return(new TalkNetworkKinect(cam.settings.audioip, cam.settings.audioport,
                                             source));

            case "Axis":
                return(new TalkAxis(cam.settings.audioip, cam.settings.audioport,
                                    cam.settings.audiousername, cam.settings.audiopassword, source));

            case "Doorbird":
                return(new TalkDoorbird(cam.settings.audioip, cam.settings.audioport,
                                        cam.settings.audiousername, cam.settings.audiopassword, source));

            case "IP Webcam (Android)":
                return(new TalkIPWebcamAndroid(new Uri(cam.settings.videosourcestring), source));

            case "Amcrest":
                return(new TalkAmcrest(cam.settings.audioip, cam.settings.audioport, source));
            }
        }
Beispiel #7
0
 public MediaStream(string format, objectsCamera source) : base(source)
 {
     _source      = source;
     _inputFormat = ffmpeg.av_find_input_format(format);
     if (_inputFormat == null)
     {
         throw new Exception("Can not find input format " + format);
     }
 }
Beispiel #8
0
 public CameraWindow(objectsCamera cam)
 {
     InitializeComponent();
     SetStyle(
         ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw | ControlStyles.OptimizedDoubleBuffer |
         ControlStyles.UserPaint, true);
     Margin = new Padding(0, 0, 0, 0);
     Padding = new Padding(0, 0, 5, 5);
     BorderStyle = BorderStyle.None;
     BackColor = iSpyServer.Default.BackColor;
     Camobject = cam;
 }
Beispiel #9
0
 public CameraWindow(objectsCamera cam)
 {
     InitializeComponent();
     SetStyle(
         ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw | ControlStyles.OptimizedDoubleBuffer |
         ControlStyles.UserPaint, true);
     Margin      = new Padding(0, 0, 0, 0);
     Padding     = new Padding(0, 0, 5, 5);
     BorderStyle = BorderStyle.None;
     BackColor   = iSpyServer.Default.BackColor;
     Camobject   = cam;
 }
Beispiel #10
0
        public MediaStream(CameraWindow source) : base(source)
        {
            _source      = source.Camobject;
            _inputFormat = null;
            IsAudio      = false;

            _cookies = _source.settings.cookies;
            _timeout = Math.Max(3000, _source.settings.timeout);

            _userAgent = _source.settings.useragent;
            _headers   = _source.settings.headers;
            _modeRTSP  = Helper.RTSPMode(_source.settings.rtspmode);
        }
Beispiel #11
0
        public MediaStream(objectsCamera source) : base(source)
        {
            _source      = source;
            _inputFormat = null;
            _modeAudio   = false;

            _cookies         = source.settings.cookies;
            _analyzeDuration = source.settings.analyseduration;
            _timeout         = source.settings.timeout;
            _userAgent       = source.settings.useragent;
            _headers         = source.settings.headers;
            RTSPmode         = Helper.RTSPMode(source.settings.rtspmode);
        }
Beispiel #12
0
        public MediaStream(CameraWindow source) : base(source)
        {
            _instance    = this;
            _source      = source.Camobject;
            _inputFormat = null;
            _modeAudio   = false;

            _cookies         = _source.settings.cookies;
            _analyzeDuration = _source.settings.analyseduration;
            _timeout         = _source.settings.timeout;
            _userAgent       = _source.settings.useragent;
            _headers         = _source.settings.headers;
            _rtsPmode        = Helper.RTSPMode(_source.settings.rtspmode);
        }
Beispiel #13
0
        public MediaStream(CameraWindow source) : base(source)
        {
            _source      = source.Camobject;
            _inputFormat = null;
            IsAudio      = false;

            _cookies             = _source.settings.cookies;
            _timeoutMicroSeconds = Math.Max(5000000, _source.settings.timeout * 1000);

            _userAgent   = _source.settings.useragent;
            _headers     = _source.settings.headers;
            _modeRTSP    = Helper.RTSPMode(_source.settings.rtspmode);
            _useGPU      = _source.settings.useGPU;
            _ignoreAudio = _source.settings.ignoreaudio;
        }
Beispiel #14
0
        public static ITalkTarget GetTalkTarget(objectsCamera cam, IAudioSource source)
        {
            ITalkTarget talkTarget;

            switch (cam.settings.audiomodel)
            {
            default:    //local playback
                talkTarget = new TalkLocal(source);
                break;

            case "Foscam":
                talkTarget = new TalkFoscam(cam.settings.audioip, cam.settings.audioport,
                                            cam.settings.audiousername, cam.settings.audiopassword, source);
                break;

            case "iSpyServer":
                talkTarget = new TalkiSpyServer(cam.settings.audioip, cam.settings.audioport,
                                                source);
                break;

            case "NetworkKinect":
                throw new NotSupportedException("Kinect no longer supported");

            case "Axis":
                talkTarget = new TalkAxis(cam.settings.audioip, cam.settings.audioport,
                                          cam.settings.audiousername, cam.settings.audiopassword, source);
                break;

            case "Doorbird":
                talkTarget = new TalkDoorbird(cam.settings.audioip, cam.settings.audioport,
                                              cam.settings.audiousername, cam.settings.audiopassword, source);
                break;

            case "IP Webcam (Android)":
                talkTarget = new TalkIPWebcamAndroid(new Uri(cam.settings.videosourcestring), source);
                break;

            case "Amcrest":
                talkTarget = new TalkAmcrest(cam.settings.audioip, cam.settings.audioport, source);
                break;
            }
            return(talkTarget);
        }
Beispiel #15
0
        private void ShowObjects()
        {
            lbObjects.Items.Clear();
            foreach (objectsCamera oc in MainForm.Cameras)
            {
                objectsCamera oc1 = oc;
                if (_floorPlanEntries.SingleOrDefault(p => p.id == oc1.id && p.type == "camera") == null)
                {
                    lbObjects.Items.Add(new ListItem(oc.name, oc.id, "camera"));
                }
            }

            foreach (objectsMicrophone om in MainForm.Microphones)
            {
                objectsMicrophone om1 = om;
                if (_floorPlanEntries.SingleOrDefault(p => p.id == om1.id && p.type == "microphone") == null)
                {
                    lbObjects.Items.Add(new ListItem(om.name, om.id, "microphone"));
                }
            }
        }
Beispiel #16
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="JpegStream" /> class.
        /// </summary>
        /// <param name="source">URL, which provides JPEG files.</param>
        public JpegStream(CameraWindow source) : base(source)
        {
            _source = source.Camobject;
            var ckies = _source.settings.cookies ?? "";

            ckies = ckies.Replace("[USERNAME]", _source.settings.login);
            ckies = ckies.Replace("[PASSWORD]", _source.settings.password);
            ckies = ckies.Replace("[CHANNEL]", _source.settings.ptzchannel);

            var hdrs = _source.settings.headers ?? "";

            hdrs = hdrs.Replace("[USERNAME]", _source.settings.login);
            hdrs = hdrs.Replace("[PASSWORD]", _source.settings.password);
            hdrs = hdrs.Replace("[CHANNEL]", _source.settings.ptzchannel);

            _login          = _source.settings.login;
            _password       = _source.settings.password;
            _requestTimeout = _source.settings.timeout;
            _useHttp10      = _source.settings.usehttp10;
            _httpUserAgent  = _source.settings.useragent;
            _cookies        = ckies;
            _headers        = hdrs;
        }
Beispiel #17
0
        public CameraWindow(objectsCamera cam)
        {
            InitializeComponent();
            SetStyle(
                ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw | ControlStyles.OptimizedDoubleBuffer |
                ControlStyles.UserPaint, true);
            Margin = new Padding(0, 0, 0, 0);
            Padding = new Padding(0, 0, 5, 5);
            BorderStyle = BorderStyle.None;
            BackgroundColor = MainForm.BackgroundColor;
            Camobject = cam;
            PTZ = new PTZController(this);

            _toolTipCam = new ToolTip {AutomaticDelay = 500, AutoPopDelay = 1500};
        }
Beispiel #18
0
        internal void EditCamera(objectsCamera cr)
        {
            int cameraId = Convert.ToInt32(cr.id);
            CameraWindow cw = null;

            for (int index = 0; index < _pnlCameras.Controls.Count; index++)
            {
                Control c = _pnlCameras.Controls[index];
                if (c.GetType() != typeof(CameraWindow)) continue;
                var cameraControl = (CameraWindow)c;
                if (cameraControl.Camobject.id == cameraId)
                {
                    cw = cameraControl;
                    break;
                }
            }

            if (cw == null) return;
            TopMost = false;
            var ac = new AddCamera { CameraControl = cw };
            ac.ShowDialog(this);
            ac.Dispose();
            TopMost = MainForm.Conf.AlwaysOnTop;
        }
Beispiel #19
0
        private CameraWindow NewCameraWindow(int videoSourceIndex)
        {
            var oc = new objectsCamera
                         {
                             alerts = new objectsCameraAlerts(),
                             detector = new objectsCameraDetector
                                            {
                                                motionzones =
                                                    new objectsCameraDetectorZone
                                                    [0]
                                            },
                             notifications = new objectsCameraNotifications(),
                             recorder = new objectsCameraRecorder(),
                             schedule = new objectsCameraSchedule {entries = new objectsCameraScheduleEntry[0]},
                             settings = new objectsCameraSettings(),
                             ftp = new objectsCameraFtp(),
                             id = -1,
                             directory = RandomString(5),
                             ptz = -1,
                             x = Convert.ToInt32(Random.NextDouble()*100),
                             y = Convert.ToInt32(Random.NextDouble()*100),
                             name = LocRm.GetString("Camera") + " " + NextCameraId
            };
            oc.ptzschedule = new objectsCameraPtzschedule
            {
                active = false,
                entries = new objectsCameraPtzscheduleEntry[] { }
            };
            oc.flipx = oc.flipy = false;
            oc.width = 320;
            oc.height = 240;
            oc.description = "";
            oc.resolution = "320x240";
            oc.newrecordingcount = 0;

            oc.alerts.active = true;
            oc.alerts.mode = "movement";
            oc.alerts.alertoptions = "false,false";
            oc.alerts.objectcountalert = 1;
            oc.alerts.minimuminterval = 180;
            oc.alerts.processmode = "continuous";
            oc.alerts.pluginconfig = "";
            oc.alerts.trigger = "";

            oc.notifications.sendemail = false;
            oc.notifications.sendsms = false;
            oc.notifications.sendmms = false;
            oc.notifications.emailgrabinterval = 0;

            oc.ftp.enabled = false;
            oc.ftp.port = 21;
            oc.ftp.mode = 0;
            oc.ftp.server = "ftp://";
            oc.ftp.interval = 10;
            oc.ftp.filename = "mylivecamerafeed.jpg";
            oc.ftp.localfilename = "{0:yyyy-MM-dd_HH-mm-ss_fff}.jpg";
            oc.ftp.ready = true;
            oc.ftp.text = "www.ispyconnect.com";
            oc.ftp.quality = 75;

            oc.schedule.active = false;

            oc.settings.active = false;
            oc.settings.deleteavi = true;
            oc.settings.ffmpeg = Conf.FFMPEG_Camera;
            oc.settings.emailaddress = EmailAddress;
            oc.settings.smsnumber = MobileNumber;
            oc.settings.suppressnoise = true;
            oc.settings.login = "";
            oc.settings.password = "";
            oc.settings.useragent = "Mozilla/5.0";
            oc.settings.frameinterval = 10;
            oc.settings.sourceindex = videoSourceIndex;
            oc.settings.micpair = -1;
            oc.settings.frameinterval = 200;
            oc.settings.maxframerate = 10;
            oc.settings.maxframeraterecord = 10;
            oc.settings.ptzautotrack = false;
            oc.settings.framerate = 10;
            oc.settings.timestamplocation = 1;
            oc.settings.ptztimetohome = 100;
            oc.settings.ptzchannel = "0";
            oc.settings.timestampformatter = "FPS: {FPS} {0:G} ";
            oc.settings.timestampfontsize = 10;
            oc.settings.notifyondisconnect = false;
            oc.settings.ptzautohomedelay = 30;
            oc.settings.accessgroups = "";

            oc.settings.youtube = new objectsCameraSettingsYoutube
            {
                autoupload = false,
                category = Conf.YouTubeDefaultCategory,
                tags = "iSpy, Motion Detection, Surveillance",
                @public = false
            };
            oc.settings.desktopresizeheight = 480;
            oc.settings.desktopresizewidth = 640;
            oc.settings.resize = false;

            if (VlcHelper.VlcInstalled)
                oc.settings.vlcargs = "-I" + NL + "dummy" + NL + "--ignore-config" + NL +
                                      "--plugin-path=\"" + VlcHelper.VlcPluginsFolder + "\"";
            else
                oc.settings.vlcargs = "";

            oc.detector.recordondetect = true;
            oc.detector.keepobjectedges = false;
            oc.detector.processeveryframe = 1;
            oc.detector.nomovementinterval = 30;
            oc.detector.movementinterval = 0;
            oc.detector.calibrationdelay = 15;
            oc.detector.color = ColorTranslator.ToHtml(Conf.TrackingColor.ToColor());
            oc.detector.type = "Two Frames";
            oc.detector.postprocessor = "None";
            oc.detector.minsensitivity = 20;
            oc.detector.maxsensitivity = 100;
            oc.detector.minwidth = 20;
            oc.detector.minheight = 20;
            oc.detector.highlight = true;

            oc.recorder.bufferseconds = 3;
            oc.recorder.inactiverecord = 8;
            oc.recorder.timelapse = 0;
            oc.recorder.timelapseframes = 0;
            oc.recorder.maxrecordtime = 900;
            oc.recorder.timelapsesave = 60;
            oc.recorder.quality = 8;
            oc.recorder.timelapseframerate = 5;
            oc.recorder.crf = true;

            oc.settings.audioport = 80;
            oc.settings.audiomodel = "None";
            oc.settings.audioip = "";

            var cameraControl = new CameraWindow(oc) { BackColor = Conf.BackColor.ToColor() };
            _pnlCameras.Controls.Add(cameraControl);

            cameraControl.Location = new Point(oc.x, oc.y);
            cameraControl.Size = new Size(320, 240);
            cameraControl.AutoSize = true;
            cameraControl.BringToFront();
            SetCameraEvents(cameraControl);
            if (Conf.AutoLayout)
                LayoutObjects(0, 0);

            cameraControl.Tag = GetControlIndex();

            return cameraControl;
        }
Beispiel #20
0
 public VideoBase(objectsCamera source)
 {
     _source = source;
 }
Beispiel #21
0
 internal void DisplayCamera(objectsCamera cam)
 {
     var cameraControl = new CameraWindow(cam);
     SetCameraEvents(cameraControl);
     cameraControl.BackColor = iSpyServer.Default.BackColor;
     _pnlCameras.Controls.Add(cameraControl);
     cameraControl.Location = new Point(cam.x, cam.y);
     cameraControl.Size = new Size(cam.width, cam.height);
     cameraControl.BringToFront();
     if (cam.settings.active)
         cameraControl.Enable();
 }
Beispiel #22
0
 /// <summary>
 /// Initializes a new instance of the <see cref="KinectNetworkStream"/> class.
 /// </summary>
 ///
 /// <param name="source">URL, which provides MJPEG stream.</param>
 ///
 public KinectNetworkStream(objectsCamera source)
 {
     _source = source;
 }
Beispiel #23
0
        public static string AlertSummary(objectsActionsEntry e)
        {
            string t = "Unknown";
            bool   b;

            switch (e.type.ToUpperInvariant())
            {
            case "EXE":
                t = LocRm.GetString("ExecuteFile") + ": " + e.param1;
                break;

            case "URL":
                t = LocRm.GetString("CallURL") + ": " + e.param1;
                Boolean.TryParse(e.param2, out b);
                if (b)
                {
                    t += " (POST grab)";
                }
                break;

            case "NM":
                t = e.param1 + " " + e.param2 + ":" + e.param3 + " (" + e.param4 + ")";
                break;

            case "S":
                t = LocRm.GetString("PlaySound") + ": " + e.param1;
                break;

            case "ATC":
                t = LocRm.GetString("SoundThroughCamera") + ": " + e.param1;
                break;

            case "SW":
                t = LocRm.GetString("ShowWindow");
                break;

            case "B":
                t = LocRm.GetString("Beep");
                break;

            case "M":
                t = LocRm.GetString("Maximise");
                break;

            case "MO":
                t = LocRm.GetString("SwitchMonitorOn");
                break;

            case "TA":
            {
                string[] op = e.param1.Split(',');
                string   n  = "[removed]";
                int      id = Convert.ToInt32(op[1]);
                switch (op[0])
                {
                case "1":
                    objectsMicrophone om = MainForm.Microphones.FirstOrDefault(p => p.id == id);
                    if (om != null)
                    {
                        n = om.name;
                    }
                    break;

                case "2":
                    objectsCamera oc = MainForm.Cameras.FirstOrDefault(p => p.id == id);
                    if (oc != null)
                    {
                        n = oc.name;
                    }
                    break;
                }
                t = LocRm.GetString("TriggerAlertOn") + " " + n;
            }
            break;

            case "SOO":
            {
                string[] op = e.param1.Split(',');
                string   n  = "[removed]";
                int      id = Convert.ToInt32(op[1]);
                switch (op[0])
                {
                case "1":
                    objectsMicrophone om = MainForm.Microphones.FirstOrDefault(p => p.id == id);
                    if (om != null)
                    {
                        n = om.name;
                    }
                    break;

                case "2":
                    objectsCamera oc = MainForm.Cameras.FirstOrDefault(p => p.id == id);
                    if (oc != null)
                    {
                        n = oc.name;
                    }
                    break;
                }
                t = LocRm.GetString("SwitchObjectOn") + " " + n;
            }
            break;

            case "SOF":
            {
                string[] op = e.param1.Split(',');
                string   n  = "[removed]";
                int      id;
                int.TryParse(op[1], out id);
                switch (op[0])
                {
                case "1":
                    objectsMicrophone om = MainForm.Microphones.FirstOrDefault(p => p.id == id);
                    if (om != null)
                    {
                        n = om.name;
                    }
                    break;

                case "2":
                    objectsCamera oc = MainForm.Cameras.FirstOrDefault(p => p.id == id);
                    if (oc != null)
                    {
                        n = oc.name;
                    }
                    break;
                }
                t = LocRm.GetString("SwitchObjectOff") + " " + n;
            }
            break;

            case "E":
                t = LocRm.GetString("SendEmail") + ": " + e.param1;
                if (e.param2 != "")
                {
                    bool.TryParse(e.param2, out b);
                    if (b)
                    {
                        t += " (include grab)";
                    }
                }

                break;

            case "SMS":
                t = LocRm.GetString("SendSMS") + ": " + e.param1;
                break;

            case "TM":
                t = LocRm.GetString("SendTwitterMessage");
                break;
            }

            return(t);
        }
Beispiel #24
0
        internal void EditCamera(objectsCamera cr)
        {
            int cameraId = Convert.ToInt32(cr.id);
            CameraWindow cw = null;

            foreach (Control c in _pnlCameras.Controls)
            {
                if (c.GetType() == typeof (CameraWindow))
                {
                    var cameraControl = (CameraWindow) c;
                    if (cameraControl.Camobject.id == cameraId)
                    {
                        cw = cameraControl;
                        break;
                    }
                }
            }

            if (cw != null)
            {
                var ac = new AddCamera {CameraControl = cw};
                ac.ShowDialog(this);
                ac.Dispose();
            }
        }
Beispiel #25
0
        private void SetCam(string s, objectsCamera oc)
        {
            switch (s)
            {
            case "Groups":
                oc.settings.accessgroups = OC.settings.accessgroups;
                break;

            case "Transform":
                oc.rotateMode = OC.rotateMode;
                break;

            case "Timestamp":
                oc.settings.timestampbackcolor = OC.settings.timestampbackcolor;
                oc.settings.timestampfont      = OC.settings.timestampfont;
                oc.settings.timestampfontsize  = OC.settings.timestampfontsize;
                oc.settings.timestampforecolor = OC.settings.timestampforecolor;
                oc.settings.timestampformatter = OC.settings.timestampformatter;
                oc.settings.timestamplocation  = OC.settings.timestamplocation;
                oc.settings.timestampoffset    = OC.settings.timestampoffset;
                oc.settings.timestampshowback  = OC.settings.timestampshowback;
                break;

            case "Mask Image":
                oc.settings.maskimage = OC.settings.maskimage;
                break;

            case "Frame Rates":
                oc.settings.maxframerate = OC.settings.maxframerate;
                oc.settings.framerate    = OC.settings.framerate;
                break;

            case "Motion Detector Settings":
                oc.detector.autooff                 = OC.detector.autooff;
                oc.detector.calibrationdelay        = OC.detector.autooff;
                oc.detector.color                   = OC.detector.color;
                oc.detector.colourprocessing        = OC.detector.colourprocessing;
                oc.detector.colourprocessingenabled = OC.detector.colourprocessingenabled;
                oc.detector.gain                  = OC.detector.gain;
                oc.detector.highlight             = OC.detector.highlight;
                oc.detector.keepobjectedges       = OC.detector.keepobjectedges;
                oc.detector.maxsensitivity        = OC.detector.maxsensitivity;
                oc.detector.minheight             = OC.detector.minheight;
                oc.detector.minsensitivity        = OC.detector.minsensitivity;
                oc.detector.minwidth              = OC.detector.minwidth;
                oc.detector.movementintervalnew   = OC.detector.movementintervalnew;
                oc.detector.nomovementintervalnew = OC.detector.nomovementintervalnew;
                oc.detector.postprocessor         = OC.detector.postprocessor;
                oc.detector.processeveryframe     = OC.detector.processeveryframe;
                oc.detector.type                  = OC.detector.type;
                oc.detector.sensitivity           = OC.detector.sensitivity;
                oc.detector.postprocessor         = OC.detector.postprocessor;
                oc.settings.suppressnoise         = OC.settings.suppressnoise;
                break;

            case "Motion Detector Zones":
                oc.detector.motionzones = OC.detector.motionzones.ToArray();
                break;

            case "Alert Settings":
                oc.alerts.active          = OC.alerts.active;
                oc.alerts.mode            = OC.alerts.mode;
                oc.alerts.groupname       = OC.alerts.groupname;
                oc.alerts.resetinterval   = OC.alerts.resetinterval;
                oc.alerts.minimuminterval = OC.alerts.minimuminterval;
                break;

            case "Actions: Alert":
            {
                CopyActions(OC.id, oc.id, 2, "alert");
            }
            break;

            case "Actions: Connection Lost":
            {
                CopyActions(OC.id, oc.id, 2, "disconnect");
            }
            break;

            case "Actions: Reconnect":
            {
                CopyActions(OC.id, oc.id, 2, "reconnect");
            }
            break;

            case "Recording Mode":
                oc.detector.recordonalert  = OC.detector.recordonalert;
                oc.detector.recordondetect = OC.detector.recordondetect;
                break;

            case "Recording Settings (excluding triggers)":
                oc.recorder.bufferseconds  = OC.recorder.bufferseconds;
                oc.recorder.crf            = OC.recorder.crf;
                oc.recorder.inactiverecord = OC.recorder.inactiverecord;
                oc.recorder.maxrecordtime  = OC.recorder.maxrecordtime;
                oc.recorder.minrecordtime  = OC.recorder.minrecordtime;
                oc.recorder.profile        = OC.recorder.profile;
                oc.recorder.quality        = OC.recorder.quality;
                break;

            case "Timelapse Settings":
                oc.recorder.timelapse          = OC.recorder.timelapse;
                oc.recorder.timelapseenabled   = OC.recorder.timelapseenabled;
                oc.recorder.timelapseframerate = OC.recorder.timelapseframerate;
                oc.recorder.timelapseframes    = OC.recorder.timelapseframes;
                oc.recorder.timelapsesave      = OC.recorder.timelapsesave;
                break;

            case "Image Settings":
                oc.savelocal.enabled      = OC.savelocal.enabled;
                oc.savelocal.filename     = OC.savelocal.filename;
                oc.savelocal.countermax   = OC.savelocal.countermax;
                oc.savelocal.intervalnew  = OC.savelocal.intervalnew;
                oc.savelocal.minimumdelay = OC.savelocal.minimumdelay;
                oc.savelocal.mode         = OC.savelocal.mode;
                oc.savelocal.quality      = OC.savelocal.quality;
                oc.savelocal.text         = OC.savelocal.text;
                break;

            case "FTP Upload Settings":
                oc.ftp.server       = OC.ftp.server;
                oc.ftp.countermax   = OC.ftp.countermax;
                oc.ftp.enabled      = OC.ftp.enabled;
                oc.ftp.filename     = OC.ftp.filename;
                oc.ftp.intervalnew  = OC.ftp.intervalnew;
                oc.ftp.minimumdelay = OC.ftp.minimumdelay;
                oc.ftp.quality      = OC.ftp.quality;
                oc.ftp.text         = OC.ftp.text;
                break;

            case "Schedule":
            {
                oc.schedule.entries = OC.schedule.entries.ToArray();
                oc.schedule.active  = OC.schedule.active;
            }
            break;

            case "Storage Settings (excluding directory)":
                oc.settings.storagemanagement.archive = OC.settings.storagemanagement.archive;
                oc.settings.storagemanagement.enabled = OC.settings.storagemanagement.enabled;
                oc.settings.storagemanagement.maxage  = OC.settings.storagemanagement.maxage;
                oc.settings.storagemanagement.maxsize = OC.settings.storagemanagement.maxsize;
                break;
            }
        }
Beispiel #26
0
        private void AddCamera(int videoSourceIndex)
        {
            var oc = new objectsCamera
                         {
                             alerts = new objectsCameraAlerts(),
                             detector = new objectsCameraDetector
                                            {
                                                motionzones =
                                                    new objectsCameraDetectorZone
                                                    [0]
                                            }
                         };
            oc.notifications = new objectsCameraNotifications();
            oc.recorder = new objectsCameraRecorder();
            oc.schedule = new objectsCameraSchedule {entries = new objectsCameraScheduleEntry[0]};
            oc.settings = new objectsCameraSettings();
            oc.ftp = new objectsCameraFtp();

            oc.id = -1;
            oc.directory = RandomString(5);
            oc.ptz = -1;
            oc.x = 0;
            oc.y = 0;
            oc.flipx = oc.flipy = false;
            oc.width = 320;
            oc.height = 240;
            oc.name = "";
            oc.description = "";
            oc.resolution = "320x240";
            oc.newrecordingcount = 0;

            oc.alerts.active = false;
            oc.alerts.mode = "movement";
            oc.alerts.alertoptions = "false,false";
            oc.alerts.objectcountalert = 1;
            oc.alerts.minimuminterval = 180;

            oc.notifications.sendemail = false;
            oc.notifications.sendsms = false;
            oc.notifications.sendmms = false;
            oc.notifications.emailgrabinterval = 0;

            oc.ftp.enabled = false;
            oc.ftp.port = 21;
            oc.ftp.server = "ftp://";
            oc.ftp.interval = 10;
            oc.ftp.filename = "mylivecamerafeed.jpg";
            oc.ftp.ready = true;
            oc.ftp.text = "www.ispyconnect.com";

            oc.schedule.active = false;

            oc.settings.active = false;
            oc.settings.deleteavi = true;
            oc.settings.ffmpeg = iSpyServer.Default.FFMPEG_Camera;
            oc.settings.emailaddress = EmailAddress;
            oc.settings.smsnumber = MobileNumber;
            oc.settings.suppressnoise = true;
            oc.settings.login = "";
            oc.settings.password = "";
            oc.settings.useragent = "Mozilla/5.0";
            oc.settings.frameinterval = 10;
            oc.settings.sourceindex = videoSourceIndex;
            oc.settings.micpair = -1;
            oc.settings.frameinterval = 200;
            oc.settings.framerate = 10;
            oc.settings.timestamplocation = 0;
            oc.settings.timestampformatter = "FPS: {FPS} {0:G} ";
            oc.settings.notifyondisconnect = false;

            oc.settings.youtube = new objectsCameraSettingsYoutube();
            oc.settings.youtube.autoupload = false;
            oc.settings.youtube.category = iSpyServer.Default.YouTubeDefaultCategory;
            oc.settings.youtube.tags = "iSpy, Motion Detection, Surveillance";
            oc.settings.youtube.@public = true;
            oc.settings.desktopresizeheight = 480;
            oc.settings.desktopresizewidth = 640;

            oc.detector.recordondetect = true;
            oc.detector.keepobjectedges = false;
            oc.detector.processeveryframe = 1;
            oc.detector.nomovementinterval = 30;
            oc.detector.movementinterval = 0;
            oc.detector.calibrationdelay = 15;
            oc.detector.color = ColorTranslator.ToHtml(iSpyServer.Default.TrackingColor);
            oc.detector.type = "None";
            oc.detector.postprocessor = "None";
            oc.detector.sensitivity = 80;

            oc.recorder.bufferframes = 30;
            oc.recorder.inactiverecord = 5;
            oc.recorder.timelapse = 0;
            oc.recorder.timelapseframes = 0;
            oc.recorder.maxrecordtime = 900;

            var cameraControl = new CameraWindow(oc) {BackColor = iSpyServer.Default.BackColor};
            _pnlCameras.Controls.Add(cameraControl);

            cameraControl.Location = new Point(oc.x, oc.y);
            cameraControl.Size = new Size(320, 240);
            cameraControl.AutoSize = true;
            cameraControl.BringToFront();
            SetCameraEvents(cameraControl);

            var ac = new AddCamera {CameraControl = cameraControl};
            ac.ShowDialog(this);
            if (ac.DialogResult == DialogResult.OK)
            {
                ac.CameraControl.Camobject.id = iSpyServer.Default.NextCameraID;
                Cameras.Add(oc);
                iSpyServer.Default.NextCameraID++;

                SetNewStartPosition();
                NeedsSync = true;
            }
            else
            {
                cameraControl.Disable();
                _pnlCameras.Controls.Remove(cameraControl);
                cameraControl.Dispose();
            }
            ac.Dispose();
        }
Beispiel #27
0
        internal void EditCamera(objectsCamera cr, IWin32Window owner = null)
        {
            int cameraId = Convert.ToInt32(cr.id);
            CameraWindow cw = null;

            for (int index = 0; index < _pnlCameras.Controls.Count; index++)
            {
                Control c = _pnlCameras.Controls[index];
                if (c.GetType() != typeof(CameraWindow)) continue;
                var cameraControl = (CameraWindow)c;
                if (cameraControl.Camobject.id == cameraId)
                {
                    cw = cameraControl;
                    break;
                }
            }

            if (cw == null) return;
            var ac = new AddCamera { CameraControl = cw, MainClass = this };
            ac.ShowDialog(owner ?? this);
            ac.Dispose();
        }
Beispiel #28
0
 /// <summary>
 /// Initializes a new instance of the <see cref="VlcStream"/> class.
 /// </summary>
 ///
 /// <param name="source">URL, which provides VLCstream.</param>
 /// <param name="arguments"></param>
 public VlcStream(objectsCamera source, string[] arguments) : base(source)
 {
     _source    = source;
     _arguments = arguments;
     TimeOut    = source.settings.timeout;
 }
Beispiel #29
0
 public clb(objectsCamera c)
 {
     C = c;
 }
Beispiel #30
0
 private void SetCam(string s, objectsCamera oc)
 {
     switch (s)
     {
         case "Groups":
             oc.settings.accessgroups = OC.settings.accessgroups;
             break;
         case "Transform":
             oc.rotateMode = OC.rotateMode;
             break;
         case "Timestamp":
             oc.settings.timestampbackcolor = OC.settings.timestampbackcolor;
             oc.settings.timestampfont = OC.settings.timestampfont;
             oc.settings.timestampfontsize = OC.settings.timestampfontsize;
             oc.settings.timestampforecolor = OC.settings.timestampforecolor;
             oc.settings.timestampformatter = OC.settings.timestampformatter;
             oc.settings.timestamplocation = OC.settings.timestamplocation;
             oc.settings.timestampoffset = OC.settings.timestampoffset;
             oc.settings.timestampshowback = OC.settings.timestampshowback;
             break;
         case "Mask Image":
             oc.settings.maskimage = OC.settings.maskimage;
             break;
         case "Frame Rates":
             oc.settings.maxframerate = OC.settings.maxframerate;
             oc.settings.framerate = OC.settings.framerate;
             break;
         case "Motion Detector Settings":
             oc.detector.autooff = OC.detector.autooff;
             oc.detector.calibrationdelay = OC.detector.autooff;
             oc.detector.color = OC.detector.color;
             oc.detector.colourprocessing = OC.detector.colourprocessing;
             oc.detector.colourprocessingenabled = OC.detector.colourprocessingenabled;
             oc.detector.gain = OC.detector.gain;
             oc.detector.highlight = OC.detector.highlight;
             oc.detector.keepobjectedges = OC.detector.keepobjectedges;
             oc.detector.maxsensitivity = OC.detector.maxsensitivity;
             oc.detector.minheight = OC.detector.minheight;
             oc.detector.minsensitivity = OC.detector.minsensitivity;
             oc.detector.minwidth = OC.detector.minwidth;
             oc.detector.movementintervalnew = OC.detector.movementintervalnew;
             oc.detector.nomovementintervalnew = OC.detector.nomovementintervalnew;
             oc.detector.postprocessor = OC.detector.postprocessor;
             oc.detector.processeveryframe = OC.detector.processeveryframe;
             oc.detector.type = OC.detector.type;
             oc.detector.sensitivity = OC.detector.sensitivity;
             oc.detector.postprocessor = OC.detector.postprocessor;
             oc.settings.suppressnoise = OC.settings.suppressnoise;
             break;
         case "Motion Detector Zones":
             oc.detector.motionzones = OC.detector.motionzones.ToArray();
             break;
         case "Alert Settings":
             oc.alerts.active = OC.alerts.active;
             oc.alerts.mode = OC.alerts.mode;
             oc.alerts.groupname = OC.alerts.groupname;
             oc.alerts.resetinterval = OC.alerts.resetinterval;
             oc.alerts.minimuminterval = OC.alerts.minimuminterval;
             break;
         case "Actions: Alert":
         {
             CopyActions(OC.id, oc.id, 2, "alert");
         }
             break;
         case "Actions: Connection Lost":
         {
             CopyActions(OC.id, oc.id, 2, "disconnect");
         }
             break;
         case "Actions: Reconnect":
         {
             CopyActions(OC.id, oc.id, 2, "reconnect");
         }
             break;
         case "Recording Mode":
             oc.detector.recordonalert = OC.detector.recordonalert;
             oc.detector.recordondetect = OC.detector.recordondetect;
             break;
         case "Recording Settings (excluding triggers)":
             oc.recorder.bufferseconds = OC.recorder.bufferseconds;
             oc.recorder.crf = OC.recorder.crf;
             oc.recorder.inactiverecord = OC.recorder.inactiverecord;
             oc.recorder.maxrecordtime = OC.recorder.maxrecordtime;
             oc.recorder.minrecordtime = OC.recorder.minrecordtime;
             oc.recorder.profile = OC.recorder.profile;
             oc.recorder.quality = OC.recorder.quality;
             break;
         case "Timelapse Settings":
             oc.recorder.timelapse = OC.recorder.timelapse;
             oc.recorder.timelapseenabled = OC.recorder.timelapseenabled;
             oc.recorder.timelapseframerate = OC.recorder.timelapseframerate;
             oc.recorder.timelapseframes = OC.recorder.timelapseframes;
             oc.recorder.timelapsesave = OC.recorder.timelapsesave;
             break;
         case "Image Settings":
             oc.savelocal.enabled = OC.savelocal.enabled;
             oc.savelocal.filename = OC.savelocal.filename;
             oc.savelocal.countermax = OC.savelocal.countermax;
             oc.savelocal.intervalnew = OC.savelocal.intervalnew;
             oc.savelocal.minimumdelay = OC.savelocal.minimumdelay;
             oc.savelocal.mode = OC.savelocal.mode;
             oc.savelocal.quality = OC.savelocal.quality;
             oc.savelocal.text = OC.savelocal.text;
             break;
         case "FTP Upload Settings":
             oc.ftp.server = OC.ftp.server;
             oc.ftp.countermax = OC.ftp.countermax;
             oc.ftp.enabled = OC.ftp.enabled;
             oc.ftp.filename = OC.ftp.filename;
             oc.ftp.intervalnew = OC.ftp.intervalnew;
             oc.ftp.minimumdelay = OC.ftp.minimumdelay;
             oc.ftp.quality = OC.ftp.quality;
             oc.ftp.text = OC.ftp.text;
             break;
         case "Schedule":
         {
             oc.schedule.entries = OC.schedule.entries.ToArray();
             oc.schedule.active = OC.schedule.active;
         }
             break;
         case "Storage Settings (excluding directory)":
             oc.settings.storagemanagement.archive = OC.settings.storagemanagement.archive;
             oc.settings.storagemanagement.enabled = OC.settings.storagemanagement.enabled;
             oc.settings.storagemanagement.maxage = OC.settings.storagemanagement.maxage;
             oc.settings.storagemanagement.maxsize = OC.settings.storagemanagement.maxsize;
             break;
     }
 }
Beispiel #31
0
        internal void DisplayCamera(objectsCamera cam)
        {
            var cameraControl = new CameraWindow(cam);
            SetCameraEvents(cameraControl);
            cameraControl.BackColor = Conf.BackColor.ToColor();
            _pnlCameras.Controls.Add(cameraControl);
            cameraControl.Location = new Point(cam.x, cam.y);
            cameraControl.Size = new Size(cam.width, cam.height);
            cameraControl.BringToFront();
            cameraControl.Tag = GetControlIndex();

            if (Conf.AutoSchedule && cam.schedule.active && cam.schedule.entries.Any())
            {
                cam.settings.active = false;
                cameraControl.ApplySchedule();
            }
            else
            {
                try
                {
                    if (cam.settings.active)
                        cameraControl.Enable();
                }
                catch (Exception ex)
                {
                    Log.Error("", ex);
                }
            }

            string path = Conf.MediaDirectory + "video\\" + cam.directory + "\\";
            if (!Directory.Exists(path))
                Directory.CreateDirectory(path);
            path = Conf.MediaDirectory + "video\\" + cam.directory + "\\thumbs\\";
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
                //move existing thumbs into directory
                var lfi =
                    Directory.GetFiles(Conf.MediaDirectory + "video\\" + cam.directory + "\\", "*.jpg").ToList();
                foreach (string file in lfi)
                {
                    string destfile = file;
                    int i = destfile.LastIndexOf(@"\", StringComparison.Ordinal);
                    destfile = file.Substring(0, i) + @"\thumbs" + file.Substring(i);
                    File.Move(file, destfile);
                }
            }
            path = Conf.MediaDirectory + "video\\" + cam.directory + "\\grabs\\";
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
        }
Beispiel #32
0
        public void DisplayCamera(objectsCamera cam, bool enableOnDisplay = false)
        {
            var cameraControl = new CameraWindow(cam,this);
            SetCameraEvents(cameraControl);
            cameraControl.BackColor = Conf.BackColor.ToColor();
            _pnlCameras.Controls.Add(cameraControl);
            cameraControl.Location = new Point(cam.x, cam.y);
            cameraControl.Size = new Size(cam.width, cam.height);
            cameraControl.BringToFront();
            cameraControl.Tag = GetControlIndex();

            var dir = Helper.GetMediaDirectory(2, cam.id);
            string path = dir + "video\\" + cam.directory + "\\";
            try
            {
                if (!Directory.Exists(path))
                    Directory.CreateDirectory(path);
                path = dir + "video\\" + cam.directory + "\\thumbs\\";
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                    //move existing thumbs into directory
                    var lfi =
                        Directory.GetFiles(dir + "video\\" + cam.directory + "\\", "*.jpg").ToList();
                    foreach (string file in lfi)
                    {
                        string destfile = file;
                        int i = destfile.LastIndexOf(@"\", StringComparison.Ordinal);
                        destfile = file.Substring(0, i) + @"\thumbs" + file.Substring(i);
                        File.Move(file, destfile);
                    }
                }
                path = dir + "video\\" + cam.directory + "\\grabs\\";
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
            }
            catch (Exception ex)
            {
                LogExceptionToFile(ex);
            }
            if (enableOnDisplay)
                cameraControl.Enable();
            cameraControl.GetFiles();
        }
Beispiel #33
0
 public clb(objectsCamera c)
 {
     C = c;
 }
Beispiel #34
0
        private CameraWindow NewCameraWindow(int videoSourceIndex)
        {
            var oc = new objectsCamera
            {
                alerts = new objectsCameraAlerts(),
                detector = new objectsCameraDetector
                {
                    motionzones =
                        new objectsCameraDetectorZone
                        [0]
                },
                notifications = new objectsCameraNotifications(),
                recorder = new objectsCameraRecorder(),
                schedule = new objectsCameraSchedule { entries = new objectsCameraScheduleEntry[0] },
                settings = new objectsCameraSettings { pip = new objectsCameraSettingsPip { enabled = false, config = ""}},
                ftp = new objectsCameraFtp(),
                savelocal = new objectsCameraSavelocal(),
                id = -1,
                directory = RandomString(5),
                ptz = -1,
                x = Convert.ToInt32(Random.NextDouble() * 100),
                y = Convert.ToInt32(Random.NextDouble() * 100),
                ptzschedule = new objectsCameraPtzschedule
                {
                    active = false,
                    entries = new objectsCameraPtzscheduleEntry[] { }
                }
            };

            string friendlyName = LocRm.GetString("Camera") + " " + NextCameraId;

            string t = friendlyName;
            int i = 1;
            while (Cameras.FirstOrDefault(p => p.name == t) != null)
            {
                t = friendlyName + " (" + i + ")";
                i++;
            }

            oc.name = t;

            oc.flipx = oc.flipy = false;
            oc.width = 320;
            oc.height = 240;
            oc.description = "";
            oc.resolution = "320x240";
            oc.newrecordingcount = 0;

            oc.alerts.active = true;
            oc.alerts.mode = "movement";
            oc.alerts.alertoptions = "false,false";
            oc.alerts.objectcountalert = 1;
            oc.alerts.minimuminterval = 180;
            oc.alerts.processmode = "continuous";
            oc.alerts.pluginconfig = "";
            oc.alerts.trigger = "";

            oc.notifications.sendemail = false;
            oc.notifications.sendsms = false;
            oc.notifications.sendmms = false;
            oc.notifications.emailgrabinterval = 0;

            oc.ftp.enabled = false;
            oc.ftp.port = 21;
            oc.ftp.mode = 0;
            oc.ftp.server = "ftp://";
            oc.ftp.interval = 10;
            oc.ftp.intervalnew = 10;
            oc.ftp.filename = "mylivecamerafeed.jpg";
            oc.ftp.ready = true;
            oc.ftp.text = "www.ispyconnect.com";
            oc.ftp.quality = 75;
            oc.ftp.counter = 0;
            oc.ftp.countermax = 20;
            oc.ftp.minimumdelay = 0;

            oc.savelocal.enabled = false;
            oc.savelocal.mode = 0;
            oc.savelocal.intervalnew = 10;
            oc.savelocal.filename = "{0:yyyy-MM-dd_HH-mm-ss_fff}.jpg";
            oc.savelocal.text = "www.ispyconnect.com";
            oc.savelocal.quality = 75;
            oc.savelocal.counter = 0;
            oc.savelocal.countermax = 20;
            oc.savelocal.minimumdelay = 0;

            oc.schedule.active = false;

            oc.settings.active = false;
            oc.settings.deleteavi = true;
            oc.settings.ffmpeg = Conf.FFMPEG_Camera;
            oc.settings.emailaddress = EmailAddress;
            oc.settings.smsnumber = MobileNumber;
            oc.settings.suppressnoise = true;
            oc.settings.login = "";
            oc.settings.password = "";
            oc.settings.useragent = "Mozilla/5.0";
            oc.settings.frameinterval = 10;
            oc.settings.sourceindex = videoSourceIndex;
            oc.settings.micpair = -1;
            oc.settings.frameinterval = 200;
            oc.settings.maxframerate = 10;
            oc.settings.maxframeraterecord = 10;
            oc.settings.ptzautotrack = false;
            oc.settings.framerate = 10;
            oc.settings.timestamplocation = 1;
            oc.settings.ptztimetohome = 100;
            oc.settings.ptzchannel = "0";
            oc.settings.timestampformatter = "FPS: {FPS} {0:G} ";
            oc.settings.timestampfontsize = 10;
            oc.settings.notifyondisconnect = false;
            oc.settings.ptzautohomedelay = 30;
            oc.settings.accessgroups = "";
            oc.settings.nobuffer = true;
            oc.settings.reconnectinterval = 0;
            oc.settings.timestampforecolor = "255,255,255";
            oc.settings.timestampbackcolor = "70,70,70";
            oc.settings.timestampfont = FontXmlConverter.ConvertToString(Drawfont);
            oc.settings.timestampshowback = true;

            oc.settings.youtube = new objectsCameraSettingsYoutube
            {
                category = Conf.YouTubeDefaultCategory,
                tags = "iSpy, Motion Detection, Surveillance",
                @public = true
            };
            oc.settings.cloudprovider = new objectsCameraSettingsCloudprovider();

            oc.settings.storagemanagement = new objectsCameraSettingsStoragemanagement
            {
                enabled = false,
                maxage = 72,
                maxsize = 1024

            };

            oc.alertevents = new objectsCameraAlertevents { entries = new objectsCameraAlerteventsEntry[] { } };

            oc.settings.desktopresizeheight = 480;
            oc.settings.desktopresizewidth = 640;
            oc.settings.resize = false;
            oc.settings.directoryIndex = Conf.MediaDirectories.First().ID;

            oc.settings.vlcargs = VlcHelper.VlcInstalled ? "--rtsp-caching=100" : "";

            oc.detector.recordondetect = Conf.DefaultRecordOnDetect;
            oc.detector.recordonalert = Conf.DefaultRecordOnAlert;
            oc.detector.keepobjectedges = false;
            oc.detector.processeveryframe = 1;
            oc.detector.nomovementintervalnew = oc.detector.nomovementinterval = 30;
            oc.detector.movementintervalnew = oc.detector.movementinterval = 0;

            oc.detector.calibrationdelay = 15;
            oc.detector.color = ColorTranslator.ToHtml(Conf.TrackingColor.ToColor());
            oc.detector.type = "Two Frames";
            oc.detector.postprocessor = "None";
            oc.detector.minsensitivity = 20;
            oc.detector.maxsensitivity = 100;
            oc.detector.minwidth = 20;
            oc.detector.minheight = 20;
            oc.detector.highlight = true;

            oc.recorder.bufferseconds = 2;
            oc.recorder.inactiverecord = 8;
            oc.recorder.timelapse = 0;
            oc.recorder.timelapseframes = 0;
            oc.recorder.maxrecordtime = 900;
            oc.recorder.timelapsesave = 60;
            oc.recorder.quality = 8;
            oc.recorder.timelapseframerate = 5;
            oc.recorder.crf = true;

            oc.settings.audioport = 80;
            oc.settings.audiomodel = "None";
            oc.settings.audioip = "";
            oc.rotateMode = "RotateNoneFlipNone";

            var cameraControl = new CameraWindow(oc,this) { BackColor = Conf.BackColor.ToColor() };
            _pnlCameras.Controls.Add(cameraControl);

            cameraControl.Location = new Point(oc.x, oc.y);
            cameraControl.Size = new Size(320, 240);
            cameraControl.AutoSize = true;
            cameraControl.BringToFront();
            SetCameraEvents(cameraControl);
            if (Conf.AutoLayout)
                LayoutObjects(0, 0);

            cameraControl.Tag = GetControlIndex();

            return cameraControl;
        }
Beispiel #35
0
 /// <summary>
 /// Initializes a new instance of the <see cref="KinectNetworkStream"/> class.
 /// </summary>
 ///
 /// <param name="source">URL, which provides MJPEG stream.</param>
 ///
 public KinectNetworkStream(CameraWindow source) : base(source)
 {
     _source = source.Camobject;
 }