新增 Mjpegplayer 用来播放 Web 流

This commit is contained in:
2026-01-21 19:03:59 +08:00
parent f79cb6e74d
commit c438edfa0d
71 changed files with 4538 additions and 452 deletions

View File

@@ -0,0 +1,37 @@
using SHH.Contracts;
using System.Diagnostics;
namespace SHH.MjpegPlayer
{
/// <summary>
/// AI 视频流监控控制器
/// 职责:接收 gRpc 转换后的 Payload -> 业务转换 -> 分发 UI/AI
/// </summary>
public class ImageMonitorController
{
public static ImageMonitorController Instance { get; } = new ImageMonitorController();
private ImageMonitorController() { }
/// <summary>
/// 统一接收入口:由 GatewayProviderImpl.UploadVideoStream 调用
/// </summary>
public void ReceivePayload(VideoPayload payload)
{
if (payload == null) return;
// 1. 过滤 2 秒外的过期数据
if ((DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() - payload.CaptureTimestamp) > 2000)
return;
try
{
ImagePayloadConverter.ToXWcfMsg(payload);
}
catch (Exception ex)
{
Debug.WriteLine($"[Controller Error] {ex.Message}");
}
}
}
}