From fcf1e28fbd4dc1cca2f63bb569a572c05b92ba6b Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Sat, 8 Feb 2025 10:12:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DdiffMs=EF=BC=8C=E5=92=8Coffse?= =?UTF-8?q?t=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dto/file.go | 5 +---- util/ffmpeg.go | 6 ------ util/file_filter.go | 3 ++- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/dto/file.go b/dto/file.go index ee12bb4..217feb8 100644 --- a/dto/file.go +++ b/dto/file.go @@ -7,10 +7,7 @@ type File struct { Url string `json:"url"` Path string `json:"path"` Name string `json:"name"` + DiffMs int64 `json:"diffMs"` StartTime time.Time `json:"startTime"` EndTime time.Time `json:"endTime"` } - -func (f *File) GetDiffMs() int64 { - return f.EndTime.Sub(f.StartTime).Milliseconds() -} diff --git a/util/ffmpeg.go b/util/ffmpeg.go index 15d8538..c66286a 100644 --- a/util/ffmpeg.go +++ b/util/ffmpeg.go @@ -1,7 +1,6 @@ package util import ( - "ZhenTuLocalPassiveAdapter/config" "ZhenTuLocalPassiveAdapter/dto" "bytes" "fmt" @@ -142,11 +141,6 @@ func CheckFileCoverageAndConstructTask(fileList []dto.File, beginDt, endDt time. OutputFile: os.TempDir() + "/" + task.TaskID + ".mp4", } - if ffmpegTask.Offset > (config.Config.Record.Duration) { - log.Printf("分析FFMPEG任务失败:ID:【%s】,文件片段:【%s】,无法完整覆盖时间点【%s】", task.TaskID, fileList[len(fileList)-1].Name, endDt) - return nil, fmt.Errorf("无法完整覆盖时间点") - } - return ffmpegTask, nil } diff --git a/util/file_filter.go b/util/file_filter.go index 91b2aa9..2b89ae8 100644 --- a/util/file_filter.go +++ b/util/file_filter.go @@ -13,6 +13,7 @@ func FilterAndSortFiles(fileList []dto.File, beginDt, endDt time.Time) []dto.Fil fileStartTime := file.StartTime nextFileStartTime := file.EndTime + file.DiffMs = fileStartTime.Sub(beginDt).Milliseconds() // 如果当前文件还没有开始 if beginDt.After(fileStartTime) { // 没有下一个文件的情况下,就是最后一个文件 @@ -34,7 +35,7 @@ func FilterAndSortFiles(fileList []dto.File, beginDt, endDt time.Time) []dto.Fil // 按照 GetDiffMs 的值降序排序 sort.Slice(filteredFiles, func(i, j int) bool { - return filteredFiles[i].GetDiffMs() > filteredFiles[j].GetDiffMs() + return filteredFiles[i].DiffMs > filteredFiles[j].DiffMs }) return filteredFiles