Files
rootandClaude Opus 4.7 79ac89b458 Initial commit
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-11-07 10:47:18 +08:00

78 lines
6.0 KiB
Go

package videosync
import (
"time"
"videoweb/pub/models/videoinformationmod"
"go.mongodb.org/mongo-driver/bson/primitive"
)
type MediaTaskSyncReq struct {
AppId int64 `bson:"appId" json:"appId"` // APPID
LastUpdateTime time.Time `bson:"lastUpdateTime" json:"lastUpdateTime"` // 最后更新时间
PageSize int64 `bson:"pageSize" json:"pageSize"`
}
type MediaTaskSyncResp struct {
Code int `json:"code,omitempty"` //
Data []MediaTaskInfo `json:"data,omitempty"` //
Msg string `json:"msg,omitempty"` //
}
// @table:media
type MediaTaskInfo struct {
Id primitive.ObjectID `bson:"_id,omitempty" json:"id"`
MediaSourceId primitive.ObjectID `bson:"mediaSourceId,omitempty" json:"mediaSourceId"` // 原始Id
VideoTime int32 `bson:"videoTime,omitempty" json:"videoTime"` // 影片长度
Size int64 `bson:"size,omitempty" json:"size"` // 文件size,单位byte
AppId int64 `bson:"appId,omitempty" json:"appId"` // 应用列表
CoverImg string `bson:"coverImg,omitempty" json:"coverImg"` // 封面
CoverImgNew string `bson:"coverImgNew,omitempty" json:"coverImgNew"` // 动态封面
UnencryptedImage string `bson:"unencryptedImage,omitempty" json:"unencryptedImage"` // 不加密封面
Title string `bson:"title,omitempty" json:"title"` // 标题
Publish string `bson:"publish,omitempty" json:"publish"` // 视频发布者
Remark string `bson:"remark,omitempty" json:"remark"` // 备注
Keyworld []string `bson:"keyworld,omitempty" json:"keyworld"` // 关键字
Nodes []videoinformationmod.Node `bson:"nodes" json:"nodes"` // 节点
FirstTag string `bson:"firstTag,omitempty" json:"firstTag"` // 一级标签
SecondTags []string `bson:"secondTags,omitempty" json:"secondTags"` // 二级标签标签
Status string `bson:"status,omitempty" json:"status"` // 当前状态
Desc string `bson:"desc,omitempty" json:"desc"` // 详细描述
TaskStartTime time.Time `bson:"taskStartTime,omitempty" json:"taskStartTime"` // 任务开始时间
SourceNameFs string `bson:"sourceNameFs,omitempty" json:"sourceNameFs"` // 远程源文件
IsDelLocalDir bool `bson:"isDelLocalDir,omitempty" json:"isDelLocalDir"` // 是否删除本机文件
WatermarkImage string `json:"watermarkImage" bson:"watermarkImage"` // 图片水印文件
WatermarkMedia string `json:"watermarkMedia" bson:"watermarkMedia"` // 视频水印文件
DownloadRetry int `bson:"downloadRetry,omitempty" json:"downloadRetry"` // 下载重试次数
WatermarkRetry int `bson:"watermarkRetry" json:"watermarkRetry"` // 水印重试次数
CompressRetry int `bson:"compressRetry" json:"compressRetry"` // 压缩重试次数
SegmentRetry int `bson:"segmentRetry" json:"segmentRetry"` // 切片重试次数
LinodeRetry int `bson:"linodeRetry" json:"linodeRetry"` // 上传重试次数
// 切片相关信息
Filename string `bson:"filename,omitempty" json:"filename"` // 文件名称
FieldNameFs string `bson:"fieldNameFs,omitempty" json:"fieldNameFs"` // 文件名称
TempFieldNameFs string `bson:"tempFieldNameFs,omitempty" json:"tempFieldNameFs"` // 临时存储
Ext string `bson:"ext,omitempty" json:"ext"` // 视频后缀
UnencryptedPreMp4 string `bson:"unencryptedPreMp4,omitempty" json:"unencryptedPreMp4"` // 不加密的预览MP4
TaskID string `bson:"taskId,omitempty" json:"taskId"` // 项目组传来的唯一标示
Width int64 `bson:"width,omitempty" json:"width"` // 分辨率宽
Height int64 `bson:"height,omitempty" json:"height"` // 分辨率高
Ratio float64 `bson:"ratio,omitempty" json:"ratio"` // 宽高比
FrameRate string `bson:"frameRate,omitempty" json:"frameRate"` // 视频贞数
SyBitRate string `bson:"syBitRate,omitempty" json:"syBitRate"` // 音频bit率
VidBitRate string `bson:"vidBitRate,omitempty" json:"vidBitRate"` // 视频bit率
CreatedAt time.Time `bson:"createdAt,omitempty" json:"createdAt"` // 创建时间
UpdatedAt time.Time `bson:"updatedAt,omitempty" json:"updatedAt"` // 更新时间
ProxyUpload *int32 `bson:"proxyUpload,omitempty" json:"proxyUpload"` // 代理上传
Retry int `bson:"retry" json:"retry"` // 重试次数 默认为零 最大重试3次
NotifySignal bool `bson:"notifySignal" json:"notifySignal"` //中止通知的信号 false 可以发送通知,true 中止发送通知
InfoTsName string `bson:"infoTsName" json:"infoTsName"` // 从该ts中获取视频分辨率等信息
SyncFlag int64 `bson:"syncFlag" json:"syncFlag"` // 同步状态
SrcKey string `bson:"srcKey,omitempty" json:"srcKey"` // 原始Key
UploadUserName string `bson:"uploadUserName" json:"uploadUserName,omitempty"` // 上传用户名
OptionAccount string `bson:"optionAccount,omitempty" json:"optionAccount"` // 最后操作人
}