视频剪辑和处理
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
package video
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
dto "media/model/dto/video"
|
||||
service "media/service/video"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
)
|
||||
|
||||
type sceneSplit struct{}
|
||||
|
||||
var SceneSplit = new(sceneSplit)
|
||||
|
||||
// CreateSceneSplit 创建场景分割任务 POST /video/scene-split
|
||||
func (c *sceneSplit) CreateSceneSplit(ctx context.Context, req *dto.SceneSplitReq) (res *dto.CreateSceneSplitTaskRes, err error) {
|
||||
ctx = withUser(ctx)
|
||||
g.Log().Infof(ctx, "[场景分割] 收到请求 入参: videoUrl=%s, threshold=%.1f, callback=%s",
|
||||
req.VideoURL, req.Threshold, req.CallbackURL)
|
||||
|
||||
if req.VideoURL == "" {
|
||||
return nil, fmt.Errorf("视频URL不能为空")
|
||||
}
|
||||
|
||||
taskID, taskErr := service.SceneSplit.CreateAsyncTask(ctx, req.VideoURL, req.Threshold, req.CallbackURL)
|
||||
if taskErr != nil {
|
||||
return nil, taskErr
|
||||
}
|
||||
|
||||
return &dto.CreateSceneSplitTaskRes{TaskID: taskID}, nil
|
||||
}
|
||||
|
||||
// GetSceneSplitTask 查询场景分割任务结果 GET /video/scene-split/task/{taskId}
|
||||
func (c *sceneSplit) GetSceneSplitTask(ctx context.Context, req *dto.GetSceneSplitTaskReq) (res *dto.GetSceneSplitTaskRes, err error) {
|
||||
ctx = withUser(ctx)
|
||||
return service.SceneSplit.GetTaskResult(ctx, req.TaskID)
|
||||
}
|
||||
Reference in New Issue
Block a user