Files
media/model/dto/video/analysis_dto.go

48 lines
2.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package video
import "github.com/gogf/gf/v2/frame/g"
// ---------- 提交视频分析任务 ----------
// AnalysisReq 提交视频分析任务请求
type AnalysisReq struct {
g.Meta `path:"/video/analysis" method:"post" tags:"视频分析" summary:"提交视频分析任务" dc:"接收视频链接数组后台异步串行分析立即返回taskId"`
VideoURLs []string `json:"video_urls" v:"required#视频URL列表不能为空" dc:"视频URL列表"`
CallbackURL string `json:"callback_url" v:"required#回调地址不能为空" dc:"回调地址分析完成后POST结果到该地址"`
}
// CreateAnalysisTaskRes 创建视频分析任务响应
type CreateAnalysisTaskRes struct {
TaskID string `json:"taskId" dc:"任务ID"`
}
// ---------- 查询任务进度/结果 ----------
// GetAnalysisTaskReq 查询视频分析任务请求
type GetAnalysisTaskReq struct {
g.Meta `path:"/video/analysis/task/{taskId}" method:"get" tags:"视频分析" summary:"查询分析任务结果" dc:"根据taskId查询视频分析任务的进度和结果"`
TaskID string `json:"taskId" dc:"任务ID"`
}
// AnalysisDetailItem 单个视频分析结果项
type AnalysisDetailItem struct {
VideoURL string `json:"video_url" dc:"原始视频URL"`
VideoSavePath string `json:"video_save_path" dc:"视频本地保存路径"`
Status string `json:"status" dc:"状态: pending/success/failed"`
CaptionResult interface{} `json:"caption_result,omitempty" dc:"Caption接口返回结果"`
FailReason string `json:"fail_reason,omitempty" dc:"失败原因"`
}
// GetAnalysisTaskRes 查询视频分析任务响应
type GetAnalysisTaskRes struct {
TaskID string `json:"taskId" dc:"任务ID"`
Status string `json:"status" dc:"状态: pending/processing/success/failed"`
Total int `json:"total" dc:"视频总数"`
Processed int `json:"processed" dc:"已处理数"`
SuccessCount int `json:"successCount" dc:"成功数"`
FailedCount int `json:"failedCount" dc:"失败数"`
List []AnalysisDetailItem `json:"list" dc:"视频详情列表"`
ErrorMessage string `json:"errorMessage,omitempty" dc:"错误信息"`
CreatedAt int64 `json:"createdAt" dc:"创建时间戳"`
}