CREATE TABLE video_frame ( frame_mean real, -- video average data frame_std_dev real, -- video std dev data frame_cx real, frame_cy real, -- video centroid frame_moment real, -- video frame_cx+frame_cy frame_data blob -- video data ) ; CREATE INDEX frame_weight ON video_frame (frame_mean) ; CREATE INDEX frame_center ON video_frame (frame_moment) ; CREATE TABLE timeline ( clip_id int unsigned, -- label sequence_no int unsigned, -- frame number in sequence frame_id int unsigned, -- video_frame id group int unsigned, -- prefix/suffix flags time_offset real -- seconds ) ; CREATE INDEX timelines ON timeline (frame_id) ; CREATE UNIQUE INDEX sequences ON timeline (clip_id, sequence_no) ; CREATE TABLE clip_set ( title text NOT NULL default '', -- title asset_path text NOT NULL default '', -- original asset path position real, -- orignal asset position framerate real, -- framerate average_weight real, -- average_weight frames int unsigned, -- total frames prefix_size int unsigned, -- prefix frame count suffix_size int unsigned, -- suffix frame count weights blob, -- frame weights[frames] system_time bigint, -- stream system time creation_time bigint -- record creation time ) ; CREATE INDEX clip_title ON clip_set (title) ; CREATE INDEX clip_system_time ON clip_set (system_time) ; CREATE INDEX clip_creation_time ON clip_set (creation_time) ; CREATE INDEX clip_path_pos ON clip_set (asset_path, position) ; CREATE TABLE clip_views ( access_clip_id int unsigned, -- label access_time bigint, -- last view time access_count int unsigned -- total views ) ; CREATE UNIQUE INDEX clip_access ON clip_views (access_clip_id) ; CREATE INDEX last_view ON clip_views (access_time) ; CREATE INDEX total_views ON clip_views (access_count, access_clip_id) ;