You've already forked VptPassiveAdapter
common p
This commit is contained in:
60
main.go
60
main.go
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user