CLP1611.LiveStreamOp modified to issue an appropriate command for MJPEG RTP stream, VLC removed, ver. 2.16.656
This commit is contained in:
@@ -505,7 +505,12 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
|
|||||||
|
|
||||||
public IOperation LiveStreamOp(bool hiRes)
|
public IOperation LiveStreamOp(bool hiRes)
|
||||||
{
|
{
|
||||||
return new LiveStreamOp(this, Telnet, hiRes ? "clp/hrlivestream.sh" : "clp/livestream.sh");
|
int wid = hiRes ? 1280 : 640;
|
||||||
|
int hgh = hiRes ? 960 : 480;
|
||||||
|
string command = string.Format("/opt/vc/bin/raspivid -t 0 -cd MJPEG -w {0} -h {1} -fps 30 -b 8000000 -o - | gst-launch-1.0 fdsrc ! \"image/jpeg,framerate=30/1\" ! jpegparse ! rtpjpegpay ! udpsink host={2} port={3}",
|
||||||
|
wid, hgh, NetAdapter.IPAddress.ToString(), rtpUdpLocalPort);
|
||||||
|
|
||||||
|
return new LiveStreamOp(this, Telnet, command);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
|
|||||||
public bool DisplayTerminal;
|
public bool DisplayTerminal;
|
||||||
public bool UseTestImages;
|
public bool UseTestImages;
|
||||||
public int TestImagesCount;
|
public int TestImagesCount;
|
||||||
public string VlcExePath;
|
|
||||||
|
|
||||||
/// Private parameterless constructor invoked by all other (public) constructors
|
/// Private parameterless constructor invoked by all other (public) constructors
|
||||||
CameraCfg() { }
|
CameraCfg() { }
|
||||||
@@ -37,7 +36,6 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
|
|||||||
HardwareAddress = 1;
|
HardwareAddress = 1;
|
||||||
UseTestImages = false;
|
UseTestImages = false;
|
||||||
TestImagesCount = 0;
|
TestImagesCount = 0;
|
||||||
VlcExePath = "C:\\Program Files (x86)\\VideoLAN\\VLC\\";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public string ToString(int i)
|
public string ToString(int i)
|
||||||
|
|||||||
@@ -2,8 +2,6 @@
|
|||||||
/// Copyright (c) 2017 Sensus Metering Systems
|
/// Copyright (c) 2017 Sensus Metering Systems
|
||||||
///
|
///
|
||||||
using System;
|
using System;
|
||||||
using System.Net;
|
|
||||||
using System.Net.Sockets;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using log4net;
|
using log4net;
|
||||||
using TBF.BenchControl.Generic;
|
using TBF.BenchControl.Generic;
|
||||||
@@ -76,7 +74,6 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
|
|||||||
hwAddressTextBox.Text = config.HardwareAddress.ToString();
|
hwAddressTextBox.Text = config.HardwareAddress.ToString();
|
||||||
useTestImagesCheckBox.Checked = config.UseTestImages;
|
useTestImagesCheckBox.Checked = config.UseTestImages;
|
||||||
testImagesCountTextBox.Text = config.TestImagesCount.ToString();
|
testImagesCountTextBox.Text = config.TestImagesCount.ToString();
|
||||||
vlcExePathTextBox.Text = config.VlcExePath;
|
|
||||||
displayTerminalCheckBox.Checked = config.DisplayTerminal;
|
displayTerminalCheckBox.Checked = config.DisplayTerminal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,7 +84,6 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
|
|||||||
hwAddressTextBox.Enabled = true;
|
hwAddressTextBox.Enabled = true;
|
||||||
useTestImagesCheckBox.Enabled = true;
|
useTestImagesCheckBox.Enabled = true;
|
||||||
testImagesCountTextBox.Enabled = true;
|
testImagesCountTextBox.Enabled = true;
|
||||||
vlcExePathTextBox.Enabled = true;
|
|
||||||
displayTerminalCheckBox.Enabled = true;
|
displayTerminalCheckBox.Enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,7 +102,6 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
|
|||||||
{
|
{
|
||||||
config.TestImagesCount = int.Parse(testImagesCountTextBox.Text);
|
config.TestImagesCount = int.Parse(testImagesCountTextBox.Text);
|
||||||
}
|
}
|
||||||
config.VlcExePath = vlcExePathTextBox.Text;
|
|
||||||
|
|
||||||
return flags;
|
return flags;
|
||||||
}
|
}
|
||||||
@@ -134,11 +129,6 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
|
|||||||
flags |= CfgUpdateFlags.Error;
|
flags |= CfgUpdateFlags.Error;
|
||||||
message += Environment.NewLine + string.Format("'{0}' should be between 1 and 50", testImagesCountLabel.Text);
|
message += Environment.NewLine + string.Format("'{0}' should be between 1 and 50", testImagesCountLabel.Text);
|
||||||
}
|
}
|
||||||
if (!System.IO.Directory.Exists(vlcExePathTextBox.Text))
|
|
||||||
{
|
|
||||||
flags |= CfgUpdateFlags.Error;
|
|
||||||
message += Environment.NewLine + string.Format("'{0}' is not correct", vlcExePathLabel.Text);
|
|
||||||
}
|
|
||||||
|
|
||||||
return flags;
|
return flags;
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-26
@@ -42,8 +42,6 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
|
|||||||
this.useTestImagesCheckBox = new System.Windows.Forms.CheckBox();
|
this.useTestImagesCheckBox = new System.Windows.Forms.CheckBox();
|
||||||
this.testImagesCountTextBox = new System.Windows.Forms.TextBox();
|
this.testImagesCountTextBox = new System.Windows.Forms.TextBox();
|
||||||
this.testImagesCountLabel = new System.Windows.Forms.Label();
|
this.testImagesCountLabel = new System.Windows.Forms.Label();
|
||||||
this.vlcExePathTextBox = new System.Windows.Forms.TextBox();
|
|
||||||
this.vlcExePathLabel = new System.Windows.Forms.Label();
|
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// hwAddressTextBox
|
// hwAddressTextBox
|
||||||
@@ -122,7 +120,7 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
|
|||||||
//
|
//
|
||||||
this.useTestImagesCheckBox.AutoSize = true;
|
this.useTestImagesCheckBox.AutoSize = true;
|
||||||
this.useTestImagesCheckBox.Enabled = false;
|
this.useTestImagesCheckBox.Enabled = false;
|
||||||
this.useTestImagesCheckBox.Location = new System.Drawing.Point(114, 183);
|
this.useTestImagesCheckBox.Location = new System.Drawing.Point(114, 156);
|
||||||
this.useTestImagesCheckBox.Name = "useTestImagesCheckBox";
|
this.useTestImagesCheckBox.Name = "useTestImagesCheckBox";
|
||||||
this.useTestImagesCheckBox.Size = new System.Drawing.Size(101, 17);
|
this.useTestImagesCheckBox.Size = new System.Drawing.Size(101, 17);
|
||||||
this.useTestImagesCheckBox.TabIndex = 10;
|
this.useTestImagesCheckBox.TabIndex = 10;
|
||||||
@@ -132,7 +130,7 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
|
|||||||
// testImagesCountTextBox
|
// testImagesCountTextBox
|
||||||
//
|
//
|
||||||
this.testImagesCountTextBox.Enabled = false;
|
this.testImagesCountTextBox.Enabled = false;
|
||||||
this.testImagesCountTextBox.Location = new System.Drawing.Point(114, 205);
|
this.testImagesCountTextBox.Location = new System.Drawing.Point(114, 178);
|
||||||
this.testImagesCountTextBox.Name = "testImagesCountTextBox";
|
this.testImagesCountTextBox.Name = "testImagesCountTextBox";
|
||||||
this.testImagesCountTextBox.Size = new System.Drawing.Size(46, 20);
|
this.testImagesCountTextBox.Size = new System.Drawing.Size(46, 20);
|
||||||
this.testImagesCountTextBox.TabIndex = 12;
|
this.testImagesCountTextBox.TabIndex = 12;
|
||||||
@@ -140,37 +138,18 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
|
|||||||
// testImagesCountLabel
|
// testImagesCountLabel
|
||||||
//
|
//
|
||||||
this.testImagesCountLabel.AutoSize = true;
|
this.testImagesCountLabel.AutoSize = true;
|
||||||
this.testImagesCountLabel.Location = new System.Drawing.Point(28, 208);
|
this.testImagesCountLabel.Location = new System.Drawing.Point(28, 181);
|
||||||
this.testImagesCountLabel.Name = "testImagesCountLabel";
|
this.testImagesCountLabel.Name = "testImagesCountLabel";
|
||||||
this.testImagesCountLabel.Size = new System.Drawing.Size(71, 13);
|
this.testImagesCountLabel.Size = new System.Drawing.Size(71, 13);
|
||||||
this.testImagesCountLabel.TabIndex = 11;
|
this.testImagesCountLabel.TabIndex = 11;
|
||||||
this.testImagesCountLabel.Text = "Images count";
|
this.testImagesCountLabel.Text = "Images count";
|
||||||
//
|
//
|
||||||
// vlcExePathTextBox
|
|
||||||
//
|
|
||||||
this.vlcExePathTextBox.Enabled = false;
|
|
||||||
this.vlcExePathTextBox.Location = new System.Drawing.Point(114, 147);
|
|
||||||
this.vlcExePathTextBox.Name = "vlcExePathTextBox";
|
|
||||||
this.vlcExePathTextBox.Size = new System.Drawing.Size(288, 20);
|
|
||||||
this.vlcExePathTextBox.TabIndex = 9;
|
|
||||||
//
|
|
||||||
// vlcExePathLabel
|
|
||||||
//
|
|
||||||
this.vlcExePathLabel.AutoSize = true;
|
|
||||||
this.vlcExePathLabel.Location = new System.Drawing.Point(28, 150);
|
|
||||||
this.vlcExePathLabel.Name = "vlcExePathLabel";
|
|
||||||
this.vlcExePathLabel.Size = new System.Drawing.Size(65, 13);
|
|
||||||
this.vlcExePathLabel.TabIndex = 8;
|
|
||||||
this.vlcExePathLabel.Text = "vlc.exe path";
|
|
||||||
//
|
|
||||||
// CameraCfgCtrl
|
// CameraCfgCtrl
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.Controls.Add(this.hwAddressTextBox);
|
this.Controls.Add(this.hwAddressTextBox);
|
||||||
this.Controls.Add(this.hwAddressLabel);
|
this.Controls.Add(this.hwAddressLabel);
|
||||||
this.Controls.Add(this.vlcExePathTextBox);
|
|
||||||
this.Controls.Add(this.vlcExePathLabel);
|
|
||||||
this.Controls.Add(this.testImagesCountTextBox);
|
this.Controls.Add(this.testImagesCountTextBox);
|
||||||
this.Controls.Add(this.testImagesCountLabel);
|
this.Controls.Add(this.testImagesCountLabel);
|
||||||
this.Controls.Add(this.useTestImagesCheckBox);
|
this.Controls.Add(this.useTestImagesCheckBox);
|
||||||
@@ -201,7 +180,5 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
|
|||||||
private System.Windows.Forms.CheckBox useTestImagesCheckBox;
|
private System.Windows.Forms.CheckBox useTestImagesCheckBox;
|
||||||
private System.Windows.Forms.TextBox testImagesCountTextBox;
|
private System.Windows.Forms.TextBox testImagesCountTextBox;
|
||||||
private System.Windows.Forms.Label testImagesCountLabel;
|
private System.Windows.Forms.Label testImagesCountLabel;
|
||||||
private System.Windows.Forms.TextBox vlcExePathTextBox;
|
|
||||||
private System.Windows.Forms.Label vlcExePathLabel;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,8 +12,6 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
|
|||||||
|
|
||||||
bool liveStreamCommandSent;
|
bool liveStreamCommandSent;
|
||||||
|
|
||||||
Process vlcProcess;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Events: Event.None or Event.Error
|
/// Events: Event.None or Event.Error
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -40,12 +38,6 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
|
|||||||
telnet.Enqueue(new Telnet.Command(Telnet.CmdAction.SEND_STRING, command));
|
telnet.Enqueue(new Telnet.Command(Telnet.CmdAction.SEND_STRING, command));
|
||||||
liveStreamCommandSent = true;
|
liveStreamCommandSent = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
vlcProcess = new Process();
|
|
||||||
vlcProcess.StartInfo = new ProcessStartInfo(System.IO.Path.Combine(camera.CameraCfg.VlcExePath, "vlc.exe"));
|
|
||||||
vlcProcess.StartInfo.Arguments = string.Format("rtsp://{0}:8554/", camera.IPAddress);
|
|
||||||
vlcProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
|
|
||||||
vlcProcess.Start();
|
|
||||||
}
|
}
|
||||||
return Event.None;
|
return Event.None;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
|||||||
// Build Number
|
// Build Number
|
||||||
// Revision
|
// Revision
|
||||||
//
|
//
|
||||||
[assembly: AssemblyVersion("2.16.655.1")]
|
[assembly: AssemblyVersion("2.16.656.1")]
|
||||||
[assembly: AssemblyFileVersion("2.16.655.1")]
|
[assembly: AssemblyFileVersion("2.16.656.1")]
|
||||||
|
|||||||
Reference in New Issue
Block a user