39 lines
2.4 KiB
SQL
39 lines
2.4 KiB
SQL
-- video_caption_task 字幕叠加任务表
|
|
-- 使用 HyperFrames (HTML+CSS+Chrome Headless) 渲染带字幕的营销视频
|
|
CREATE TABLE IF NOT EXISTS video_caption_task (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
tenant_id INT8 NOT NULL DEFAULT 0,
|
|
task_id VARCHAR(64) NOT NULL UNIQUE, -- 任务唯一标识,前缀 cap_
|
|
video_urls TEXT NOT NULL, -- 视频URL列表,JSON数组
|
|
audio_url VARCHAR(1024) DEFAULT '', -- 背景音乐URL(可选)
|
|
elements TEXT NOT NULL, -- 字幕元素列表,JSON数组
|
|
width INT NOT NULL DEFAULT 1080, -- 视频宽度
|
|
height INT NOT NULL DEFAULT 1920, -- 视频高度
|
|
status VARCHAR(20) NOT NULL DEFAULT 'pending', -- pending/running/success/failed
|
|
file_url VARCHAR(1024) DEFAULT '', -- 输出文件URL
|
|
file_size INT8 DEFAULT 0, -- 输出文件大小(字节)
|
|
file_name VARCHAR(255) DEFAULT '', -- 输出文件名
|
|
duration_str VARCHAR(20) DEFAULT '', -- 视频时长
|
|
error_message TEXT, -- 错误信息
|
|
callback_url VARCHAR(1024) DEFAULT '', -- 回调地址
|
|
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
|
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
|
deleted_at TIMESTAMP WITH TIME ZONE DEFAULT NULL
|
|
);
|
|
|
|
COMMENT ON TABLE video_caption_task IS '字幕叠加任务';
|
|
COMMENT ON COLUMN video_caption_task.task_id IS '任务唯一标识';
|
|
COMMENT ON COLUMN video_caption_task.video_urls IS '背景视频URL列表';
|
|
COMMENT ON COLUMN video_caption_task.audio_url IS '背景音乐URL';
|
|
COMMENT ON COLUMN video_caption_task.elements IS '字幕/图片元素列表JSON';
|
|
COMMENT ON COLUMN video_caption_task.status IS '任务状态:pending/running/success/failed';
|
|
COMMENT ON COLUMN video_caption_task.file_url IS '输出文件URL';
|
|
COMMENT ON COLUMN video_caption_task.file_size IS '输出文件大小';
|
|
COMMENT ON COLUMN video_caption_task.file_name IS '输出文件名';
|
|
COMMENT ON COLUMN video_caption_task.duration_str IS '视频时长';
|
|
COMMENT ON COLUMN video_caption_task.error_message IS '错误信息';
|
|
COMMENT ON COLUMN video_caption_task.callback_url IS '任务完成后回调地址';
|
|
|
|
CREATE INDEX idx_caption_task_id ON video_caption_task(task_id);
|
|
CREATE INDEX idx_caption_status ON video_caption_task(status);
|