新增 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

@@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.OpenApi.Models;
using SHH.CameraSdk;
@@ -93,12 +94,24 @@ public static class ServiceCollectionExtensions
services.AddSingleton<IEnumerable<StreamTarget>>(netTargets);
services.AddHostedService<ImageMonitorController>();
// 动态注册 Sender Worker
//// 动态注册 Sender Worker
//foreach (var target in netTargets)
//{
// // 注意:这里需要使用 Microsoft.Extensions.Logging.ILogger 来适配构造函数
// services.AddHostedService(sp =>
// new GrpcSenderWorker(target));
//}
foreach (var target in netTargets)
{
// 注意:这里需要使用 Microsoft.Extensions.Logging.ILogger 来适配构造函数
services.AddHostedService(sp =>
new GrpcSenderWorker(target));
// Modified: 显式声明局部变量,防止 Lambda 捕获循环变量导致的引用重复
var currentTarget = target;
logger.Information("[DI] 准备启动 Worker 实例: {Name} -> {Url}",
currentTarget.Config.Name, currentTarget.Config.Endpoint);
// 使用工厂模式注册,确保传入的是当前的 currentTarget
services.AddSingleton<IHostedService>(sp => new GrpcSenderWorker(currentTarget));
}
}