针对界面显示的优化

This commit is contained in:
2025-12-27 14:16:50 +08:00
parent 127b07343e
commit 3718465463
14 changed files with 495 additions and 128 deletions

View File

@@ -0,0 +1,45 @@
using System.ComponentModel;
namespace SHH.CameraSdk;
/// <summary>
/// 订阅业务类型枚举
/// 描述视频流的最终去向和业务用途,用于帧分发策略的路由决策
/// </summary>
public enum SubscriptionType
{
/// <summary>
/// 本地窗口渲染
/// <para>直接在服务器端显示器绘制(如 OpenCV Window、WinForm 控件)</para>
/// </summary>
[Description("本地窗口显示")]
LocalWindow = 0,
/// <summary>
/// 本地录像存储
/// <para>写入磁盘文件(如 MP4/AVI 格式,支持定时切割、循环覆盖)</para>
/// </summary>
[Description("本地录像存储")]
LocalRecord = 1,
/// <summary>
/// 句柄绑定显示
/// <para>渲染到指定 HWND 窗口句柄(如 SDK 硬件解码渲染到客户端控件)</para>
/// </summary>
[Description("句柄绑定显示")]
HandleDisplay = 2,
/// <summary>
/// 自定义网络传输
/// <para>通过私有协议转发给第三方系统(如工控机、告警服务器)</para>
/// </summary>
[Description("自定义网络传输")]
NetworkTrans = 3,
/// <summary>
/// 网页端推流
/// <para>转码为 Web 标准协议(如 WebRTC、HLS、RTMP供浏览器播放</para>
/// </summary>
[Description("网页端推流")]
WebPush = 4
}

View File

@@ -12,5 +12,8 @@ public enum TransportProtocol
Udp = 1,
/// <summary> 组播 (节省带宽) </summary>
Multicast = 2
Multicast = 2,
/// <summary> 内存交互 </summary>
Memory = 99,
}

View File

@@ -0,0 +1,29 @@
namespace SHH.CameraSdk
{
public class ProcessingOptions
{
// --- 缩放控制 ---
/// <summary> 是否允许缩小 (默认 True: 节约性能与带宽) </summary>
public bool EnableShrink { get; set; } = true;
/// <summary> 是否允许放大 (默认 False: 防止性能浪费与失真) </summary>
public bool EnableExpand { get; set; } = false;
/// <summary> 目标宽度 </summary>
public int TargetWidth { get; set; } = 640;
/// <summary> 目标高度 </summary>
public int TargetHeight { get; set; } = 360;
// --- 增亮控制 ---
/// <summary> 是否启用图像增强 </summary>
public bool EnableEnhance { get; set; } = false; // 默认关闭,按需开启
/// <summary> 增亮强度 (0-100, 默认30) </summary>
public double BrightnessLevel { get; set; } = 30.0;
public static ProcessingOptions Default => new ProcessingOptions();
}
}