diff --git a/ISCamRecorder/ISCamRecorder.csproj b/ISCamRecorder/ISCamRecorder.csproj index 0fe4fb3..87d08bd 100644 --- a/ISCamRecorder/ISCamRecorder.csproj +++ b/ISCamRecorder/ISCamRecorder.csproj @@ -52,6 +52,9 @@ prompt true + + cameras3.ico + @@ -121,6 +124,11 @@ + + + + + copy $(ProjectDir)*.iccf $(TargetDir) diff --git a/ISCamRecorder/ISCamera.cs b/ISCamRecorder/ISCamera.cs index 14c2972..ed5752c 100644 --- a/ISCamRecorder/ISCamera.cs +++ b/ISCamRecorder/ISCamera.cs @@ -13,6 +13,7 @@ readonly string ICCF_FILE = @"dfk33ux290.iccf"; // 設定ファイル readonly string CAMERA_FORMAT = "RGB32 (1920x1080)"; // 設定ファイル無い時の解像度 readonly float FRAME_RATE = 40F; // 設定ファイル無い時のFPS + readonly int JPEG_QUALITY = 90; ICImagingControl _Cam; // カメラオブジェクト string _SerialNumber; // シリアル番号 @@ -117,16 +118,15 @@ /// ファイル保存 /// /// - public void SaveToFile(string outDir) { + public void SaveToFile(string outDir, int movieRate, string imageType) { Debug.WriteLine($"{_CamID} starts saving."); // 保存先確保 var outDir2 = Path.Combine(outDir, _CamID); Directory.CreateDirectory(outDir2); // 動画保存準備 - int BITRATE = 4 * 1000000; var movieFile = Path.Combine(outDir, $"{_CamID}.mp4"); var writer = new H264Writer(movieFile, - _RecSink.OutputFrameType, (int)FrameRate, BITRATE); + _RecSink.OutputFrameType, (int)FrameRate, movieRate * 1000); writer.Begin(); // ファイル保存 for (int i = 0; i < _bufferlist.Length; i++) { @@ -134,9 +134,19 @@ //このフレームの最初のパケットをドライバが受信した時刻が格納されます。 string strSampleStartTime = _bufferlist[i].FrameMetadata. DriverFrameFirstPacketTime.ToString(@"hhmmss\.fff"); - var fileName = $"{_CamID}_{strSampleStartTime}.jpg"; + var fileName = $"{_CamID}_{strSampleStartTime}.{imageType.ToLower()}"; var filePath = Path.Combine(outDir2, fileName); - FrameExtensions.SaveAsJpeg(_bufferlist[i], filePath, 80); + switch (imageType) { + case "JPG": + FrameExtensions.SaveAsJpeg(_bufferlist[i], filePath, JPEG_QUALITY); + break; + case "BMP": + FrameExtensions.SaveAsBitmap(_bufferlist[i], filePath); + break; + case "TIFF": + FrameExtensions.SaveAsTiff(_bufferlist[i], filePath); + break; + } } // 終了処理 writer.End(); @@ -144,6 +154,9 @@ Debug.WriteLine($"{_CamID} ends saving."); } + /// + /// 連続フレーム記録バッファの解放 + /// private void ClearBuffer() { if (_bufferlist != null) { _bufferlist = null; @@ -151,6 +164,9 @@ } } + /// + /// 録画中断 + /// public void StopRecoding() { _Recoding = false; } diff --git a/ISCamRecorder/MainForm.Designer.cs b/ISCamRecorder/MainForm.Designer.cs index c4a5a12..9420e94 100644 --- a/ISCamRecorder/MainForm.Designer.cs +++ b/ISCamRecorder/MainForm.Designer.cs @@ -23,6 +23,7 @@ /// コード エディターで変更しないでください。 /// private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); this.BtnSetProperty = new System.Windows.Forms.Button(); this.ChkTrigger = new System.Windows.Forms.CheckBox(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); @@ -48,6 +49,12 @@ this.BtnRecodeMovie = new System.Windows.Forms.Button(); this.TxtTriggerFPS = new System.Windows.Forms.TextBox(); this.label4 = new System.Windows.Forms.Label(); + this.BtnSnapImage = new System.Windows.Forms.Button(); + this.label5 = new System.Windows.Forms.Label(); + this.TxtMovieRate = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.CboImageType = new System.Windows.Forms.ComboBox(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -144,6 +151,7 @@ // this.TxtTop.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.TxtTop.BackColor = System.Drawing.Color.Bisque; this.TxtTop.Location = new System.Drawing.Point(4, 3); this.TxtTop.Name = "TxtTop"; this.TxtTop.ReadOnly = true; @@ -187,6 +195,7 @@ // this.TxtLeft.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.TxtLeft.BackColor = System.Drawing.Color.Bisque; this.TxtLeft.Location = new System.Drawing.Point(3, 3); this.TxtLeft.Name = "TxtLeft"; this.TxtLeft.ReadOnly = true; @@ -231,6 +240,7 @@ // this.TxtFront.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.TxtFront.BackColor = System.Drawing.Color.Bisque; this.TxtFront.Location = new System.Drawing.Point(3, 3); this.TxtFront.Name = "TxtFront"; this.TxtFront.ReadOnly = true; @@ -256,6 +266,7 @@ // this.TxtRight.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.TxtRight.BackColor = System.Drawing.Color.Bisque; this.TxtRight.Location = new System.Drawing.Point(1, 3); this.TxtRight.Name = "TxtRight"; this.TxtRight.ReadOnly = true; @@ -325,16 +336,16 @@ // // TxtOutputDir // - this.TxtOutputDir.Location = new System.Drawing.Point(523, 27); + this.TxtOutputDir.Location = new System.Drawing.Point(639, 8); this.TxtOutputDir.Name = "TxtOutputDir"; - this.TxtOutputDir.Size = new System.Drawing.Size(235, 19); + this.TxtOutputDir.Size = new System.Drawing.Size(206, 19); this.TxtOutputDir.TabIndex = 13; this.TxtOutputDir.Text = "D:\\usr\\DL"; // // label3 // this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(521, 12); + this.label3.Location = new System.Drawing.Point(584, 12); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(41, 12); this.label3.TabIndex = 14; @@ -342,7 +353,7 @@ // // BtnRecodeMovie // - this.BtnRecodeMovie.Location = new System.Drawing.Point(443, 12); + this.BtnRecodeMovie.Location = new System.Drawing.Point(422, 12); this.BtnRecodeMovie.Name = "BtnRecodeMovie"; this.BtnRecodeMovie.Size = new System.Drawing.Size(74, 34); this.BtnRecodeMovie.TabIndex = 15; @@ -368,11 +379,75 @@ this.label4.TabIndex = 17; this.label4.Text = "fps"; // + // BtnSnapImage + // + this.BtnSnapImage.Location = new System.Drawing.Point(502, 12); + this.BtnSnapImage.Name = "BtnSnapImage"; + this.BtnSnapImage.Size = new System.Drawing.Size(74, 34); + this.BtnSnapImage.TabIndex = 18; + this.BtnSnapImage.Text = "静止画撮影"; + this.BtnSnapImage.UseVisualStyleBackColor = true; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(584, 36); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(56, 12); + this.label5.TabIndex = 19; + this.label5.Text = "動画レート"; + // + // TxtMovieRate + // + this.TxtMovieRate.Location = new System.Drawing.Point(639, 33); + this.TxtMovieRate.Name = "TxtMovieRate"; + this.TxtMovieRate.Size = new System.Drawing.Size(40, 19); + this.TxtMovieRate.TabIndex = 20; + this.TxtMovieRate.Text = "3000"; + this.TxtMovieRate.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(685, 36); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(29, 12); + this.label6.TabIndex = 17; + this.label6.Text = "kbps"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(733, 36); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(53, 12); + this.label7.TabIndex = 19; + this.label7.Text = "画像形式"; + // + // CboImageType + // + this.CboImageType.FormattingEnabled = true; + this.CboImageType.Items.AddRange(new object[] { + "JPG", + "BMP", + "TIFF"}); + this.CboImageType.Location = new System.Drawing.Point(793, 34); + this.CboImageType.Name = "CboImageType"; + this.CboImageType.Size = new System.Drawing.Size(52, 20); + this.CboImageType.TabIndex = 21; + this.CboImageType.Text = "JPG"; + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(892, 555); + this.Controls.Add(this.CboImageType); + this.Controls.Add(this.TxtMovieRate); + this.Controls.Add(this.label7); + this.Controls.Add(this.label5); + this.Controls.Add(this.BtnSnapImage); + this.Controls.Add(this.label6); this.Controls.Add(this.label4); this.Controls.Add(this.TxtTriggerFPS); this.Controls.Add(this.BtnRecodeMovie); @@ -386,6 +461,7 @@ this.Controls.Add(this.splitContainer1); this.Controls.Add(this.ChkTrigger); this.Controls.Add(this.BtnSetProperty); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "MainForm"; this.Text = "マルチカメラ撮影ソフトウェア by 千葉大学フロンティア医工学センター"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing); @@ -448,6 +524,12 @@ private System.Windows.Forms.Button BtnRecodeMovie; private System.Windows.Forms.TextBox TxtTriggerFPS; private System.Windows.Forms.Label label4; + private System.Windows.Forms.Button BtnSnapImage; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.TextBox TxtMovieRate; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.ComboBox CboImageType; } } diff --git a/ISCamRecorder/MainForm.cs b/ISCamRecorder/MainForm.cs index d0dc944..1872224 100644 --- a/ISCamRecorder/MainForm.cs +++ b/ISCamRecorder/MainForm.cs @@ -204,9 +204,11 @@ var frameRate = _Cameras.Select(c => c.FrameRate).Average(); var framesToCapture = (int)(float.Parse(TxtRecodingDulation.Text) * frameRate + 1.0F); + var movieRate = int.Parse(TxtMovieRate.Text); var outputDir = Path.Combine(TxtOutputDir.Text, "rec" + DateTime.Now.ToString("yyyyMMdd_HHmmss")); Directory.CreateDirectory(outputDir); + var imageType = CboImageType.Text; // 録画 Task[] tasks = new Task[4]; for (var i = 0; i < _Cameras.Count; i++) { @@ -217,10 +219,10 @@ // 保存 BtnRecodeMovie.Text = "保存中"; BtnRecodeMovie.BackColor = Color.Aqua; - //_Cameras[0].SaveToFile(outputDir); for (var i = 0; i < _Cameras.Count; i++) { var cam = _Cameras[i]; - tasks[i] = Task.Run(() => cam.SaveToFile(outputDir)); + tasks[i] = Task.Run(() => cam.SaveToFile( + outputDir, movieRate, imageType)); } Task.WaitAll(tasks); diff --git a/ISCamRecorder/MainForm.resx b/ISCamRecorder/MainForm.resx index 1af7de1..8d6a7ab 100644 --- a/ISCamRecorder/MainForm.resx +++ b/ISCamRecorder/MainForm.resx @@ -117,4 +117,224 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + AAABAAEAQEAAAAEAGAAoMgAAFgAAACgAAABAAAAAgAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////+AgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////////////// + //////////////////////////////////////////////////////////+AgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////// + //////////////////////////////////////////////////////////////////////+AgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgID///////////////////////////////////////////////////////////////////// + //+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgID///////////////////////////////////////////////// + //////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAUFBQTExOAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////////////// + //////////////////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAREREBAQEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAFBQWAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////// + //////////////////////////////////////////////+AgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAEBASAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gID///////////////////////////////////////////////////////////+AgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAKCgoAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgID///////////////////////////////////////////////////////////+A + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAI + CAgAAAAAAAAAAAAAAAACAgKAgICAgICAgICAgICAgICAgIAODg4AAAAAAAAAAAAAAAAAAACAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////////////////////////// + //////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgIAQEBAAAAAAAAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAJCQkAAAAA + AAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////////// + //////////////////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgIAODg4AAAAAAAAAAAAEBASAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////// + //////////////////////////////////////////////+AgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgIAHBwcAAAAAAAAAAACAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgIAJCQkAAAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICA + gID///////////////////////////////////////////////////////////+AgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAAJCQmAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAAFBQWAgICAgICAgICA + gICAgICAgICAgICAgID///////////////////////////////////////////////////////////+A + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAA + AACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAODg4AAAAAAAAA + AACAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////////////////////////// + //////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gIAJCQkAAAAAAAABAQGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgIAAAAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////////// + //////////////////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgIACAgIAAAAAAAAJCQmAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgIAAAAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgID///////////// + //////////////////////////////////////////////+AgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAANDQ2AgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAATExOAgICAgICAgICAgICAgICAgICA + gID///////////////////////////////////////////////////////////+AgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIABAQEAAAAAAAAMDAyAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAAUFBSAgICAgICA + gICAgICAgICAgICAgID///////////////////////////////////////////////////////////+A + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAGBgYAAAAAAAAE + BASAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAA + AACAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////////+AgICAgICAgICAgID/ + //////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gIAQEBAAAAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgIAAAAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgID///////////////+AgICAgICAgICA + gICAgICAgICAgID///////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgIAAAAAAAAAAAAATExOAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgIACAgIAAAAAAAABAQGAgICAgICAgICAgICAgICAgICAgICAgID///////////+A + gICAgICAgICAgICAgICAgICAgICAgID///////////////+AgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgIABAQEAAAAAAAAAAACAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAASEhKAgICAgICAgICAgICAgICAgICAgICA + gID///////+AgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////+AgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAAFBQWAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAAAAACAgICAgICAgICAgICA + gICAgICAgICAgICAgID///+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////+A + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAFBQUA + AAAAAAAAAAAFBQWAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAAAAACAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgID///+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgID/ + //////////////+AgICAgICAgICAgICAgICAgIAICAgFBQWAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgIAAAAAAAAAAAAAAAAAAAAATExOAgICAgICAgICAgICAgICAgICAgIAJCQkAAAAAAAAA + AAAAAAAKCgqAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgID///////////////+AgICAgICAgICAgICAgIABAQEAAAAAAAAAAACAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAAAAAAAAAAAAAAEBAQMDAwNDQ0JCQkBAQEA + AAAAAAAAAAAAAAAAAAAICAiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgID///////////////+AgICAgICAgICAgICAgIAAAAAAAAAAAAAA + AAATExOAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAFBQUAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////+AgICAgICAgICAgICA + gIAAAAAAAAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAB + AQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBweAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////// + //+AgICAgICAgICAgICAgIAEBAQBAQGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgIAQEBAGBgYBAQEAAAACAgIJCQmAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgID///+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gID///////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///+AgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgID///////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////+AgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////+AgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////// + //+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////+A + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gID///////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///// + //////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgID///////////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgID///////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgID///////// + //////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgID///////////////////////////////////////+AgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgID///////////////+AgICAgICAgICAgICAgICAgICAgICA + gICAgID///////////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgID///////////////////////////////////////+AgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////////// + //////////////////////////////////////////////+AgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////////////////////// + //+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////// + //////////////////////////////////////////////////////////////////+AgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////// + //////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgID///////////////////////////////////////////////////////8mJib///////////// + //////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////// + //////////////////////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgID///////////////////////////////////////////////8uLi4z + MzMlJSX///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////+AgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////8tLS0wMDAwMDAwMDAwMDAx + MTEzMzMzMzMzMzMzMzMzMzP///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////+AgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////8x + MTEzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMkJCT///////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID/ + //////////////////8xMTEzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzP///////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgID///////////////////////8tLS0zMzMzMzMzMzMzMzMzMzMzMzMzMzMuLi7///// + //////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////// + //////////////////////////////////+AgICAgICAgICAgICAgICAgIAAAAAAAAAEBASAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////////8kJCQtLS0xMTEuLi4l + JSX///////////////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////// + //////////////////////////////////////////////////+AgICAgICAgICAgICAgIACAgIAAAAA + AAAAAAANDQ2AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////// + //////////////////////////////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgID///////////////////////////////////////////////////////////+AgICAgICAgICA + gICAgIAAAAAAAAAAAAAAAAAICAiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///// + //////////////////////////////////////////////////////+AgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgID///////////////////////////////////////////////////////// + //////+AgICAgICAgICAgIAODg4AAAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgID///////////////////////////////////////////+AgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////////////////////// + //////////////////////+AgICAgICAgICAgICAgICAgIAQEBCAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////+AgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////////// + //////////////////////////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////// + //////////////////////////////////////////////////////////+AgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID/ + //////////////////////////////////////////////////////////////////////////////+A + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgID///////////////////////////////////////////////////////////////////// + //////////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgID///////////////////////////////////////////////////////// + //////////////////////////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgID/ + //////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgID///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////+AgICAgICAgICAgICAgICAgICA + gICAgICAgID///////////////////////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgID///////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////+AgICA + gICAgICAgICAgICAgICAgICAgID///////////////////////+AgICAgICAgICAgICAgICAgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////+AgICAgICA + gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////+AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + \ No newline at end of file diff --git a/ISCamRecorder/cameras3.ico b/ISCamRecorder/cameras3.ico new file mode 100644 index 0000000..0768eb9 --- /dev/null +++ b/ISCamRecorder/cameras3.ico Binary files differ