- 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 * 无人观看时停止推流节省带宽
61 lines
1.3 KiB
C#
61 lines
1.3 KiB
C#
namespace DeviceAgent.Models;
|
|
|
|
/// <summary>
|
|
/// 流质量档位
|
|
/// </summary>
|
|
public enum StreamQualityLevel
|
|
{
|
|
/// <summary>
|
|
/// 低质量 - 用于监控墙总览
|
|
/// </summary>
|
|
Low,
|
|
|
|
/// <summary>
|
|
/// 高质量 - 用于单机放大查看
|
|
/// </summary>
|
|
High
|
|
}
|
|
|
|
/// <summary>
|
|
/// 流质量配置
|
|
/// </summary>
|
|
public class StreamQualityProfile
|
|
{
|
|
public StreamQualityLevel Level { get; set; }
|
|
public int Width { get; set; }
|
|
public int Height { get; set; }
|
|
public int Fps { get; set; }
|
|
public int Bitrate { get; set; }
|
|
|
|
/// <summary>
|
|
/// 低质量档位 - 监控墙模式
|
|
/// 320x180, 3fps, 100kbps
|
|
/// </summary>
|
|
public static StreamQualityProfile Low => new()
|
|
{
|
|
Level = StreamQualityLevel.Low,
|
|
Width = 320,
|
|
Height = 180,
|
|
Fps = 3,
|
|
Bitrate = 100_000 // 100 kbps
|
|
};
|
|
|
|
/// <summary>
|
|
/// 高质量档位 - 单机放大模式
|
|
/// 1280x720, 15fps, 1Mbps
|
|
/// </summary>
|
|
public static StreamQualityProfile High => new()
|
|
{
|
|
Level = StreamQualityLevel.High,
|
|
Width = 1280,
|
|
Height = 720,
|
|
Fps = 15,
|
|
Bitrate = 1_000_000 // 1 Mbps
|
|
};
|
|
|
|
public override string ToString()
|
|
{
|
|
return $"{Level}: {Width}x{Height} @ {Fps}fps, {Bitrate / 1000}kbps";
|
|
}
|
|
}
|