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