修复 部分日志写入错误工作流问题

This commit is contained in:
小肥羊 2026-04-10 15:22:22 +08:00
parent ed8387dea3
commit 3e2627c55e
2 changed files with 7 additions and 5 deletions

View File

@ -41,7 +41,6 @@
<PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" Version="8.13.0" />
<PackageReference Include="AlibabaCloud.SDK.Vod20170321" Version="3.6.1" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="9.0.3" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="8.0.5" />
<PackageReference Include="Microsoft.Extensions.Http" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="8.0.0" />
<PackageReference Include="System.Net.Http.Json" Version="8.0.0" />

View File

@ -43,10 +43,13 @@ namespace VideoAnalysisCore.AICore.FFMPGE
: Path.Combine(AppCommon.AIModelFile, "ffmpeg.exe");
private Repository<VideoTask> videoTaskDB { get; set; }
private VideoSliceWorkflowManager _workflowManager { get; set; }
public FFMPGEHandle(VideoSliceWorkflowManager workflowManager, Repository<VideoTask> videoTaskDB)
private TidySlideWorkflowManager _tidySlideWorkflowManager { get; set; }
public FFMPGEHandle(VideoSliceWorkflowManager workflowManager, Repository<VideoTask> videoTaskDB, TidySlideWorkflowManager tidySlideWorkflowManager)
{
_workflowManager = workflowManager;
this.videoTaskDB = videoTaskDB;
_tidySlideWorkflowManager = tidySlideWorkflowManager;
}
/// <summary>
@ -237,7 +240,7 @@ namespace VideoAnalysisCore.AICore.FFMPGE
// -shortest 以最短的流为准
var mergeArgs = $"-i \"{pptPath}\" -i \"{taskPath}\" -map 0:v -map 1:a -c:v copy -c:a aac -strict experimental -shortest \"{mergedPath}\" -y";
await _workflowManager.AddTaskLog(task, "开始合并视频与音频...");
await _tidySlideWorkflowManager.AddTaskLog(task, "开始合并视频与音频...");
await ffmpeg.ExecuteAsync(mergeArgs, cToken);
if (!File.Exists(mergedPath)) throw new Exception("视频合并失败");
@ -250,13 +253,13 @@ namespace VideoAnalysisCore.AICore.FFMPGE
// -hls_segment_filename out%03d.ts 切片文件名
var sliceArgs = $"-i \"{mergedPath}\" -c copy -f hls -hls_time 10 -hls_list_size 0 -hls_segment_filename \"{Path.Combine(localPath, "out%03d.ts")}\" \"{m3u8Path}\" -y";
await _workflowManager.AddTaskLog(task, "开始视频切片...");
await _tidySlideWorkflowManager.AddTaskLog(task, "开始视频切片...");
await ffmpeg.ExecuteAsync(sliceArgs, cToken);
if (!File.Exists(m3u8Path)) throw new Exception("视频切片失败");
// 更新任务状态或路径? 目前只需要生成文件
await _workflowManager.AddTaskLog(task, "视频处理完成");
await _tidySlideWorkflowManager.AddTaskLog(task, "视频处理完成");
}
}
}