private void Add_Click(object sender, EventArgs e) { EditCamera form = new EditCamera(); var result = form.ShowDialog(this); if (result != DialogResult.OK) return; try { var cam = new CameraInfo(); cam.Description = ""; cam.Id = form.CameraId; cam.Location = new Uri(form.Url); cam.Provider = form.CameraType; this.Presenter.AddCamera(cam); } catch (System.Exception ex) { MessageBox.Show(ex.Message); } }
public void DeleteCamera(CameraInfo camera) { this.objContainer.Delete(camera); this.objContainer.Commit(); }
public void AddCamera(CameraInfo camera) { UpdateCamera(camera); }
public void UpdateCamera(CameraInfo camera) { this.objContainer.Store(camera); this.objContainer.Commit(); InvokeConfigurationChanged(); }
private void StartCameraInternal(CameraInfo cam) { System.Threading.WaitCallback action = delegate { try { if (cam.Provider == CameraProvider.Sanyo) { this._mainForm.StartRecord(cam); } } catch (System.Net.WebException ex) { var msg = string.Format("无法连接 {0}", cam.Location.Host); _mainForm.ShowMessage(msg); } }; System.Threading.ThreadPool.QueueUserWorkItem(action); }
public void DeleteCamera(CameraInfo cam) { this.manager.DeleteCamera(cam); this.form.cameraConfigurer1.Cameras = this.manager.GetCameras(); }
public void AddCamera(CameraInfo cam) { this.manager.AddCamera(cam); this.form.cameraConfigurer2.Cameras = this.manager.GetCameras(); }
private static FoKoShVideoSourceAdapter CreateAipCamera(CameraInfo cameraInfo, IntPtr hwnd) { var c = new FoKoShVideoSourceAdapter(hwnd); c.Camera.Ip = cameraInfo.Location.Host; c.Camera.Port = 6002; c.Camera.UserName = cameraInfo.LoginUserName ?? "system"; c.Camera.Password = cameraInfo.LoginPassword ?? "system"; c.FrameInterval = cameraInfo.Interval; return c; }
public void StartWith(CameraInfo cameraInfo, System.Windows.Forms.Control displayControl) { _displayControl = displayControl; if (_jpegStream == null) { switch (cameraInfo.Provider) { case CameraProvider.LocalDirectory: var dir = new Damany.Cameras.DirectoryFilesCamera(cameraInfo.Location.LocalPath, "*.*"); dir.Repeat = false; dir.FrameIntervalMs = cameraInfo.Interval; _jpegStream = dir; break; case CameraProvider.Sanyo: var sanyo = new JPEGExtendStream(cameraInfo.Location.ToString()); sanyo.Login = cameraInfo.LoginUserName ?? "guest"; sanyo.Password = cameraInfo.LoginPassword ?? "guest"; sanyo.FrameInterval = cameraInfo.Interval; sanyo.RequireCookie = cameraInfo.Provider == CameraProvider.Sanyo; _portraitFinder.PostFilters = _facePostFilters; _jpegStream = sanyo; break; case CameraProvider.AipStar: var hwnd = displayControl != null ? displayControl.Handle : IntPtr.Zero; var aip = CreateAipCamera(cameraInfo, hwnd); aip.Camera.StreamId = 0; Mediator.Instance.RegisterHandler( "liveViewResize", new Action<object>(LiveViewResized)); _jpegStream = aip; if (displayControl != null) { //aip.Camera.DisplayPos = displayControl.ClientRectangle; } var videoRecorder = CreateAipCamera(cameraInfo, IntPtr.Zero); videoRecorder.Camera.PathFunc = d => { var utc = d.ToUniversalTime(); var rp = string.Format( "{0:d2}\\NORMAL\\{1:d4}{2:d2}{3:d2}\\{4:d2}\\{5:d2}.m4v", cameraInfo.Id, utc.Year, utc.Month, utc.Day, utc.Hour, utc.Minute); var ap = Path.Combine(Util.GetVideoOutputPath(), rp); var directory = Path.GetDirectoryName(ap); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } return ap; }; videoRecorder.Camera.StreamId = 1; videoRecorder.Start(); videoRecorder.Camera.StartRecord(); break; default: throw new ArgumentOutOfRangeException(); } _cameraInfo = cameraInfo; _jpegStream.NewFrame += JpegStreamNewFrame; _jpegStream.Start(); if (_faceSearchTask == null) { _faceSearchTask = Task.Factory.StartNew( FaceSearchWorkerThread, _tokenSource.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default ); } _faceComparer.InitializeAsync(); _faceComparer.Start(); _faceComparer.Threshold = Properties.Settings.Default.RealTimeFaceCompareSensitivity; _faceComparer.Sensitivity = Properties.Settings.Default.LbpThreshold; } }
private void SendCommand(IEnumerable<INavigationCommand> commands) { var cam = _screen.SelectedCamera(); CurrentCamera = cam; commands.AddressTo((byte)cam.YunTaiId); var buffer = commands.Build(); var stream = _connectionManager.GetConnection(cam.YunTaiUri); stream.Write(buffer, 0, buffer.Length); }
public void StartWith(CameraInfo cameraInfo, System.Windows.Forms.Control displayControl) { _displayControl = displayControl; if (_jpegStream == null) { switch (cameraInfo.Provider) { case CameraProvider.LocalDirectory: var dir = new Damany.Cameras.DirectoryFilesCamera(cameraInfo.Location.LocalPath, "*.*"); dir.Repeat = false; dir.FrameIntervalMs = cameraInfo.Interval; _jpegStream = dir; break; case CameraProvider.Sanyo: var sanyo = new JPEGExtendStream(cameraInfo.Location.ToString()); sanyo.Login = cameraInfo.LoginUserName ?? "guest"; sanyo.Password = cameraInfo.LoginPassword ?? "guest"; sanyo.FrameInterval = cameraInfo.Interval; sanyo.RequireCookie = cameraInfo.Provider == CameraProvider.Sanyo; _portraitFinder.PostFilters = _facePostFilters; _jpegStream = sanyo; break; case CameraProvider.AipStar: var hwnd = displayControl != null ? displayControl.Handle : IntPtr.Zero; var aip = CreateAipCamera(cameraInfo, hwnd); aip.Camera.StreamId = 0; Mediator.Instance.RegisterHandler( "liveViewResize", new Action <object>(LiveViewResized)); _jpegStream = aip; if (displayControl != null) { //aip.Camera.DisplayPos = displayControl.ClientRectangle; } var videoRecorder = CreateAipCamera(cameraInfo, IntPtr.Zero); videoRecorder.Camera.PathFunc = d => { var utc = d.ToUniversalTime(); var rp = string.Format( "{0:d2}\\NORMAL\\{1:d4}{2:d2}{3:d2}\\{4:d2}\\{5:d2}.m4v", cameraInfo.Id, utc.Year, utc.Month, utc.Day, utc.Hour, utc.Minute); var ap = Path.Combine(Util.GetVideoOutputPath(), rp); var directory = Path.GetDirectoryName(ap); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } return(ap); }; videoRecorder.Camera.StreamId = 1; videoRecorder.Start(); videoRecorder.Camera.StartRecord(); break; default: throw new ArgumentOutOfRangeException(); } _cameraInfo = cameraInfo; _jpegStream.NewFrame += JpegStreamNewFrame; _jpegStream.Start(); if (_faceSearchTask == null) { _faceSearchTask = Task.Factory.StartNew( FaceSearchWorkerThread, _tokenSource.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default ); } _faceComparer.InitializeAsync(); _faceComparer.Start(); _faceComparer.Threshold = Properties.Settings.Default.RealTimeFaceCompareSensitivity; _faceComparer.Sensitivity = Properties.Settings.Default.LbpThreshold; } }
private void cameraTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { if (e.Node.Parent != null) { CurrentCamera = e.Node.Tag as CameraInfo; _navController.CurrentCamera = CurrentCamera; // MessageBox.Show(CurrentCamera.Location.ToString() + " " + CurrentCamera.Name); } }
public void StartRecord(CameraInfo cam) { var axCamImgCtrl = this.axCamImgCtrl1; if (InvokeRequired) { Action<CameraInfo, AxIMGCTRLLib.AxCamImgCtrl> action = StartRecordInternal; this.BeginInvoke(action, cam, axCamImgCtrl); return; } StartRecordInternal(cam, axCamImgCtrl); }
private void StartRecordInternal(CameraInfo cam, AxIMGCTRLLib.AxCamImgCtrl axCamImgCtrl) { axCamImgCtrl.CamImgCtrlStop(); System.Diagnostics.Debug.WriteLine(axCamImgCtrl.Tag); axCamImgCtrl.ImageFileURL = @"liveimg.cgi"; axCamImgCtrl.ImageType = @"MPEG"; axCamImgCtrl.CameraModel = 1; axCamImgCtrl.CtlLocation = @"http://" + cam.Location.Host; axCamImgCtrl.uid = "guest"; axCamImgCtrl.pwd = "guest"; axCamImgCtrl.RecordingFolderPath = Path.Combine(Util.GetVideoOutputPath(), cam.Id.ToString("D2")); axCamImgCtrl.RecordingFormat = 0; axCamImgCtrl.UniIP = this.axCamImgCtrl1.CtlLocation; axCamImgCtrl.UnicastPort = 3939; axCamImgCtrl.MulticastPort = 34344; axCamImgCtrl.MCIP = "239.136.50.230"; axCamImgCtrl.ComType = Properties.Settings.Default.SanyoCommType; //multi:1, udp:2, http:0 if (Properties.Settings.Default.Live) { axCamImgCtrl.CamImgCtrlStart(); axCamImgCtrl.CamImgRecStart(); } }