lvfengfree ed9d1d7325 feat: 屏幕监控大规模优化 - 支持60台设备同时监控
- Agent端优化:
  * 添加质量档位定义 (Low: 320x180@3fps, High: 1280x720@15fps)
  * H.264编码器支持动态质量切换
  * 屏幕流服务支持按需推流和质量控制
  * 添加SignalR信令客户端连接服务器

- 服务器端优化:
  * 添加StreamSignalingHub处理质量控制信令
  * 支持设备注册/注销和监控状态管理
  * 支持教师端监控控制和设备选中

- 前端组件:
  * 创建H264VideoPlayer组件支持H.264和JPEG模式
  * 更新学生屏幕监控页面使用新组件

- 性能提升:
  * 带宽从120Mbps降至6-7Mbps (降低95%)
  * 监控墙模式: 60台100kbps=6Mbps
  * 单机放大模式: 1台1Mbps+59台100kbps=6.9Mbps
  * 无人观看时停止推流节省带宽
2026-01-23 15:37:37 +08:00

31 lines
942 B
C#

using DeviceAgent;
using DeviceAgent.Services;
using Microsoft.Extensions.Hosting.WindowsServices;
var builder = Host.CreateApplicationBuilder(args);
// 只在作为 Windows 服务运行时配置
if (WindowsServiceHelpers.IsWindowsService())
{
builder.Services.AddWindowsService(options =>
{
options.ServiceName = "DeviceReportAgent";
});
}
// 注册服务
builder.Services.AddSingleton<DeviceInfoService>();
builder.Services.AddSingleton<ScreenCaptureService>();
builder.Services.AddSingleton<H264ScreenCaptureService>();
builder.Services.AddSingleton<ScreenStreamService>();
builder.Services.AddSingleton<RemoteDesktopService>();
builder.Services.AddSingleton<SignalingClientService>();
builder.Services.AddHttpClient<ReportService>();
builder.Services.AddHostedService<Worker>();
// 配置
builder.Services.Configure<AgentConfig>(builder.Configuration.GetSection("Agent"));
var host = builder.Build();
host.Run();