Commit 7ab98695 by 鲁志-悦动

落盘发给音视频start、end时间戳由算法提供

parent 28532903
......@@ -16,6 +16,11 @@ namespace VIZ.FGOUT.Connection
/// </summary>
private static ILog log = LogManager.GetLogger(typeof(AlgorithmPackageProvider));
/// <summary>
/// 算法数据包处理器
/// </summary>
private List<IAlgorithmPackageProvider> providers = new List<IAlgorithmPackageProvider>();
public AlgorithmPackageProvider()
{
// AlgorithmRecvPackage__detect package = Newtonsoft.Json.JsonConvert.DeserializeObject<AlgorithmRecvPackage__detect>("{\"signal\": \"detect\", \"bboxes\": [[3392, 576, 3834, 1421], [755, 916, 1195, 1292], [3675, 710, 3839, 1103]]}");
......@@ -25,14 +30,11 @@ namespace VIZ.FGOUT.Connection
this.providers.Add(new AlgorithmProvider__crop_roi());
// 算法检测
this.providers.Add(new AlgorithmProvider__detect());
// 算法落盘
this.providers.Add(new AlgorithmProvider__start_end());
}
/// <summary>
/// 算法数据包处理器
/// </summary>
private List<IAlgorithmPackageProvider> providers = new List<IAlgorithmPackageProvider>();
/// <summary>
/// 执行
/// </summary>
/// <param name="info">信息</param>
......
......@@ -85,5 +85,10 @@
/// 稍等,等一下
/// </summary>
public const string HOLD_ON = "hold_on";
/// <summary>
/// 落盘,开始结束时间戳
/// </summary>
public const string START_END = "start_end";
}
}
using System;
using VIZ.FGOUT.Domain;
using VIZ.Framework.Connection;
namespace VIZ.FGOUT.Connection
{
public class AlgorithmProvider__start_end : IAlgorithmPackageProvider
{
/// <summary>
/// 信号
/// </summary>
public string Signal { get; } = AlgorithmPackageSignal.START_END;
/// <summary>
/// 执行
/// </summary>
/// <param name="info"></param>
/// <exception cref="NotImplementedException"></exception>
public void Execute(ConnSingleJsonInfo info)
{
AlgorithmRecvPackage__start_end package = Newtonsoft.Json.JsonConvert.DeserializeObject<AlgorithmRecvPackage__start_end>(info.Json);
AlgorithmMessage__start_end message = new AlgorithmMessage__start_end();
message.AlgorithmID = package.id;
message.start = package.start;
message.end = package.end;
ApplicationDomainEx.MessageManager.Send(message);
}
}
}
namespace VIZ.FGOUT.Connection
{
public class AlgorithmRecvPackage__start_end : AlgorithmPackageBase
{
/// <summary>
/// 信号
/// <see cref="AlgorithmPackageSignal"/>
/// </summary>
public override string signal { get; set; } = AlgorithmPackageSignal.START_END;
/// <summary>
/// 开始时间戳
/// </summary>
public long start { get; set; }
/// <summary>
/// 结束时间戳
/// </summary>
public long end { get; set; }
}
}
namespace VIZ.FGOUT.Connection.UDP.Clip.Signal.Send
{
public class SaveMatImagePackage
{
public string type { get;set; }
public long start_time { get; set; }
public long end_time { get; set;}
}
}
......@@ -81,11 +81,13 @@
<Compile Include="UDP\Algorithm\Provider\AlgorithmProvider__checked_ok.cs" />
<Compile Include="UDP\Algorithm\Provider\AlgorithmProvider__crop_roi..cs" />
<Compile Include="UDP\Algorithm\Provider\AlgorithmProvider__detect.cs" />
<Compile Include="UDP\Algorithm\Provider\AlgorithmProvider__start_end.cs" />
<Compile Include="UDP\Algorithm\Sender\AlgorithmSender.cs" />
<Compile Include="UDP\Algorithm\Sender\AlgorithmSenderOption.cs" />
<Compile Include="UDP\Algorithm\Signal\Recv\AlgorithmRecvPackage__checked_ok.cs" />
<Compile Include="UDP\Algorithm\Signal\Recv\AlgorithmRecvPackage__crop_roi.cs" />
<Compile Include="UDP\Algorithm\Signal\Recv\AlgorithmRecvPackage__detect.cs" />
<Compile Include="UDP\Algorithm\Signal\Recv\AlgorithmRecvPackage__start_end.cs" />
<Compile Include="UDP\Algorithm\Signal\Send\AlgorithmPackage_Figout_sports_model.cs" />
<Compile Include="UDP\Algorithm\Signal\Send\AlgorithmPackage_Figout_new_model.cs" />
<Compile Include="UDP\Algorithm\Signal\Send\AlgorithmPackage_Figout_model.cs" />
......@@ -103,6 +105,7 @@
<Compile Include="UDP\Clip\Sender\ClipSender.cs" />
<Compile Include="UDP\Clip\Signal\Send\ClipPackage__crop_roi.cs" />
<Compile Include="UDP\Clip\Signal\Send\ReplayPackage.cs" />
<Compile Include="UDP\Clip\Signal\Send\SaveMatImagePackage.cs" />
<Compile Include="UDP\Clip\Signal\Send\UEEvent.cs" />
<Compile Include="UDP\Clip\Signal\Send\UEPackage.cs" />
<Compile Include="UDP\Clip\Signal\Send\VideoData.cs" />
......
879982a20dca0c414aba6411ab84437d1681c4ab
6b5fc1ed04f1a72b04463bf148afef51d446d299
namespace VIZ.FGOUT.Domain
{
public class AlgorithmMessage__start_end : AlgorithmMessageBase
{
/// <summary>
/// 开始时间戳
/// </summary>
public long start { get; set; }
/// <summary>
/// 结束时间戳
/// </summary>
public long end { get; set; }
}
}
......@@ -73,6 +73,7 @@
<Compile Include="Message\Algorithm\Implementation\AlgorithmMessage__checked_ok.cs" />
<Compile Include="Message\Algorithm\Implementation\AlgorithmMessage__crop_roi.cs" />
<Compile Include="Message\Algorithm\Implementation\AlgorithmMessage__detect.cs" />
<Compile Include="Message\Algorithm\Implementation\AlgorithmMessage__start_end.cs" />
<Compile Include="Message\Algorithm\Interface\IAlgorithmMessage__roi.cs" />
<Compile Include="Message\Setting\CleanPlaceModel.cs" />
<Compile Include="Message\Setting\EndPlaceModel.cs" />
......
94b031c27387c7e09c9e5e069835b4c5e228cb5d
f7bf41927ace3a05c36b8a463696a418ba43880e
......@@ -8,6 +8,7 @@ using System.Threading.Tasks;
using System.Windows;
using System.Windows.Interop;
using VIZ.FGOUT.Connection;
using VIZ.FGOUT.Connection.UDP.Clip.Signal.Send;
using VIZ.FGOUT.Domain;
using VIZ.FGOUT.Domain.Message.Setting;
using VIZ.FGOUT.Storage;
......@@ -673,18 +674,24 @@ namespace VIZ.FGOUT.Module
/// </summary>
private void MatImageCommand()
{
ReplayPackage replayPackage = new ReplayPackage();
replayPackage.type = "LOADMASK";
VideoData data = new VideoData();
if(IsMatImage)
data.loadFlag = 1;
else
data.loadFlag = 0;
replayPackage.data = data;
// 发送UDP命令
UdpEndpointManager manager = ConnectionManager.UdpConnection.GetEndpointManager(NDIViewKeys.CAM_1__CLIP);
if (manager == null) return;
manager.SendJson(replayPackage);
if (IsMatImage)
{
var config = ApplicationDomainEx.LiteDbContext.AlgorithmSaveMatImage.FindAll().FirstOrDefault();
SaveMatImagePackage package = new SaveMatImagePackage();
package.type = "LOADMASK";
package.start_time = config.start;
package.end_time = config.end;
// 发送UDP命令
UdpEndpointManager manager = ConnectionManager.UdpConnection.GetEndpointManager(NDIViewKeys.CAM_1__CLIP);
if (manager == null) return;
manager.SendJson(package);
}
//ReplayPackage replayPackage = new ReplayPackage();
// data.loadFlag = 1;
//else
// data.loadFlag = 0;
//VideoData data = new VideoData();
//replayPackage.data = data;
}
private bool isMatImage = false;
......
......@@ -113,15 +113,10 @@ namespace VIZ.FGOUT.Module
public override void InitAlgorithm()
{
UdpEndpointManager manager = ConnectionManager.UdpConnection.GetEndpointManager(NDIViewKeys.CAM_1);
AlgorithmSenderOption option = new AlgorithmSenderOption();
AlgorithmPackage_Figout_model package = this.bulid(null, null);
package.mode = AlgorithmPackageSignal.auto_mode;
AlgorithmSender.AutoMode(manager,package,option);
}
/// <summary>
......
using SharpDX.Mathematics.Interop;
using System;
using System.Collections.Generic;
using System.Linq;
using VIZ.FGOUT.Domain;
using VIZ.FGOUT.Storage;
using VIZ.Framework.Common;
......@@ -14,6 +15,17 @@ namespace VIZ.FGOUT.Module
/// </summary>
public partial class NDIViewModel
{
private void OnAlgorithmMessage__start_end(AlgorithmMessage__start_end msg)
{
var config = ApplicationDomainEx.LiteDbContext.AlgorithmSaveMatImage.FindAll().FirstOrDefault();
if (config == null)
config = new AlgorithmSaveMatImage();
config.start = msg.start;
config.end = msg.end;
ApplicationDomainEx.LiteDbContext.AlgorithmSaveMatImage.Upsert(config);
}
/// <summary>
/// 处理算法初始化完成消息
/// </summary>
......
......@@ -123,6 +123,8 @@ namespace VIZ.FGOUT.Module
ApplicationDomainEx.MessageManager.Register<AlgorithmMessage__detect>(this, this.OnAlgorithmMessage__detect);
// 算法跟踪消息--裁切
ApplicationDomainEx.MessageManager.Register<AlgorithmMessage__crop_roi>(this, this.OnAlgorithmMessage__crop_roi);
// 算法落盘开始、结束时间戳消息
ApplicationDomainEx.MessageManager.Register<AlgorithmMessage__start_end>(this, this.OnAlgorithmMessage__start_end);
NDIView nDIView = this.GetView<NDIView>();
// 开始的位置
......
using log4net;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using VIZ.Framework.Core;
using VIZ.Framework.Connection;
using VIZ.Framework.Module;
using VIZ.FGOUT.Connection;
using VIZ.FGOUT.Domain;
using VIZ.FGOUT.Storage;
using VIZ.FGOUT.Connection;
using VIZ.Framework.Connection;
using VIZ.Framework.Core;
using VIZ.Framework.Module;
namespace VIZ.FGOUT.Module
{
......@@ -40,7 +33,6 @@ namespace VIZ.FGOUT.Module
UdpConnection conn = new UdpConnection();
// 算法包解析器
conn.PackageProvider = new AlgorithmPackageProvider();
// -----------------------------------------------------------------
// 客户端
string clientIP = ApplicationDomainEx.IniStorage.GetValue<UdpConfig, string>(p => p.UDP_BINDING_IP);
......
......@@ -79,8 +79,6 @@ namespace VIZ.FGOUT.Module
public long timecode { get; set; }
public VCommand StopVideoCommand { get; set; }
private void StopVideo()
......
......@@ -10,11 +10,11 @@ none
false
DEBUG;TRACE
22-1559853185
4-1529606353
90-1236168610
151915249285
22-808211288
4-699044453
90-747441034
151674092382
NDIMainView\View\NDIMainView.xaml;NDIPreviewView\View\NDIPreviewView.xaml;NDISettingView\View\AlgorithmSettingPanelView.xaml;NDISettingView\View\Algorithm\AlgorithmCablewayPanelView.xaml;NDISettingView\View\Algorithm\AlgorithmNearPanelView.xaml;NDISettingView\View\Algorithm\AlgorithmSinglePanelView.xaml;NDISettingView\View\Algorithm\AlgorithmSixteenPanelView.xaml;NDISettingView\View\Algorithm\AlgorithmTacticsPanelView.xaml;NDISettingView\View\NDISettingPanelView.xaml;NDISettingView\View\NDISettingView.xaml;NDIView\View\NDIView.xaml;SystemSetting\View\AboutPanelView.xaml;SystemSetting\View\CheckDataPanelView.xaml;SystemSetting\View\HotkeySettingPanelView.xaml;SystemSetting\View\MattingImagePanelView.xaml;SystemSetting\View\PackageSettingPanelView.xaml;SystemSetting\View\PreviewSettingPanelView.xaml;SystemSetting\View\ReplayPanelView.xaml;SystemSetting\View\StyleSettingPanelView.xaml;SystemSetting\View\SystemSettingView.xaml;SystemSetting\View\UEControlPanelView.xaml;SystemSetting\View\UESettingPanelView.xaml;
True
False
namespace VIZ.FGOUT.Storage
{
/// <summary>
/// 落盘
/// </summary>
public class AlgorithmSaveMatImage : AlgorithmBase
{
/// <summary>
/// 开始时间戳
/// </summary>
public long start { get; set; }
/// <summary>
/// 结束时间戳
/// </summary>
public long end { get; set; }
}
}
......@@ -36,6 +36,7 @@ namespace VIZ.FGOUT.Storage
this.AlgorithmSixteen = this.Database.GetCollection<AlgorithmSixteen>();
this.AlgorithmTactics = this.Database.GetCollection<AlgorithmTactics>();
this.AlgorithmCableway = this.Database.GetCollection<AlgorithmCableway>();
this.AlgorithmSaveMatImage = this.Database.GetCollection<AlgorithmSaveMatImage>();
// 视图设置
this.ViewConfig = this.Database.GetCollection<NdiViewConfig>();
// 系统设置
......@@ -101,6 +102,11 @@ namespace VIZ.FGOUT.Storage
public ILiteCollection<AlgorithmCableway> AlgorithmCableway { get; private set; }
/// <summary>
/// 落盘
/// </summary>
public ILiteCollection<AlgorithmSaveMatImage> AlgorithmSaveMatImage { get; private set; }
/// <summary>
/// NDI视图配置
/// </summary>
public ILiteCollection<NdiViewConfig> ViewConfig { get; private set; }
......@@ -151,6 +157,7 @@ namespace VIZ.FGOUT.Storage
this.AlgorithmSixteen = null;
this.AlgorithmTactics = null;
this.AlgorithmCableway = null;
this.AlgorithmSaveMatImage = null;
this.ViewConfig = null;
this.SystemConfig = null;
this.HotkeyConfig = null;
......
......@@ -129,6 +129,7 @@
<Compile Include="LiteDB\Algorithm\Algorithm\AlgorithmCableway.cs" />
<Compile Include="LiteDB\Algorithm\Algorithm\AlgorithmFiguerOut.cs" />
<Compile Include="LiteDB\Algorithm\Algorithm\AlgorithmNear.cs" />
<Compile Include="LiteDB\Algorithm\Algorithm\AlgorithmSaveMatImage.cs" />
<Compile Include="LiteDB\Algorithm\Algorithm\AlgorithmSingle.cs" />
<Compile Include="LiteDB\Algorithm\Algorithm\AlgorithmSixteen.cs" />
<Compile Include="LiteDB\Algorithm\Algorithm\AlgorithmTactics.cs" />
......
4fad8ca766fb1cf424b3dcb63ba8bf40d009466e
4ec977c9fb9ebf766bf03f594ec0377aa78207e0
......@@ -10,11 +10,11 @@ none
false
DEBUG;TRACE
C:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT\App.xaml
21265083526
2-1347366880
6-790135758
421356718200
6968741766
43-1958993781
CloseAlgorithmWindow.xaml;MainWindow.xaml;
True
False
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment