using SqlSugar; using System.ComponentModel.DataAnnotations; using System.Net; using VideoAnalysisCore.AICore.SherpaOnnx; using VideoAnalysisCore.Enum; using Whisper.net; namespace VideoAnalysisCore.Model { /// /// 视频任务模型 /// [SugarTable("videotask")] public class VideoTask { /// /// 任务id /// 视频音频文件地址都使用taskID能获取 /// [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] public long Id { get; set; } /// /// 媒体路径 /// public string MediaUrl { get; set; } = string.Empty; /// /// 下载后本地媒体目录 /// public string LocalMediaPath { get; set; } = string.Empty; /// /// 上一次执行的枚举 /// public RedisChannelEnum LastEnum { get; set; } /// /// ApiKey /// public string ApiToken { get; set; } = string.Empty; /// /// 请求来自哪个ip地址 /// public string ComeFrom { get; set; } = string.Empty; /// /// 自定义值 任务完成后附带通知 /// [SugarColumn(Length = 500)] public string Tag { get; set; } /// ///回调Api地址 /// [SugarColumn(Length = 500)] public string CallBackUrl { get; set; } /// /// 字幕缓存 /// [SugarColumn(ColumnDataType = "longtext", IsNullable = true)] public SegmentData[]? Captions { get; set; } /// /// 说话人日志解析缓存 /// [SugarColumn(ColumnDataType = "longtext", IsNullable = true)] public OfflineSpeakerRes[]? Speaker { get; set; } /// /// Chat模型分析缓存 /// [SugarColumn(ColumnDataType = "longtext", IsNullable = true)] public object[]? ChatAnalysis { get; set; } /// /// 消耗token /// public int TotalTokens { get; set; } /// /// 创建时间 /// public DateTime CreateTime { get; set; } = DateTime.Now; /// /// 开始时间轴 /// [SugarColumn(ColumnDataType = "varchar", Length =255)] public Dictionary StartTime { get; set; } } }