videocut

package
v1.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 10, 2025 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenerateRandomString added in v1.1.1

func GenerateRandomString(length int) string

GenerateRandomString 生成随机字符串

func MakeVideoCutSqlContainer added in v1.1.1

func MakeVideoCutSqlContainer(dbHost, dbPort, dbUser, dbPass, dbName string) (
	sqlContainer *videoCutSqlContainer, err error)

MakeVideoCutSqlContainer 构造数据库容器

func StartServer

func StartServer()

StartServer ...

func StartWebServer added in v1.1.1

func StartWebServer(container *videoCutSqlContainer, sch *framework.TaskScheduler)

Types

type CreateTaskReq added in v1.1.1

type CreateTaskReq struct {
	InputVideo   string
	CutStartTime float32
	CutEndTime   float32
}

type CreateTaskRsp added in v1.1.1

type CreateTaskRsp struct {
	TaskId       string
	ErrorCode    int
	ErrorMessage string
}

type GetOutputVideoRequest

type GetOutputVideoRequest struct {
	TaskId string
}

GetOutputVideoRequest ...

type GetOutputVideoResponse

type GetOutputVideoResponse struct {
	TaskId      string
	OutputVideo string // 输出视频
	Reason      string // 如果找不到输出,返回找不到输出的原因
}

GetOutputVideoResponse ...

type StatusRequest

type StatusRequest struct {
	TaskId string
}

StatusRequest ...

type StatusResponse

type StatusResponse struct {
	TaskId string
	Status StatusString
	Reason string
}

StatusResponse ...

type StatusString

type StatusString string
const (
	TASK_STATUS_RUNNING StatusString = "分析中"
	TASK_STATUS_FAILED  StatusString = "分析失败"
	TASK_STATUS_SUCCESS StatusString = "分析成功"
)

type StopRequest

type StopRequest struct {
	TaskId string
}

StopRequest ...

type StopResponse

type StopResponse struct {
	Reason string
}

StopResponse ...

type TaskInfo added in v1.1.1

type TaskInfo struct {
	TaskId       string
	InputVideo   string
	OutputVideo  string
	CutStartTime float32
	CutEndTime   float32
	Status       string
	FailedReason string
	StartTime    string
	EndTime      string
}

type TaskListReq added in v1.1.1

type TaskListReq struct {
	PageSize   int
	PageNumber int
}

type TaskListRsp added in v1.1.1

type TaskListRsp struct {
	Tasks        []TaskInfo
	TotalCount   int
	ErrorCode    int
	ErrorMessage string
}

type TaskOpReq added in v1.1.1

type TaskOpReq struct {
	TaskId string
}

type TaskOpRsp added in v1.1.1

type TaskOpRsp struct {
	TaskId       string
	ErrorCode    int
	ErrorMessage string
}

type VideoCutActuator

type VideoCutActuator struct {
	EndPoint string
}

VideoCutActuator 视频裁剪执行器

func MakeVideoCutActuator

func MakeVideoCutActuator() *VideoCutActuator

MakeVideoCutActuator 构造执行器

func (*VideoCutActuator) GetAsyncTaskStatus

func (e *VideoCutActuator) GetAsyncTaskStatus(ctx context.Context, tasks []framework.Task) (
	status []framework.AsyncTaskStatus, err error)

GetAsyncTaskStatus 获取任务状态

func (*VideoCutActuator) GetOutput

func (e *VideoCutActuator) GetOutput(ctx context.Context, ftask *framework.Task) (
	data interface{}, err error)

GetOutput 提供业务查询任务结果的接口

func (*VideoCutActuator) Init

func (v *VideoCutActuator) Init(ctx context.Context, ftask *framework.Task) (
	newTask *framework.Task, err error)

Init 任务在被调度前的初始化工作

func (*VideoCutActuator) Start

func (e *VideoCutActuator) Start(ctx context.Context, ftask *framework.Task) (
	newTask *framework.Task, ignoreErr bool, err error)

Start 执行任务

func (*VideoCutActuator) Stop

func (e *VideoCutActuator) Stop(ctx context.Context, ftask *framework.Task) error

Stop 停止任务

type VideoCutReq

type VideoCutReq struct {
	StartTime  float32 // 视频开始时间
	EndTIme    float32 // 视频结束时间
	InputVideo string  // 输入视频地址
}

VideoCutReq 创建视频裁剪任务请求

type VideoCutRsp

type VideoCutRsp struct {
	TaskId string // 任务 ID
}

VideoCutRsp 创建视频裁剪任务返回

type VideoCutTask

type VideoCutTask struct {
	TaskId       string               `gorm:"primary_key;type:varchar(1024);index:task_id_idx"` // 任务系统的唯一任务 Id
	InputVideo   string               `gorm:"type:varchar(4096);default:''"`                    // 输入视频
	OutputVideo  string               `gorm:"type:varchar(4096);default:''"`                    // 输出视频
	CutStartTime float32              `gorm:"default:0"`                                        // 裁剪开始的秒数
	CutEndTime   float32              `gorm:"default:0"`                                        // 裁剪结束的秒数
	Status       framework.TaskStatus `gorm:"type:tinyint"`                                     // 任务状态
	WorkTaskId   string               `gorm:"type:varchar(1024);default:''"`                    // 微服务引擎的任务 id
	FailedReason string               `gorm:"type:varchar(4096);default:''"`
	CreatedAt    time.Time            `gorm:"column:create_time"`
	UpdatedAt    time.Time            `gorm:"column:update_time"`
	DeletedAt    gorm.DeletedAt       `gorm:"default:NULL;column:delete_time"`
	StartAt      *time.Time           `gorm:"default:NULL;column:start_time"` // 任务开始时间
	EndAt        *time.Time           `gorm:"default:NULL;column:end_time"`   // 任务结束时间
	AttemptsTime int                  `gorm:"default:0"`                      // 重试次数
}

VideoCutTask 视频裁剪任务结构

func (VideoCutTask) TableName added in v1.1.1

func (VideoCutTask) TableName() string

TableName 更改数据库表名

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL