This commit is contained in:
2026-03-13 00:04:04 +08:00
parent 030d8e9e6d
commit 5972ba1948
4 changed files with 50 additions and 32 deletions

60
main.go
View File

@@ -102,32 +102,48 @@ func uploadPreview(taskID string, copyFile string) {
defer span.End()
defer os.Remove(copyFile)
previewFile := strings.TrimSuffix(copyFile, "_copy.mp4") + "_preview.mp4"
ok, _ := util.CompressTo720p(ctx, copyFile, previewFile)
if !ok {
span.SetStatus(codes.Error, "生成预览文件失败")
logger.Error("生成预览文件失败", zap.String("taskID", taskID))
return
baseName := strings.TrimSuffix(copyFile, "_copy.mp4")
type previewSpec struct {
resolution string
height int
}
specs := []previewSpec{
{"720p", 720},
{"1080p", 1080},
}
err := api.UploadPreviewFile(ctx, taskID, previewFile)
if err != nil {
span.SetStatus(codes.Error, "上传预览文件失败")
logger.Error("上传预览文件失败",
for _, spec := range specs {
previewFile := fmt.Sprintf("%s_preview_%s.mp4", baseName, spec.resolution)
ok, _ := util.CompressVideo(ctx, copyFile, previewFile, spec.height)
if !ok {
logger.Error("生成预览文件失败",
zap.String("taskID", taskID),
zap.String("resolution", spec.resolution))
continue
}
err := api.UploadPreviewFile(ctx, taskID, previewFile, spec.resolution)
if err != nil {
logger.Error("上传预览文件失败",
zap.String("taskID", taskID),
zap.String("resolution", spec.resolution),
zap.Error(err))
os.Remove(previewFile)
continue
}
if !api.ReportPreviewSuccess(ctx, taskID, spec.resolution) {
logger.Error("上报预览成功失败",
zap.String("taskID", taskID),
zap.String("resolution", spec.resolution))
continue
}
logger.Info("预览上传成功",
zap.String("taskID", taskID),
zap.Error(err))
os.Remove(previewFile)
return
zap.String("resolution", spec.resolution))
}
result := api.ReportPreviewSuccess(ctx, taskID)
if !result {
span.SetStatus(codes.Error, "上报预览成功失败")
logger.Error("上报预览成功失败",
zap.String("taskID", taskID))
return
}
span.SetStatus(codes.Ok, "预览上传成功")
logger.Info("预览上传成功", zap.String("taskID", taskID))
span.SetStatus(codes.Ok, "预览处理完成")
}
func copyFileOnDisk(src, dst string) error {