Commit b99a49b6 by 鲁志-悦动

视频流的深拷贝

parent 269220f4
b77ab2f7b49389b9182c7f81f043501dbd1f28bc fba8dc5b9b837464b22019519439fe1b9f969740
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
library library
C# C#
.cs .cs
D:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Common\obj\x64\Debug\ D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Common\obj\x64\Debug\
VIZ.FGOUT.Common VIZ.FGOUT.Common
none none
false false
...@@ -13,7 +13,7 @@ false ...@@ -13,7 +13,7 @@ false
21870986562 21870986562
31364711570 31364711570
171166775462 171121717210
Themes\Generic.xaml;Widgets\FootballFieldPanel\FootballFieldPanel.xaml; Themes\Generic.xaml;Widgets\FootballFieldPanel\FootballFieldPanel.xaml;
False False
......
D:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Common\obj\x64\Debug\GeneratedInternalTypeHelper.g.cs D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Common\obj\x64\Debug\GeneratedInternalTypeHelper.g.cs
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Common\Themes\Generic.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Common\Themes\Generic.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Common\Widgets\FootballFieldPanel\FootballFieldPanel.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Common\Widgets\FootballFieldPanel\FootballFieldPanel.xaml;;
fdabdd16b89e6e5e7c9f808ae8e6503a5aab99e9 47cca392853111971d94a0d2c7f46eca4658dc87
...@@ -6,6 +6,6 @@ ...@@ -6,6 +6,6 @@
/// </summary> /// </summary>
public class ReplayModel public class ReplayModel
{ {
public bool IsReplay { get; set; }
} }
} }
1565ec4cef60aa46d7212ff978cf49d7d3fe3743 a374a7f17b3bff0c3c028efbfc085fc4a1015b5b
...@@ -498,3 +498,5 @@ D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module.Resource\obj\x64\Debug\VIZ.FGOUT.Mo ...@@ -498,3 +498,5 @@ D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module.Resource\obj\x64\Debug\VIZ.FGOUT.Mo
D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module.Resource\obj\x64\Debug\VIZ.FGOUT.Module.Resource.pdb D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module.Resource\obj\x64\Debug\VIZ.FGOUT.Module.Resource.pdb
D:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module.Resource\obj\x64\Debug\Style\ToogleButton\ToogleButton_Setting.baml D:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module.Resource\obj\x64\Debug\Style\ToogleButton\ToogleButton_Setting.baml
D:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module.Resource\obj\x64\Debug\Style\TextBlock\TextBlock_Setting.baml D:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module.Resource\obj\x64\Debug\Style\TextBlock\TextBlock_Setting.baml
D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module.Resource\obj\x64\Debug\Style\TextBlock\TextBlock_Setting.baml
D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module.Resource\obj\x64\Debug\Style\ToogleButton\ToogleButton_Setting.baml
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
library library
C# C#
.cs .cs
D:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module.Resource\obj\x64\Debug\ D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module.Resource\obj\x64\Debug\
VIZ.FGOUT.Module.Resource VIZ.FGOUT.Module.Resource
none none
false false
...@@ -13,7 +13,7 @@ DEBUG;TRACE ...@@ -13,7 +13,7 @@ DEBUG;TRACE
18560433975 18560433975
1470602451 1470602451
11-350624472 11-350624472
241319896476 24771590698
Style\Button\Button_NdiView.xaml;Style\Button\Button_Setting.xaml;Style\Button\Button_WindowTop.xaml;Style\CheckBox\CheckBox_NdiView.xaml;Style\CheckBox\CheckBox_Setting.xaml;Style\CheckBox\CheckBox_WindowTop.xaml;Style\ComboBox\ComboBox_Setting.xaml;Style\HotkeyBox\HotkeyBox_Setting.xaml;Style\MessageBox\MessageBoxEx.xaml;Style\RadioButton\RadioButton_FootballSide.xaml;Style\RadioButton\RadioButton_NdiView.xaml;Style\RadioButton\RadioButton_Setting.xaml;Style\Slider\Slider_Setting.xaml;Style\TextBlock\TextBlock_Setting.xaml;Style\TextBox\TextBox_Setting.xaml;Style\ToogleButton\ToogleButton_Setting.xaml;Themes\Generic.xaml;Toolkit\NumericUpDown\NumericUpDown.xaml; Style\Button\Button_NdiView.xaml;Style\Button\Button_Setting.xaml;Style\Button\Button_WindowTop.xaml;Style\CheckBox\CheckBox_NdiView.xaml;Style\CheckBox\CheckBox_Setting.xaml;Style\CheckBox\CheckBox_WindowTop.xaml;Style\ComboBox\ComboBox_Setting.xaml;Style\HotkeyBox\HotkeyBox_Setting.xaml;Style\MessageBox\MessageBoxEx.xaml;Style\RadioButton\RadioButton_FootballSide.xaml;Style\RadioButton\RadioButton_NdiView.xaml;Style\RadioButton\RadioButton_Setting.xaml;Style\Slider\Slider_Setting.xaml;Style\TextBlock\TextBlock_Setting.xaml;Style\TextBox\TextBox_Setting.xaml;Style\ToogleButton\ToogleButton_Setting.xaml;Themes\Generic.xaml;Toolkit\NumericUpDown\NumericUpDown.xaml;
False False
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
library library
C# C#
.cs .cs
D:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module.Resource\obj\x64\Debug\ D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module.Resource\obj\x64\Debug\
VIZ.FGOUT.Module.Resource VIZ.FGOUT.Module.Resource
none none
false false
...@@ -13,8 +13,8 @@ DEBUG;TRACE ...@@ -13,8 +13,8 @@ DEBUG;TRACE
18560433975 18560433975
1470602451 1470602451
121374819015 121374819015
23-676971786 23-1225277564
Style\Button\Button_NdiView.xaml;Style\Button\Button_Setting.xaml;Style\Button\Button_WindowTop.xaml;Style\CheckBox\CheckBox_NdiView.xaml;Style\CheckBox\CheckBox_Setting.xaml;Style\CheckBox\CheckBox_WindowTop.xaml;Style\ComboBox\ComboBox_Setting.xaml;Style\HotkeyBox\HotkeyBox_Setting.xaml;Style\MessageBox\MessageBoxEx.xaml;Style\RadioButton\RadioButton_FootballSide.xaml;Style\RadioButton\RadioButton_NdiView.xaml;Style\RadioButton\RadioButton_Setting.xaml;Style\Slider\Slider_Setting.xaml;Style\TextBlock\TextBlock_Setting.xaml;Style\TextBox\TextBox_Setting.xaml;Style\ToogleButton\ToogleButton_Setting.xaml;Themes\Generic.xaml;Toolkit\NumericUpDown\NumericUpDown.xaml; Style\Button\Button_NdiView.xaml;Style\Button\Button_Setting.xaml;Style\Button\Button_WindowTop.xaml;Style\CheckBox\CheckBox_NdiView.xaml;Style\CheckBox\CheckBox_Setting.xaml;Style\CheckBox\CheckBox_WindowTop.xaml;Style\ComboBox\ComboBox_Setting.xaml;Style\HotkeyBox\HotkeyBox_Setting.xaml;Style\MessageBox\MessageBoxEx.xaml;Style\RadioButton\RadioButton_FootballSide.xaml;Style\RadioButton\RadioButton_NdiView.xaml;Style\RadioButton\RadioButton_Setting.xaml;Style\Slider\Slider_Setting.xaml;Style\TextBlock\TextBlock_Setting.xaml;Style\TextBox\TextBox_Setting.xaml;Style\ToogleButton\ToogleButton_Setting.xaml;Themes\Generic.xaml;Toolkit\NumericUpDown\NumericUpDown.xaml;
False True
 
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module.Resource\Themes\Generic.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module.Resource\Themes\Generic.xaml;;
...@@ -124,15 +124,13 @@ ...@@ -124,15 +124,13 @@
<WrapPanel <WrapPanel
Grid.Row="1" Grid.Row="1"
Grid.Column="0" Grid.Column="1"
Margin="135,0,0,0"> Margin="135,0,0,0">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*" /> <ColumnDefinition Width="*" />
<ColumnDefinition Width="*" /> <ColumnDefinition Width="*" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<GroupBox Foreground="White" Header="自动检测"> <GroupBox Foreground="White" Header="自动检测">
<CheckBox <CheckBox
Margin="15" Margin="15"
...@@ -178,9 +176,7 @@ ...@@ -178,9 +176,7 @@
Grid.Column="0" Grid.Column="0"
Margin="0,0,40,0" Margin="0,0,40,0"
HorizontalAlignment="Right"> HorizontalAlignment="Right">
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition /> <RowDefinition />
<RowDefinition /> <RowDefinition />
...@@ -204,7 +200,7 @@ ...@@ -204,7 +200,7 @@
<Button <Button
Grid.Column="1" Grid.Column="1"
Width="100" Width="100" IsEnabled="{Binding ReplayEnable, Mode=TwoWay}"
Height="40" Height="40"
Margin="10" Margin="10"
Command="{Binding ReplayCommand}" Command="{Binding ReplayCommand}"
......
...@@ -455,12 +455,17 @@ namespace VIZ.FGOUT.Module ...@@ -455,12 +455,17 @@ namespace VIZ.FGOUT.Module
#region Replay 命令 #region Replay 命令
public VCommand ReplayCommand { get; set; } public VCommand ReplayCommand { get; set; }
private bool _replayButtonIsEnable = true;
/// <summary> /// <summary>
/// replay 播控功能 /// replay 播控功能
/// </summary> /// </summary>
private void Replay() private void Replay()
{ {
ReplayModel replayModel = new ReplayModel(); if (_replayButtonIsEnable)
ReplayEnable = _replayButtonIsEnable = false;
else
ReplayEnable = _replayButtonIsEnable = true;
ReplayModel replayModel = new ReplayModel() { IsReplay = !_replayButtonIsEnable };
ApplicationDomainEx.MessageManager.Send(replayModel); ApplicationDomainEx.MessageManager.Send(replayModel);
} }
...@@ -664,6 +669,19 @@ namespace VIZ.FGOUT.Module ...@@ -664,6 +669,19 @@ namespace VIZ.FGOUT.Module
#region 按钮可用性 #region 按钮可用性
/// <summary>
/// 开始位置可用性
/// </summary>
private bool replayEnable = true;
public bool ReplayEnable
{
get { return replayEnable; }
set { replayEnable = value; this.RaisePropertyChanged(nameof(ReplayEnable)); }
}
/// <summary> /// <summary>
/// 开始位置可用性 /// 开始位置可用性
/// </summary> /// </summary>
......
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media; using System.Windows.Media;
using System.Windows.Shapes; using System.Windows.Shapes;
using VIZ.FGOUT.Domain;
using VIZ.FGOUT.Storage; using VIZ.FGOUT.Storage;
using VIZ.Framework.Core; using VIZ.Framework.Core;
...@@ -16,7 +14,7 @@ namespace VIZ.FGOUT.Module ...@@ -16,7 +14,7 @@ namespace VIZ.FGOUT.Module
/// </summary> /// </summary>
public partial class NDIView : UserControl public partial class NDIView : UserControl
{ {
NDIViewModel vm = new NDIViewModel(); public NDIViewModel vm = new NDIViewModel();
//Rectangle rectStart = new Rectangle(); //Rectangle rectStart = new Rectangle();
...@@ -100,94 +98,94 @@ namespace VIZ.FGOUT.Module ...@@ -100,94 +98,94 @@ namespace VIZ.FGOUT.Module
private void Border_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) private void Border_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{ {
this.manualConfig = ApplicationDomainEx.LiteDbContext.SetManualConfig.FindAll().FirstOrDefault(); // this.manualConfig = ApplicationDomainEx.LiteDbContext.SetManualConfig.FindAll().FirstOrDefault();
if (!this.manualConfig.IsManual) return; // if (!this.manualConfig.IsManual) return;
isMouseDown = false; // isMouseDown = false;
//if (vm.IsDrawStartPlace) // //if (vm.IsDrawStartPlace)
//{ // //{
// rectStart.Stroke = Brushes.Red; // // rectStart.Stroke = Brushes.Red;
// rectStart.StrokeThickness = 0; // // rectStart.StrokeThickness = 0;
// //if (!this.canvas1.Children.Contains(rectStart)) // // //if (!this.canvas1.Children.Contains(rectStart))
// //{ // // //{
// // this.canvas1.Children.Add(rectStart); // // // this.canvas1.Children.Add(rectStart);
// //} // // //}
//} // //}
//if (vm.IsDrawEndPlace) // //if (vm.IsDrawEndPlace)
//{ // //{
// rectEnd.Stroke = Brushes.Green; // // rectEnd.Stroke = Brushes.Green;
// rectEnd.StrokeThickness = 0; // // rectEnd.StrokeThickness = 0;
// //if (!this.canvas1.Children.Contains(rectEnd)) // // //if (!this.canvas1.Children.Contains(rectEnd))
// //{ // // //{
// // this.canvas1.Children.Add(rectEnd); // // // this.canvas1.Children.Add(rectEnd);
// //} // // //}
//} // //}
double width= this.video.ActualWidth; // double width= this.video.ActualWidth;
double height = this.video.ActualHeight; // double height = this.video.ActualHeight;
double cans1width = this.canvas1.ActualWidth; // double cans1width = this.canvas1.ActualWidth;
double cans1height = this.canvas1.ActualHeight; // double cans1height = this.canvas1.ActualHeight;
if (vm.IsDrawStartPlace) // if (vm.IsDrawStartPlace)
{ // {
///aa = new PathGeometry(); // ///aa = new PathGeometry();
/// // ///
//if (aa == null) // //if (aa == null)
//{ // //{
aa = new PathGeometry(); // aa = new PathGeometry();
//RectangleGeometry temp1 = new RectangleGeometry(rectStart); // //RectangleGeometry temp1 = new RectangleGeometry(rectStart);
// temp1.StrokeContains // // temp1.StrokeContains
//foreach (var rectStart in rectStarts) // //foreach (var rectStart in rectStarts)
//{ // //{
// aa.AddGeometry(new RectangleGeometry(rectStart)); // // aa.AddGeometry(new RectangleGeometry(rectStart));
//} // //}
//aa.AddGeometry(new RectangleGeometry(rectStart)); // //aa.AddGeometry(new RectangleGeometry(rectStart));
aa.AddGeometry(new RectangleGeometry(rectEnd)); // aa.AddGeometry(new RectangleGeometry(rectEnd));
aa.AddGeometry(new RectangleGeometry(rectInvalid)); // aa.AddGeometry(new RectangleGeometry(rectInvalid));
// } // // }
} // }
else if(vm.IsDrawEndPlace) // else if(vm.IsDrawEndPlace)
{ // {
//if (aa == null) // //if (aa == null)
//{ // //{
// bb = new PathGeometry(); // // bb = new PathGeometry();
// bb.AddGeometry(new RectangleGeometry(rectEnd)); // // bb.AddGeometry(new RectangleGeometry(rectEnd));
// } // // }
aa = new PathGeometry(); // aa = new PathGeometry();
//foreach (var rectStart in rectStarts) // //foreach (var rectStart in rectStarts)
//{ // //{
// aa.AddGeometry(new RectangleGeometry(rectStart)); // // aa.AddGeometry(new RectangleGeometry(rectStart));
//} // //}
//aa.AddGeometry(new RectangleGeometry(rectStart)); // //aa.AddGeometry(new RectangleGeometry(rectStart));
aa.AddGeometry(new RectangleGeometry(rectEnd)); // aa.AddGeometry(new RectangleGeometry(rectEnd));
aa.AddGeometry(new RectangleGeometry(rectInvalid)); // aa.AddGeometry(new RectangleGeometry(rectInvalid));
} // }
else if(vm.IsDrawInvalidPlace) //else if(vm.IsDrawInvalidPlace)
{ // {
aa = new PathGeometry(); // aa = new PathGeometry();
//foreach (var rectStart in rectStarts) // //foreach (var rectStart in rectStarts)
//{ // //{
// aa.AddGeometry(new RectangleGeometry(rectStart)); // // aa.AddGeometry(new RectangleGeometry(rectStart));
//} // //}
//aa.AddGeometry(new RectangleGeometry(rectStart)); // //aa.AddGeometry(new RectangleGeometry(rectStart));
aa.AddGeometry(new RectangleGeometry(rectEnd)); // aa.AddGeometry(new RectangleGeometry(rectEnd));
aa.AddGeometry(new RectangleGeometry(rectInvalid)); // aa.AddGeometry(new RectangleGeometry(rectInvalid));
} // }
myPath.Data = aa; // myPath.Data = aa;
} }
private void Border_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) private void Border_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
......
using SharpDX.Mathematics.Interop; using SharpDX;
using SharpDX.Mathematics.Interop;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using System.Linq; using System.Linq;
using VIZ.FGOUT.Connection; using VIZ.FGOUT.Connection;
using VIZ.FGOUT.Domain; using VIZ.FGOUT.Domain;
...@@ -16,7 +18,11 @@ namespace VIZ.FGOUT.Module ...@@ -16,7 +18,11 @@ namespace VIZ.FGOUT.Module
/// </summary> /// </summary>
public partial class NDIViewModel public partial class NDIViewModel
{ {
private FrameBuffer _frameBuffer = new FrameBuffer(TimeSpan.FromSeconds(10)); //private FrameBuffer _frameBuffer = new FrameBuffer(TimeSpan.FromSeconds(10));
private FrameBuffer _frameBuffer = new FrameBuffer(TimeSpan.FromSeconds(1));
//private CircularVideoBuffer _frameBuffer = new CircularVideoBuffer(50);
MemoryStream videoBuffer = new MemoryStream();
/// <summary> /// <summary>
/// 重置3D鼠标 /// 重置3D鼠标
/// </summary> /// </summary>
...@@ -106,6 +112,25 @@ namespace VIZ.FGOUT.Module ...@@ -106,6 +112,25 @@ namespace VIZ.FGOUT.Module
/// </summary> /// </summary>
public long timecode = 0; public long timecode = 0;
private int index = 0;
/// <summary>
/// 视频流数据的深度复制
/// </summary>
/// <param name="originalStream"></param>
/// <returns></returns>
private static DataStream DeepCloneDataStream(DataStream originalStream)
{
// 创建新的 DataStream 对象
DataStream clonedStream = new DataStream((int)originalStream.Length, true, true);
// 读取原始数据并写入到新的 DataStream 对象
byte[] buffer = new byte[originalStream.Length];
clonedStream.Write(buffer, 0, buffer.Length);
// 重新设置新的 DataStream 对象的 Position 属性
clonedStream.Position = 0;
return clonedStream;
}
/// <summary> /// <summary>
/// 处理NDI流帧 /// 处理NDI流帧
/// </summary> /// </summary>
...@@ -115,55 +140,98 @@ namespace VIZ.FGOUT.Module ...@@ -115,55 +140,98 @@ namespace VIZ.FGOUT.Module
if (view == null) if (view == null)
return; return;
//缓存策略 ////缓存策略
//_frameBuffer.AddFrame(e.Frame); //_frameBuffer.AddFrame(e.Frame);
//_frameBufferPlay.AddFrame(e.Frame);
//时间戳获取 DataStreamExtend dsExtend = new DataStreamExtend();
timecode = e.Frame.TimeStamp;
// 更新画面
view.video.UpdateVideoFrame(e.Frame);
// 更新手动裁切框 if (view.vm.IsReplay)
// 仅手动模式下处理 & 居中模式下处理 & 需要进行裁切 时才处理
if ((this.StrategyMode == AlgorithmStrategyMode.center_mode || this.StrategyMode == AlgorithmStrategyMode.manual_mode) && this.IsUseClip)
{ {
this.UpdateClipBoxWithManualAndCenter(); //Queue<IVideoFrame> buffer = _frameBuffer.GetFrames();
} //IVideoFrame buffer = _frameBuffer.GetFrame(index);
// 获取将要发送的裁切数据, 无论什么模式均要发送 //if (buffer.DataStream!=null)
Navigation3DSmoothWithSavitzkyGolayResult sendValue = this.ManualController.GetSavitzkyGolayValue(e.Frame.TimeStamp, this.ClipBoxX + ApplicationDomainEx.VIDEO_CLIP_BOX_WIDTH / 2); // view.video.UpdateVideoFrame(buffer);
//else
// view.vm.IsReplay = false;
//videoBuffer.Seek(0, SeekOrigin.Begin);
//index++;
// 如果当前模式为手动模式或居中模式且处于接收裁切信号状态,并且需要进行裁切,那么发送手动裁切信号 && this.ViewStatus == NDIViewStatus.CropRoi Queue<DataStreamExtend> buffer = _frameBuffer.GetFrames();
if (e.Frame != null && this.IsUseClip if (buffer.Count > 0)
&& (this.StrategyMode == AlgorithmStrategyMode.center_mode || this.StrategyMode == AlgorithmStrategyMode.manual_mode)) // 更新画面
view.video.UpdateVideoFrame(buffer.Dequeue());
else
view.vm.IsReplay = false;
}
else
{ {
UdpEndpointManager manager = ConnectionManager.UdpConnection.GetEndpointManager(this.ViewKey); //缓存策略
if (manager == null) //index = 0;
return; //Stream videoStream = e.Frame.DataStream;
//videoStream.CopyTo(videoBuffer);
//时间戳获取
timecode = e.Frame.TimeStamp;
// 更新画面
view.video.UpdateVideoFrame(e.Frame);
//VideoFrameEventArgs args = new VideoFrameEventArgs
//{
// Frame = e.Frame
//};
//args.Frame.DataStream = DeepCloneDataStream(e.Frame.DataStream);
//dsExtend.DataStream = DeepCloneDataStream(e.Frame.DataStream);
//dsExtend.Length = e.Frame.Length;
//dsExtend.Width = e.Frame.Width;
//dsExtend.Height = e.Frame.Height;
////dsExtend.TimeStamp = e.Frame.TimeStamp;
List<int> roi = this.GetManulRoi(); //_frameBuffer.AddFrame(dsExtend);
// 向算法发送裁切框 // 更新手动裁切框
if (this.StrategyMode == AlgorithmStrategyMode.center_mode) // 仅手动模式下处理 & 居中模式下处理 & 需要进行裁切 时才处理
if ((this.StrategyMode == AlgorithmStrategyMode.center_mode || this.StrategyMode == AlgorithmStrategyMode.manual_mode) && this.IsUseClip)
{ {
AlgorithmSender.CenterMode(manager, this.ID, this.ViewConfig.IsSendToCrop, roi, this.AlgorithmConfig.SmoothCoeff); this.UpdateClipBoxWithManualAndCenter();
} }
else if (this.StrategyMode == AlgorithmStrategyMode.manual_mode)
// 获取将要发送的裁切数据, 无论什么模式均要发送
Navigation3DSmoothWithSavitzkyGolayResult sendValue = this.ManualController.GetSavitzkyGolayValue(e.Frame.TimeStamp, this.ClipBoxX + ApplicationDomainEx.VIDEO_CLIP_BOX_WIDTH / 2);
// 如果当前模式为手动模式或居中模式且处于接收裁切信号状态,并且需要进行裁切,那么发送手动裁切信号 && this.ViewStatus == NDIViewStatus.CropRoi
if (e.Frame != null && this.IsUseClip
&& (this.StrategyMode == AlgorithmStrategyMode.center_mode || this.StrategyMode == AlgorithmStrategyMode.manual_mode))
{ {
AlgorithmSender.ManualMode(manager, this.ID, this.ViewConfig.IsSendToCrop, roi, this.AlgorithmConfig.SmoothCoeff); UdpEndpointManager manager = ConnectionManager.UdpConnection.GetEndpointManager(this.ViewKey);
} if (manager == null)
return;
// 在需要发送裁切框时 List<int> roi = this.GetManulRoi();
//if (this.viewConfig.IsSendToCrop)
//{ // 向算法发送裁切框
// UdpEndpointManager manager_clip = ConnectionManager.UdpConnection.GetEndpointManager($"{this.ViewKey}__CLIP"); if (this.StrategyMode == AlgorithmStrategyMode.center_mode)
// if (manager_clip != null) {
// { AlgorithmSender.CenterMode(manager, this.ID, this.ViewConfig.IsSendToCrop, roi, this.AlgorithmConfig.SmoothCoeff);
// ClipSender.CropRoi(manager_clip, 0, this.GetManulRoi((int)sendValue.Value), ApplicationDomainEx.VIDEO_CLIP_BOX_WIDTH, e.Frame.Height, sendValue.TimeCode); }
// } else if (this.StrategyMode == AlgorithmStrategyMode.manual_mode)
//} {
} AlgorithmSender.ManualMode(manager, this.ID, this.ViewConfig.IsSendToCrop, roi, this.AlgorithmConfig.SmoothCoeff);
}
// 在需要发送裁切框时
//if (this.viewConfig.IsSendToCrop)
//{
// UdpEndpointManager manager_clip = ConnectionManager.UdpConnection.GetEndpointManager($"{this.ViewKey}__CLIP");
// if (manager_clip != null)
// {
// ClipSender.CropRoi(manager_clip, 0, this.GetManulRoi((int)sendValue.Value), ApplicationDomainEx.VIDEO_CLIP_BOX_WIDTH, e.Frame.Height, sendValue.TimeCode);
// }
//}
}
}
// 统计裁切FPS // 统计裁切FPS
this.ClipFPS.CalcFps(); this.ClipFPS.CalcFps();
} }
...@@ -171,7 +239,7 @@ namespace VIZ.FGOUT.Module ...@@ -171,7 +239,7 @@ namespace VIZ.FGOUT.Module
public class FrameBuffer public class FrameBuffer
{ {
private Queue<IVideoFrame> buffer; private Queue<DataStreamExtend> buffer;
private int bufferSize; private int bufferSize;
private TimeSpan bufferDuration; private TimeSpan bufferDuration;
...@@ -180,22 +248,80 @@ namespace VIZ.FGOUT.Module ...@@ -180,22 +248,80 @@ namespace VIZ.FGOUT.Module
bufferDuration = duration; bufferDuration = duration;
//bufferSize = (int)(duration.TotalMilliseconds / TimeSpan.FromSeconds(0.1).TotalMilliseconds); //bufferSize = (int)(duration.TotalMilliseconds / TimeSpan.FromSeconds(0.1).TotalMilliseconds);
bufferSize = duration.Seconds * 50; bufferSize = duration.Seconds * 50;
buffer = new Queue<IVideoFrame>(bufferSize); buffer = new Queue<DataStreamExtend>(bufferSize);
} }
public void AddFrame(IVideoFrame frame) public void AddFrame(DataStreamExtend frame)
{ {
buffer.Enqueue(frame); buffer.Enqueue(frame);
// 如果缓冲区超过容量,则移除最旧的帧 // 如果缓冲区超过容量,则移除最旧的帧
if (buffer.Count > bufferSize) //if (buffer.Count > bufferSize)
{ if (buffer.Count > 150)
buffer.Dequeue(); buffer.Dequeue();
}
//// 使用 Dispatcher 将操作推送到 UI 线程
//Application.Current.Dispatcher.Invoke((Action)(() =>
//{
// // 在此处将 DataStream 放入队列
// buffer.Enqueue(frame);
// // 如果缓冲区超过容量,则移除最旧的帧
// if (buffer.Count > bufferSize)
// buffer.Dequeue();
//}));
} }
public IEnumerable<IVideoFrame> GetFrames() public Queue<DataStreamExtend> GetFrames()
{ {
return buffer; return buffer;
} }
} }
/// <summary>
/// 循环缓冲区
/// </summary>
public class CircularVideoBuffer
{
private readonly object lockObject = new object();
private readonly List<IVideoFrame> buffer;
private int currentIndex;
public int BufferSize { get; }
public CircularVideoBuffer(int bufferSize)
{
BufferSize = bufferSize;
buffer = new List<IVideoFrame>(bufferSize);
currentIndex = 0;
}
public void AddFrame(IVideoFrame frame)
{
lock (lockObject)
{
if (buffer.Count < BufferSize)
{
buffer.Add(frame);
}
else
{
buffer[currentIndex] = frame;
currentIndex = (currentIndex + 1) % BufferSize;
}
}
}
public IVideoFrame GetFrame(int index)
{
lock (lockObject)
{
if (index < buffer.Count)
{
return buffer[index];
}
return null;
}
}
}
} }
...@@ -69,7 +69,6 @@ namespace VIZ.FGOUT.Module ...@@ -69,7 +69,6 @@ namespace VIZ.FGOUT.Module
//初始化算法 //初始化算法
// this.InitAlgorithm(); // this.InitAlgorithm();
} }
/// <summary> /// <summary>
...@@ -160,20 +159,20 @@ namespace VIZ.FGOUT.Module ...@@ -160,20 +159,20 @@ namespace VIZ.FGOUT.Module
ueControlPanelView.Show(); ueControlPanelView.Show();
} }
public bool IsReplay =false;
/// <summary> /// <summary>
/// replay 命令 /// replay 命令
/// </summary> /// </summary>
private void Replay(ReplayModel replayModel) private void Replay(ReplayModel replayModel)
{ {
if (this.ViewKey != "CAM_1") if (this.ViewKey != "CAM_1")
{
return; return;
} IsReplay = replayModel.IsReplay;
//ReplayPanelView replayPanelView = new ReplayPanelView();
ReplayPanelView replayPanelView = new ReplayPanelView(); //RePlayPanelViewModel rePlayPanelViewModel = replayPanelView.DataContext as RePlayPanelViewModel;
RePlayPanelViewModel rePlayPanelViewModel = replayPanelView.DataContext as RePlayPanelViewModel; //rePlayPanelViewModel.timecode = timecode;
rePlayPanelViewModel.timecode = timecode; //replayPanelView.Show();
replayPanelView.Show();
} }
/// <summary> /// <summary>
...@@ -235,7 +234,6 @@ namespace VIZ.FGOUT.Module ...@@ -235,7 +234,6 @@ namespace VIZ.FGOUT.Module
IsDrawStartPlace = false; IsDrawStartPlace = false;
IsDrawEndPlace = false; IsDrawEndPlace = false;
IsCleanPlace = false; IsCleanPlace = false;
} }
...@@ -255,8 +253,8 @@ namespace VIZ.FGOUT.Module ...@@ -255,8 +253,8 @@ namespace VIZ.FGOUT.Module
IsDrawInvalidPlace = false; IsDrawInvalidPlace = false;
//nDIView.rectStart = new System.Windows.Rect(0, 0, 0, 0); //nDIView.rectStart = new System.Windows.Rect(0, 0, 0, 0);
nDIView.rectEnd = new System.Windows.Rect(0, 0, 0, 0); //nDIView.rectEnd = new System.Windows.Rect(0, 0, 0, 0);
nDIView.rectInvalid = new System.Windows.Rect(0, 0, 0, 0); //nDIView.rectInvalid = new System.Windows.Rect(0, 0, 0, 0);
nDIView.polygonsStart.Clear(); nDIView.polygonsStart.Clear();
nDIView.polygonsEnd.Clear(); nDIView.polygonsEnd.Clear();
...@@ -394,9 +392,7 @@ namespace VIZ.FGOUT.Module ...@@ -394,9 +392,7 @@ namespace VIZ.FGOUT.Module
this.manualConfig = ApplicationDomainEx.LiteDbContext.SetManualConfig.FindAll().FirstOrDefault(); this.manualConfig = ApplicationDomainEx.LiteDbContext.SetManualConfig.FindAll().FirstOrDefault();
if (this.manualConfig==null) if (this.manualConfig==null)
{
this.manualConfig = new SetManualConfig(); this.manualConfig = new SetManualConfig();
}
this.manualConfig.IsManual = savePlaceModel.IsManual; this.manualConfig.IsManual = savePlaceModel.IsManual;
this.manualConfig.IsStartMat = savePlaceModel.IsStartMat; this.manualConfig.IsStartMat = savePlaceModel.IsStartMat;
......
#pragma checksum "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "01435BBE89EC4DCDB63849DA92F11980D271587C3E8D98E3488B2A1580DCC915" #pragma checksum "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "0B309E3F95FE48A88A7C889AA393045A6B4CE3C6BEE153A0005C54FD0A0F5904"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
...@@ -58,7 +58,7 @@ namespace VIZ.FGOUT.Module { ...@@ -58,7 +58,7 @@ namespace VIZ.FGOUT.Module {
#line hidden #line hidden
#line 306 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml" #line 302 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal VIZ.FGOUT.Module.NDIView cam1; internal VIZ.FGOUT.Module.NDIView cam1;
...@@ -66,7 +66,7 @@ namespace VIZ.FGOUT.Module { ...@@ -66,7 +66,7 @@ namespace VIZ.FGOUT.Module {
#line hidden #line hidden
#line 324 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml" #line 320 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal VIZ.FGOUT.Module.NDIView cam2; internal VIZ.FGOUT.Module.NDIView cam2;
......
#pragma checksum "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "01435BBE89EC4DCDB63849DA92F11980D271587C3E8D98E3488B2A1580DCC915" #pragma checksum "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "0B309E3F95FE48A88A7C889AA393045A6B4CE3C6BEE153A0005C54FD0A0F5904"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
...@@ -58,7 +58,7 @@ namespace VIZ.FGOUT.Module { ...@@ -58,7 +58,7 @@ namespace VIZ.FGOUT.Module {
#line hidden #line hidden
#line 306 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml" #line 302 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal VIZ.FGOUT.Module.NDIView cam1; internal VIZ.FGOUT.Module.NDIView cam1;
...@@ -66,7 +66,7 @@ namespace VIZ.FGOUT.Module { ...@@ -66,7 +66,7 @@ namespace VIZ.FGOUT.Module {
#line hidden #line hidden
#line 324 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml" #line 320 "..\..\..\..\..\NDIMainView\View\NDIMainView.xaml"
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
internal VIZ.FGOUT.Module.NDIView cam2; internal VIZ.FGOUT.Module.NDIView cam2;
......
bb45dc7862f5677ab2cd5a3afa72c7ae1c5fd285 804b778db4c457a134cf20855d93b6ed1d83d406
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
library library
C# C#
.cs .cs
D:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\obj\x64\Debug\ D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\obj\x64\Debug\
VIZ.FGOUT.Module VIZ.FGOUT.Module
none none
false false
...@@ -13,7 +13,7 @@ DEBUG;TRACE ...@@ -13,7 +13,7 @@ DEBUG;TRACE
22-808211288 22-808211288
90-747441034 90-747441034
151130447140 151697787199
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; 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;
False False
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
library library
C# C#
.cs .cs
D:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\obj\x64\Debug\ D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\obj\x64\Debug\
VIZ.FGOUT.Module VIZ.FGOUT.Module
none none
false false
...@@ -13,7 +13,7 @@ DEBUG;TRACE ...@@ -13,7 +13,7 @@ DEBUG;TRACE
22-808211288 22-808211288
91978002453 91978002453
151130447140 151697787199
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; 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 True
......
D:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\obj\x64\Debug\GeneratedInternalTypeHelper.g.i.cs D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\obj\x64\Debug\GeneratedInternalTypeHelper.g.i.cs
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIMainView\View\NDIMainView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIMainView\View\NDIMainView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIPreviewView\View\NDIPreviewView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIPreviewView\View\NDIPreviewView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\AlgorithmSettingPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\AlgorithmSettingPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmCablewayPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmCablewayPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmNearPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmNearPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmSinglePanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmSinglePanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmSixteenPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmSixteenPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmTacticsPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmTacticsPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\NDISettingPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\NDISettingPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\NDISettingView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\NDISettingView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIView\View\NDIView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIView\View\NDIView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\AboutPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\AboutPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\CheckDataPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\CheckDataPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\HotkeySettingPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\HotkeySettingPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\MattingImagePanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\MattingImagePanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\PackageSettingPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\PackageSettingPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\PreviewSettingPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\PreviewSettingPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\ReplayPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\ReplayPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\StyleSettingPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\StyleSettingPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\SystemSettingView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\SystemSettingView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\UEControlPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\UEControlPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\UESettingPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\UESettingPanelView.xaml;;
D:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\obj\x64\Debug\GeneratedInternalTypeHelper.g.cs 
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIMainView\View\NDIMainView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIMainView\View\NDIMainView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIPreviewView\View\NDIPreviewView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIPreviewView\View\NDIPreviewView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\AlgorithmSettingPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\AlgorithmSettingPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmCablewayPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmCablewayPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmNearPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmNearPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmSinglePanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmSinglePanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmSixteenPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmSixteenPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmTacticsPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\Algorithm\AlgorithmTacticsPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\NDISettingPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\NDISettingPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\NDISettingView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDISettingView\View\NDISettingView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIView\View\NDIView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIView\View\NDIView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\AboutPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\AboutPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\CheckDataPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\CheckDataPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\HotkeySettingPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\HotkeySettingPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\MattingImagePanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\MattingImagePanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\PackageSettingPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\PackageSettingPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\PreviewSettingPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\PreviewSettingPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\ReplayPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\ReplayPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\StyleSettingPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\StyleSettingPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\SystemSettingView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\SystemSettingView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\UEControlPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\UEControlPanelView.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\UESettingPanelView.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\SystemSetting\View\UESettingPanelView.xaml;;
f7deecda7a4cb8b6b9c8cc9da3e1feb09ae5bb50 4eb86bfe6ccc5d8d0d4c02849c1cddbfdee97841
2023-09-05 10:33:01,935 [11] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确! 2023-09-07 10:33:14,765 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-05 11:11:54,548 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确! 2023-09-07 10:36:09,244 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 10:43:44,544 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 10:48:58,957 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 10:50:22,196 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 10:50:48,196 [10] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 10:52:47,111 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 10:58:44,931 [13] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 14:10:26,328 [13] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 14:42:08,326 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 14:49:25,376 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 15:05:57,830 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 15:15:09,159 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 15:20:14,567 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 15:23:19,740 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 15:25:48,163 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 15:26:24,115 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 15:27:09,815 [3] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 15:31:26,083 [9] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 15:42:17,372 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 15:58:16,167 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 16:01:46,868 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 16:27:41,004 [9] ERROR VIZ.FGOUT.Module.LoopController - System.InvalidOperationException: 集合已修改;可能无法执行枚举操作。
在 System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
在 System.Collections.Generic.Dictionary`2.ValueCollection.Enumerator.MoveNext()
在 System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
在 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
在 System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
在 VIZ.Framework.Core.ServiceManager.GetServiceList[T]() 位置 D:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Core\Core\WPF\ServiceManager.cs:行号 72
在 VIZ.FGOUT.Module.LoopController.UpdateAlgorithmTargetBoxLostFrame() 位置 D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIMainView\Controller\Loop\LoopController.cs:行号 146
在 VIZ.FGOUT.Module.LoopController.ExecuteLoop() 位置 D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIMainView\Controller\Loop\LoopController.cs:行号 82
2023-09-07 16:27:41,753 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 16:40:56,297 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 16:41:37,029 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 16:43:47,415 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 16:44:13,022 [13] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 16:45:19,302 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 16:48:33,241 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 16:49:02,289 [13] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 16:49:45,279 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 16:52:37,786 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 16:53:54,952 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 16:55:38,328 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 18:02:58,707 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 18:03:49,378 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 18:07:11,122 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 18:08:21,430 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 18:15:04,200 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 18:15:10,998 [21] ERROR VIZ.Framework.Module.AppSetup_CatchUnhandledException - System.InvalidOperationException: 队列为空。
在 System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
在 System.Collections.Generic.Queue`1.Dequeue()
在 VIZ.FGOUT.Module.NDIViewModel.NDIStream_ExecuteVideoFrame(Object sender, VideoFrameEventArgs e) 位置 D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIView\ViewModel\NDIViewModel.Manual_NDI.cs:行号 166
在 VIZ.Framework.Common.VideoStreamBase`1.TriggerExecuteVideoFrame(IVideoFrame frame) 位置 D:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\VideoControl\Stream\VideoStreamBase.cs:行号 79
在 VIZ.Framework.Common.NDIStreamExecuteVideoTask.Execute() 位置 D:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\VideoControl\Stream\NDI\Task\NDIStreamExecuteVideoTask.cs:行号 50
在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
在 System.Threading.ThreadHelper.ThreadStart()
2023-09-07 18:16:18,584 [9] ERROR VIZ.FGOUT.Module.LoopController - System.InvalidOperationException: 集合已修改;可能无法执行枚举操作。
在 System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
在 System.Collections.Generic.Dictionary`2.ValueCollection.Enumerator.MoveNext()
在 System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
在 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
在 System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
在 VIZ.Framework.Core.ServiceManager.GetServiceList[T]() 位置 D:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Core\Core\WPF\ServiceManager.cs:行号 72
在 VIZ.FGOUT.Module.LoopController.UpdateAlgorithmTargetBoxLostFrame() 位置 D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIMainView\Controller\Loop\LoopController.cs:行号 146
在 VIZ.FGOUT.Module.LoopController.ExecuteLoop() 位置 D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIMainView\Controller\Loop\LoopController.cs:行号 82
2023-09-07 18:16:19,207 [13] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 18:17:08,915 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 18:19:52,495 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 18:20:44,466 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 18:22:58,152 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 18:24:48,825 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 18:25:33,414 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 18:28:47,075 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 18:28:50,777 [23] ERROR VIZ.Framework.Module.AppSetup_CatchUnhandledException - System.NotImplementedException: 未实现该方法或操作。
在 VIZ.Framework.Common.DataStreamExtend.Dispose() 位置 D:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\VideoControl\Stream\DataStreamExtend.cs:行号 31
在 VIZ.Framework.Common.VideoRenderInfo.Dispose() 位置 D:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\VideoControl\Control\VideoRenderInfo.cs:行号 41
在 VIZ.Framework.Common.VideoCustomRender.UpdateVideoFrame(IVideoFrame videoFrame) 位置 D:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\VideoControl\Control\VideoCustomRender.cs:行号 111
在 VIZ.Framework.Common.VideoControl.UpdateVideoFrame(IVideoFrame videoFrame) 位置 D:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\VideoControl\Control\VideoControl.xaml.cs:行号 54
在 VIZ.FGOUT.Module.NDIViewModel.NDIStream_ExecuteVideoFrame(Object sender, VideoFrameEventArgs e) 位置 D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT.Module\NDIView\ViewModel\NDIViewModel.Manual_NDI.cs:行号 164
在 VIZ.Framework.Common.VideoStreamBase`1.TriggerExecuteVideoFrame(IVideoFrame frame) 位置 D:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\VideoControl\Stream\VideoStreamBase.cs:行号 79
在 VIZ.Framework.Common.NDIStreamExecuteVideoTask.Execute() 位置 D:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\VideoControl\Stream\NDI\Task\NDIStreamExecuteVideoTask.cs:行号 50
在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
在 System.Threading.ThreadHelper.ThreadStart()
2023-09-07 18:29:13,175 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 18:29:29,067 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-07 18:30:28,282 [12] ERROR VIZ.FGOUT.Module.AlgorithmControllerBase - 算法'Single'的启动路径:'C:\projects\org\person_v1.1.0.0\main_person_new22.py'不正确!
2023-09-05 10:34:18,663 [1] INFO VIZ.Framework.Connection.UdpEndpointManagerExpand - 发送UDPJosn串:{"type":"LOADMASK","data":{"backTimes":0,"timecode":0,"status":0,"loadFlag":1}} 2023-09-07 10:37:30,957 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-05 10:34:36,958 [1] INFO VIZ.Framework.Connection.UdpEndpointManagerExpand - 发送UDPJosn串:{"type":"LOADMASK","data":{"backTimes":0,"timecode":0,"status":0,"loadFlag":0}} 2023-09-07 10:37:31,022 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:D5
2023-09-07 10:37:31,888 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 10:37:32,155 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + S
2023-09-07 10:38:59,975 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 10:39:00,110 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 10:39:00,206 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:D3
2023-09-07 10:39:00,532 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:D0
2023-09-07 10:39:01,864 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 10:39:02,128 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + S
2023-09-07 10:42:28,118 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 10:42:28,355 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl +
2023-09-07 10:42:28,475 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + Alt + A
2023-09-07 10:44:11,889 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 10:44:11,962 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl +
2023-09-07 10:44:11,967 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + Alt + A
2023-09-07 10:44:18,388 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + Alt + A
2023-09-07 10:44:41,865 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 10:44:41,922 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + V
2023-09-07 10:44:44,564 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 10:44:47,412 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 10:44:48,229 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl +
2023-09-07 10:44:48,437 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + Alt + A
2023-09-07 10:45:20,849 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 10:45:22,105 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 10:45:22,159 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl +
2023-09-07 10:45:22,246 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + Alt + A
2023-09-07 10:49:43,437 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 10:49:43,493 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:D1
2023-09-07 10:49:44,481 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 10:49:44,830 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + S
2023-09-07 15:07:08,041 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:07:42,541 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:07:46,837 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:07:46,982 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + K
2023-09-07 15:07:47,125 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + C
2023-09-07 15:07:47,521 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:07:47,686 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + S
2023-09-07 15:39:40,329 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:39:40,471 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:39:45,135 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:40:12,101 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:40:45,719 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:40:49,685 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:40:49,965 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + C
2023-09-07 15:40:56,366 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:40:56,861 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + V
2023-09-07 15:40:58,667 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:40:58,793 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + V
2023-09-07 15:41:01,329 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:41:01,486 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + V
2023-09-07 15:41:02,336 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:41:02,494 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + S
2023-09-07 15:45:20,064 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:45:21,586 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:46:00,031 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:46:18,996 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:46:21,300 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:11,304 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:K
2023-09-07 15:47:11,515 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:U
2023-09-07 15:47:11,614 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:O
2023-09-07 15:47:11,825 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Z
2023-09-07 15:47:11,943 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:H
2023-09-07 15:47:12,047 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:A
2023-09-07 15:47:12,098 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:N
2023-09-07 15:47:12,320 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:23,654 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:23,912 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + C
2023-09-07 15:47:32,965 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:33,839 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:P
2023-09-07 15:47:33,907 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:U
2023-09-07 15:47:34,068 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:34,951 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:35,321 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:36,423 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:B
2023-09-07 15:47:36,624 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:L
2023-09-07 15:47:36,715 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:I
2023-09-07 15:47:36,842 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:C
2023-09-07 15:47:37,129 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:37,490 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:C
2023-09-07 15:47:37,592 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:L
2023-09-07 15:47:37,787 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:A
2023-09-07 15:47:38,525 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:S
2023-09-07 15:47:38,681 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:E
2023-09-07 15:47:38,877 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:E
2023-09-07 15:47:39,177 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:39,741 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:39,885 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + V
2023-09-07 15:47:41,084 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:41,203 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Shift + E
2023-09-07 15:47:41,398 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:X
2023-09-07 15:47:42,109 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:T
2023-09-07 15:47:42,317 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:E
2023-09-07 15:47:42,677 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:N
2023-09-07 15:47:42,915 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:D
2023-09-07 15:47:44,106 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:44,337 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Shift +
2023-09-07 15:47:44,760 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:54,769 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:57,834 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:57,992 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:58,772 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:S
2023-09-07 15:47:59,288 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:47:59,462 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + S
2023-09-07 15:48:33,155 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:48:34,934 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:48:39,866 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:48:52,367 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:49:02,179 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:49:02,328 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl +
2023-09-07 15:49:02,525 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + Alt + A
2023-09-07 15:49:24,177 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:49:24,295 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:49:24,298 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:49:24,485 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + V
2023-09-07 15:49:27,700 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:49:27,842 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl +
2023-09-07 15:49:28,048 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + Alt + A
2023-09-07 15:49:43,267 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:49:43,583 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + V
2023-09-07 15:49:45,498 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:L
2023-09-07 15:49:45,617 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:E
2023-09-07 15:49:45,687 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:I
2023-09-07 15:49:46,183 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:49:46,344 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:D
2023-09-07 15:49:46,511 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:E
2023-09-07 15:49:46,551 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:49:46,707 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:S
2023-09-07 15:49:46,746 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:H
2023-09-07 15:49:46,903 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:U
2023-09-07 15:49:46,987 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:X
2023-09-07 15:49:47,066 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:I
2023-09-07 15:49:47,145 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:N
2023-09-07 15:49:47,204 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:G
2023-09-07 15:49:47,333 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:49:47,485 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:S
2023-09-07 15:49:47,599 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:H
2023-09-07 15:49:47,634 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:I
2023-09-07 15:49:47,802 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:49:47,868 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:J
2023-09-07 15:49:47,950 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:I
2023-09-07 15:49:48,033 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:E
2023-09-07 15:49:48,254 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:K
2023-09-07 15:49:48,338 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:O
2023-09-07 15:49:48,417 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:U
2023-09-07 15:49:48,703 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:49:53,776 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:49:58,367 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:50:00,384 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + C
2023-09-07 15:50:05,239 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:50:05,429 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + V
2023-09-07 15:50:13,488 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:50:13,647 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + S
2023-09-07 15:50:31,471 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:50:31,819 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + C
2023-09-07 15:50:40,412 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:50:40,609 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:50:40,817 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + V
2023-09-07 15:50:41,430 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:50:41,591 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + S
2023-09-07 15:59:03,041 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:59:33,414 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:59:33,931 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 15:59:34,091 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + S
2023-09-07 16:01:49,469 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:42:57,382 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:42:57,614 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + C
2023-09-07 16:42:59,575 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:42:59,646 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:42:59,826 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + V
2023-09-07 16:43:03,220 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:43:03,258 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Shift + D
2023-09-07 16:43:03,400 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:A
2023-09-07 16:43:05,637 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:43:05,841 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:43:11,671 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:43:12,447 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:I
2023-09-07 16:43:12,530 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:F
2023-09-07 16:43:14,933 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:43:15,036 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Shift + D9
2023-09-07 16:43:15,336 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:B
2023-09-07 16:43:15,380 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:U
2023-09-07 16:43:16,093 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:43:18,413 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:43:22,904 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:43:23,134 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + X
2023-09-07 16:43:24,049 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:43:24,241 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + V
2023-09-07 16:43:26,866 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:43:27,038 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:43:27,181 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + S
2023-09-07 16:43:31,499 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:B
2023-09-07 16:43:32,257 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:U
2023-09-07 16:43:32,644 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:43:32,952 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:43:35,129 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:43:35,299 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:43:36,182 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:43:36,355 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + S
2023-09-07 16:45:04,324 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:45:09,895 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:D1
2023-09-07 16:45:10,316 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 16:45:10,584 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + S
2023-09-07 18:16:48,815 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 18:16:55,174 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 18:24:07,508 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 18:24:08,714 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:E
2023-09-07 18:24:08,850 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:L
2023-09-07 18:24:08,920 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:S
2023-09-07 18:24:09,039 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:E
2023-09-07 18:24:09,383 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 18:24:10,853 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 18:24:11,367 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 18:24:16,633 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 18:24:16,816 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + C
2023-09-07 18:24:17,868 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 18:24:18,030 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + V
2023-09-07 18:24:19,497 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 18:24:20,595 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 18:24:21,197 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 18:24:21,360 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + S
2023-09-07 18:24:24,440 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 18:24:25,380 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 18:24:25,804 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:
2023-09-07 18:24:25,972 [1] INFO VIZ.FGOUT.Module.NDIMainViewModel - 快捷键:Ctrl + S
...@@ -70,7 +70,7 @@ NAVIGATION3D_PROFILE_NAME=VIZ.H2V ...@@ -70,7 +70,7 @@ NAVIGATION3D_PROFILE_NAME=VIZ.H2V
; ============================================================ ; ============================================================
[UDP] [UDP]
;UDP本机绑定IP, 如果该值不配置,那么会获取本机的第一个IPV4地址 ;UDP本机绑定IP, 如果该值不配置,那么会获取本机的第一个IPV4地址
UDP_BINDING_IP=192.168.31.67 UDP_BINDING_IP=192.168.31.33
;UDP本机绑定端口 ;UDP本机绑定端口
UDP_BINDING_PORT=8100 UDP_BINDING_PORT=8100
; ============================================================ ; ============================================================
......
...@@ -70,7 +70,7 @@ NAVIGATION3D_PROFILE_NAME=VIZ.H2V ...@@ -70,7 +70,7 @@ NAVIGATION3D_PROFILE_NAME=VIZ.H2V
; ============================================================ ; ============================================================
[UDP] [UDP]
;UDP本机绑定IP, 如果该值不配置,那么会获取本机的第一个IPV4地址 ;UDP本机绑定IP, 如果该值不配置,那么会获取本机的第一个IPV4地址
UDP_BINDING_IP=192.168.31.67 UDP_BINDING_IP=192.168.31.33
;UDP本机绑定端口 ;UDP本机绑定端口
UDP_BINDING_PORT=8100 UDP_BINDING_PORT=8100
; ============================================================ ; ============================================================
......
1dc00d4cec167281917ada6ce5d63d2dfee8d8a7 876ae476e44c96fdff08df2a4b76101fe4db721d
...@@ -4,16 +4,16 @@ ...@@ -4,16 +4,16 @@
winexe winexe
C# C#
.cs .cs
D:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT\obj\x64\Debug\ D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT\obj\x64\Debug\
VIZ.FGOUT VIZ.FGOUT
none none
false false
DEBUG;TRACE DEBUG;TRACE
D:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT\App.xaml D:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT\App.xaml
2-1347366880 2-1347366880
6968741766 6968741766
431254803023 431460283494
CloseAlgorithmWindow.xaml;MainWindow.xaml; CloseAlgorithmWindow.xaml;MainWindow.xaml;
False False
......
 
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT\CloseAlgorithmWindow.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT\CloseAlgorithmWindow.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.FGOUT\VIZ.FGOUT\MainWindow.xaml;; FD:\Projects\FGOUT\VIZ.FGOUT\VIZ.FGOUT\MainWindow.xaml;;
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
library library
C# C#
.cs .cs
D:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common.Resource\obj\x64\Debug\ D:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common.Resource\obj\x64\Debug\
VIZ.Framework.Common.Resource VIZ.Framework.Common.Resource
none none
false false
...@@ -13,7 +13,7 @@ DEBUG;TRACE ...@@ -13,7 +13,7 @@ DEBUG;TRACE
91711917753 91711917753
3-1719726047 3-1719726047
19-915820474 19-1151066432
Path\ArrowPathResource.xaml;Style\Button\Button_MessageBox.xaml;Style\Button\Button_Normal.xaml;Style\Button\Button_WindowTop.xaml;Style\GridSplitter\GridSplitter_None.xaml;Style\ListBox\ListBox_None.xaml;Style\ScrollView\ScrollView_Default.xaml;Style\TextBox\TextBox_None.xaml;Themes\Generic.xaml; Path\ArrowPathResource.xaml;Style\Button\Button_MessageBox.xaml;Style\Button\Button_Normal.xaml;Style\Button\Button_WindowTop.xaml;Style\GridSplitter\GridSplitter_None.xaml;Style\ListBox\ListBox_None.xaml;Style\ScrollView\ScrollView_Default.xaml;Style\TextBox\TextBox_None.xaml;Themes\Generic.xaml;
False False
......
...@@ -239,6 +239,7 @@ ...@@ -239,6 +239,7 @@
<Compile Include="VideoControl\Control\Plugin\ManualCorrection\Info\ManualCorrectionInfo.cs" /> <Compile Include="VideoControl\Control\Plugin\ManualCorrection\Info\ManualCorrectionInfo.cs" />
<Compile Include="VideoControl\Control\Plugin\ManualCorrection\ManualCorrectionPlugin.cs" /> <Compile Include="VideoControl\Control\Plugin\ManualCorrection\ManualCorrectionPlugin.cs" />
<Compile Include="VideoControl\Control\Plugin\TrackingBox\Enum\TrackingBoxStyle.cs" /> <Compile Include="VideoControl\Control\Plugin\TrackingBox\Enum\TrackingBoxStyle.cs" />
<Compile Include="VideoControl\Control\VideoRenderInfoNew.cs" />
<Compile Include="VideoControl\Recording\VideoControlRecordingFrame.cs" /> <Compile Include="VideoControl\Recording\VideoControlRecordingFrame.cs" />
<Compile Include="VideoControl\Recording\VideoControlRecording.cs" /> <Compile Include="VideoControl\Recording\VideoControlRecording.cs" />
<Compile Include="VideoControl\Stream\BMDStream\BMDStream.cs" /> <Compile Include="VideoControl\Stream\BMDStream\BMDStream.cs" />
...@@ -247,6 +248,7 @@ ...@@ -247,6 +248,7 @@
<Compile Include="VideoControl\Stream\BMDStream\BMDStreamTaskNames.cs" /> <Compile Include="VideoControl\Stream\BMDStream\BMDStreamTaskNames.cs" />
<Compile Include="VideoControl\Stream\BMDStream\BMDStreamVideoFrame.cs" /> <Compile Include="VideoControl\Stream\BMDStream\BMDStreamVideoFrame.cs" />
<Compile Include="VideoControl\Stream\BMDStream\Task\BMDStreamExecuteVideoTask.cs" /> <Compile Include="VideoControl\Stream\BMDStream\Task\BMDStreamExecuteVideoTask.cs" />
<Compile Include="VideoControl\Stream\DataStreamExtend.cs" />
<Compile Include="VideoControl\Stream\DeckLinkStream\Core\DeckLinkDeviceNotification.cs" /> <Compile Include="VideoControl\Stream\DeckLinkStream\Core\DeckLinkDeviceNotification.cs" />
<Compile Include="VideoControl\Stream\DeckLinkStream\Core\DeckLinkInputDevice.cs" /> <Compile Include="VideoControl\Stream\DeckLinkStream\Core\DeckLinkInputDevice.cs" />
<Compile Include="VideoControl\Stream\DeckLinkStream\Core\DeckLinkManager.cs" /> <Compile Include="VideoControl\Stream\DeckLinkStream\Core\DeckLinkManager.cs" />
......
using OpenCvSharp; using OpenCvSharp;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq; using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using VIZ.Framework.Core;
namespace VIZ.Framework.Common namespace VIZ.Framework.Common
{ {
...@@ -67,6 +54,11 @@ namespace VIZ.Framework.Common ...@@ -67,6 +54,11 @@ namespace VIZ.Framework.Common
this.videoRender?.UpdateVideoFrame(videoFrame); this.videoRender?.UpdateVideoFrame(videoFrame);
} }
public void UpdateVideoFrameNew(DataStreamExtend videoFrame)
{
this.videoRender?.UpdateVideoFrameNew(videoFrame);
}
/// <summary> /// <summary>
/// 清理视频帧 /// 清理视频帧
/// </summary> /// </summary>
......
...@@ -52,6 +52,11 @@ namespace VIZ.Framework.Common ...@@ -52,6 +52,11 @@ namespace VIZ.Framework.Common
internal volatile VideoRenderInfo RenderInfo; internal volatile VideoRenderInfo RenderInfo;
/// <summary> /// <summary>
/// 待渲染信息
/// </summary>
internal volatile VideoRenderInfoNew RenderInfoNew;
/// <summary>
/// 插件集合 /// 插件集合
/// </summary> /// </summary>
internal List<IVideoPlugin> Plugins = new List<IVideoPlugin>(); internal List<IVideoPlugin> Plugins = new List<IVideoPlugin>();
...@@ -62,6 +67,11 @@ namespace VIZ.Framework.Common ...@@ -62,6 +67,11 @@ namespace VIZ.Framework.Common
private object render_lock_object = new object(); private object render_lock_object = new object();
/// <summary> /// <summary>
/// 渲染锁对象
/// </summary>
private object render_lock_object_new = new object();
/// <summary>
/// DirectWrite 工厂 /// DirectWrite 工厂
/// </summary> /// </summary>
private SharpDX.DirectWrite.Factory directWriteFactory = new SharpDX.DirectWrite.Factory(SharpDX.DirectWrite.FactoryType.Isolated); private SharpDX.DirectWrite.Factory directWriteFactory = new SharpDX.DirectWrite.Factory(SharpDX.DirectWrite.FactoryType.Isolated);
...@@ -103,6 +113,39 @@ namespace VIZ.Framework.Common ...@@ -103,6 +113,39 @@ namespace VIZ.Framework.Common
} }
} }
/// <summary>
/// 更新视频帧
/// </summary>
/// <param name="videoFrame">视频帧</param>
public void UpdateVideoFrameNew(DataStreamExtend videoFrame)
{
if (videoFrame == null)
{
this.RenderInfo = null;
return;
}
// ----------------------------------------------------------------------------------------
// 计算绘制区域与大小
ImageHelper.AdjustSize((int)this.ActualWidth, (int)this.ActualHeight, videoFrame.Width, videoFrame.Height, out int width, out int height);
int x = (int)((this.ActualWidth - width) / 2);
int y = (int)((this.ActualHeight - height) / 2);
// ----------------------------------------------------------------------------------------
// 绘制信息
VideoRenderInfoNew info = new VideoRenderInfoNew();
info.Frame = videoFrame;
info.ControlRect = new Rect(0, 0, this.ActualWidth, this.ActualHeight);
info.DrawingRect = new Rect(x, y, width, height);
lock (this.render_lock_object_new)
{
this.RenderInfoNew?.Dispose();
this.RenderInfoNew = info;
}
}
// ======================================================================================================== // ========================================================================================================
/// <summary> /// <summary>
...@@ -137,9 +180,7 @@ namespace VIZ.Framework.Common ...@@ -137,9 +180,7 @@ namespace VIZ.Framework.Common
// 绘制视频 // 绘制视频
if (this.IsRenderVideoFrameEnabled) if (this.IsRenderVideoFrameEnabled)
{
this.RenderVideoFrame(context); this.RenderVideoFrame(context);
}
// 插件渲染 // 插件渲染
foreach (IVideoPlugin plugin in this.Plugins) foreach (IVideoPlugin plugin in this.Plugins)
...@@ -164,6 +205,9 @@ namespace VIZ.Framework.Common ...@@ -164,6 +205,9 @@ namespace VIZ.Framework.Common
/// <param name="context">渲染上下文</param> /// <param name="context">渲染上下文</param>
private void RenderVideoFrame(VideoRenderContext context) private void RenderVideoFrame(VideoRenderContext context)
{ {
if (context.VideoRenderInfo.Frame.DataStream == null)
return;
BitmapProperties properties = new BitmapProperties(new SharpDX.Direct2D1.PixelFormat(Format.B8G8R8A8_UNorm, SharpDX.Direct2D1.AlphaMode.Premultiplied)); BitmapProperties properties = new BitmapProperties(new SharpDX.Direct2D1.PixelFormat(Format.B8G8R8A8_UNorm, SharpDX.Direct2D1.AlphaMode.Premultiplied));
SharpDX.Size2 size = new SharpDX.Size2(context.VideoRenderInfo.Frame.Width, context.VideoRenderInfo.Frame.Height); SharpDX.Size2 size = new SharpDX.Size2(context.VideoRenderInfo.Frame.Width, context.VideoRenderInfo.Frame.Height);
SharpDX.Direct2D1.Bitmap bmp = new SharpDX.Direct2D1.Bitmap(context.Target, size, context.VideoRenderInfo.Frame.DataStream, context.VideoRenderInfo.Frame.Width * 4, properties); SharpDX.Direct2D1.Bitmap bmp = new SharpDX.Direct2D1.Bitmap(context.Target, size, context.VideoRenderInfo.Frame.DataStream, context.VideoRenderInfo.Frame.Width * 4, properties);
...@@ -177,7 +221,6 @@ namespace VIZ.Framework.Common ...@@ -177,7 +221,6 @@ namespace VIZ.Framework.Common
SharpDX.Mathematics.Interop.RawRectangleF rect = new SharpDX.Mathematics.Interop.RawRectangleF(0, 0, context.VideoRenderInfo.Frame.Width, context.VideoRenderInfo.Frame.Height); SharpDX.Mathematics.Interop.RawRectangleF rect = new SharpDX.Mathematics.Interop.RawRectangleF(0, 0, context.VideoRenderInfo.Frame.Width, context.VideoRenderInfo.Frame.Height);
context.Target.DrawBitmap(bmp, rect, 1f, BitmapInterpolationMode.Linear, null); context.Target.DrawBitmap(bmp, rect, 1f, BitmapInterpolationMode.Linear, null);
} }
bmp.Dispose(); bmp.Dispose();
} }
......
using System.Windows;
namespace VIZ.Framework.Common
{
/// <summary>
/// 视频渲染信息
/// </summary>
public class VideoRenderInfoNew
{
/// <summary>
/// 视频帧信息
/// </summary>
public DataStreamExtend Frame { get; set; }
/// <summary>
/// 渲染区域
/// </summary>
public Rect DrawingRect { get; set; }
/// <summary>
/// 控件区域
/// </summary>
public Rect ControlRect { get; set; }
/// <summary>
/// 该对象是否已经被销毁
/// </summary>
private bool IsDisopsed { get; set; }
/// <summary>
/// 销毁
/// </summary>
public void Dispose()
{
if (this.IsDisopsed)
return;
this.IsDisopsed = true;
this.Frame?.Dispose();
}
}
}
using SharpDX;
namespace VIZ.Framework.Common
{
public class DataStreamExtend : IVideoFrame
{
/// <summary>
/// 宽度
/// </summary>
public int Width { get; set; }
/// <summary>
/// 高度
/// </summary>
public int Height { get; set; }
/// <summary>
/// 数据长度
/// </summary>
public int Length { get; set; }
/// <summary>
/// 画面数据
/// </summary>
public DataStream DataStream { get; set; }
public long TimeStamp => throw new System.NotImplementedException();
public void Dispose()
{
}
}
}
 //------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace XamlGeneratedNamespace {
/// <summary>
/// GeneratedInternalTypeHelper
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper {
/// <summary>
/// CreateInstance
/// </summary>
protected override object CreateInstance(System.Type type, System.Globalization.CultureInfo culture) {
return System.Activator.CreateInstance(type, ((System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic)
| (System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.CreateInstance)), null, null, culture);
}
/// <summary>
/// GetPropertyValue
/// </summary>
protected override object GetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, System.Globalization.CultureInfo culture) {
return propertyInfo.GetValue(target, System.Reflection.BindingFlags.Default, null, null, culture);
}
/// <summary>
/// SetPropertyValue
/// </summary>
protected override void SetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, object value, System.Globalization.CultureInfo culture) {
propertyInfo.SetValue(target, value, System.Reflection.BindingFlags.Default, null, null, culture);
}
/// <summary>
/// CreateDelegate
/// </summary>
protected override System.Delegate CreateDelegate(System.Type delegateType, object target, string handler) {
return ((System.Delegate)(target.GetType().InvokeMember("_CreateDelegate", (System.Reflection.BindingFlags.InvokeMethod
| (System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)), null, target, new object[] {
delegateType,
handler}, null)));
}
/// <summary>
/// AddEventHandler
/// </summary>
protected override void AddEventHandler(System.Reflection.EventInfo eventInfo, object target, System.Delegate handler) {
eventInfo.AddEventHandler(target, handler);
}
}
}
9ee7dce3c29d83c7acc3ef1d4c487748dc085983 83945b25462b29a76c9332746f72d84140edf918
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
library library
C# C#
.cs .cs
D:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\obj\x64\Debug\ D:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\obj\x64\Debug\
VIZ.Framework.Common VIZ.Framework.Common
none none
false false
...@@ -12,8 +12,8 @@ DEBUG;TRACE ...@@ -12,8 +12,8 @@ DEBUG;TRACE
15488264905 15488264905
1191075600146 121-429615138
441844013281 442047738191
MessageBox\MessageBoxEx.xaml;MessageBox\MessageBoxExWindow.xaml;Themes\Generic.xaml;VideoControl\Control\VideoControl.xaml;Widgets\ColorPickButton\ColorPickButton.xaml;Widgets\ColorPickButton\ColorPickWindow.xaml;Widgets\GPIOPinTestControl\GPIOPinTestControl.xaml;Widgets\HotkeyBox\HotkeyBox.xaml;Widgets\IconButton\IconButton.xaml;Widgets\LabelValue\LabelValue.xaml;Widgets\NavigationControl\NavigationControl.xaml;Widgets\ResizeImageControl\ResizeImageControl.xaml;Widgets\ShowMessageControl\ShowMessageControl.xaml;Widgets\VideoTimeBar\VideoTimeBar.xaml;Widgets\ViewLoader\ViewLoader.xaml; MessageBox\MessageBoxEx.xaml;MessageBox\MessageBoxExWindow.xaml;Themes\Generic.xaml;VideoControl\Control\VideoControl.xaml;Widgets\ColorPickButton\ColorPickButton.xaml;Widgets\ColorPickButton\ColorPickWindow.xaml;Widgets\GPIOPinTestControl\GPIOPinTestControl.xaml;Widgets\HotkeyBox\HotkeyBox.xaml;Widgets\IconButton\IconButton.xaml;Widgets\LabelValue\LabelValue.xaml;Widgets\NavigationControl\NavigationControl.xaml;Widgets\ResizeImageControl\ResizeImageControl.xaml;Widgets\ShowMessageControl\ShowMessageControl.xaml;Widgets\VideoTimeBar\VideoTimeBar.xaml;Widgets\ViewLoader\ViewLoader.xaml;
False False
......
D:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\obj\x64\Debug\GeneratedInternalTypeHelper.g.cs 
FD:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\MessageBox\MessageBoxEx.xaml;; FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\MessageBox\MessageBoxEx.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\MessageBox\MessageBoxExWindow.xaml;; FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\MessageBox\MessageBoxExWindow.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\Themes\Generic.xaml;; FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\Themes\Generic.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\VideoControl\Control\VideoControl.xaml;; FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\VideoControl\Control\VideoControl.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\ColorPickButton\ColorPickButton.xaml;; FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\ColorPickButton\ColorPickButton.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\ColorPickButton\ColorPickWindow.xaml;; FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\ColorPickButton\ColorPickWindow.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\GPIOPinTestControl\GPIOPinTestControl.xaml;; FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\GPIOPinTestControl\GPIOPinTestControl.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\HotkeyBox\HotkeyBox.xaml;; FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\HotkeyBox\HotkeyBox.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\IconButton\IconButton.xaml;; FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\IconButton\IconButton.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\LabelValue\LabelValue.xaml;; FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\LabelValue\LabelValue.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\NavigationControl\NavigationControl.xaml;; FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\NavigationControl\NavigationControl.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\ResizeImageControl\ResizeImageControl.xaml;; FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\ResizeImageControl\ResizeImageControl.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\ShowMessageControl\ShowMessageControl.xaml;; FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\ShowMessageControl\ShowMessageControl.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\VideoTimeBar\VideoTimeBar.xaml;; FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\VideoTimeBar\VideoTimeBar.xaml;;
FD:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\ViewLoader\ViewLoader.xaml;; FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Common\Widgets\ViewLoader\ViewLoader.xaml;;
4b6c2ad0cdeb41dd7787bcd628025e0335d0b484 45ce152587a105e4bb803555a06065e9b52ba140
15b39226a25098faea887567eb73e4aafb9c2b36 fbedbf7b63d7b68c238fbc8b66468340832dd760
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
library library
C# C#
.cs .cs
D:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Module\obj\x64\Debug\ D:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Module\obj\x64\Debug\
VIZ.Framework.Module VIZ.Framework.Module
none none
false false
...@@ -13,7 +13,7 @@ DEBUG;TRACE ...@@ -13,7 +13,7 @@ DEBUG;TRACE
11882902973 11882902973
212023628146 212023628146
25-2140555781 251955687342
Themes\Generic.xaml; Themes\Generic.xaml;
False False
......
 
FD:\wyh\FGOUT\FGOUT\VIZ.Framework\VIZ.Framework.Module\Themes\Generic.xaml;; FD:\Projects\FGOUT\VIZ.Framework\VIZ.Framework.Module\Themes\Generic.xaml;;
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