用途:检测视频文件中的场景边界,输出结构化 JSON,包含内容摘要、制作标签以及每个场景的视觉素材库。
前置条件:需要 ffmpeg 和 ffprobe,可用 ffmpeg -version && ffprobe -version 验证;若缺失,应告知用户并停止。该技能自带 videx 脚本,位于相对 SKILL.md 的 scripts/videx,需解析完整路径:VIDEX="$(dirname "$(realpath "<path-to-SKILL.md>")")/scripts/videx"。
流程分两遍:第一遍总览,提取低分辨率帧并全部读取,识别场景边界;第二遍深入,按场景提取高分辨率帧并生成详细元数据。最终写出 analysis.json 和对话摘要。
第一遍:用 ffprobe 获取时长、分辨率、帧率;按时长选择间隔(小于5分钟用2秒,5到30分钟用5秒,超过30分钟用10秒),用 $VIDEX overview <video> <interval> 320 0.5 提取总览帧;按时间顺序读取每个中心帧,遇到模糊、混合或淡入淡出时再读相邻帧;比较连续帧判断硬切、溶解、淡入淡出、划像或重大变化,记录近似时间戳与转场类型;边界不确定时优先拆分。先向用户展示场景列表并询问是否调整。
第二遍:每个场景用 $VIDEX range <video> <start>-<end> --triplet=0.2 提取1280像素帧;短场景小于2秒可加 --fps=5,长场景大于30秒默认2fps。读取帧后确定2到4句内容摘要、制作标签(camera_angle、shot_size、camera_movement、color_tone、lighting、tempo)、文字叠加、转场;标签中途变化时使用主导值并在 notes 说明。同时建立素材库,记录 id、type、label、style、appears_in 等字段。最后按 references/schema.md 写入 ./videx-out/<video-name>/analysis.json,并提供总场景数、时长、每场景一行摘要、素材库统计和制作模式总结。
边界情况:小于10秒用1秒间隔,单场景有效;超过1小时用10秒间隔并分批读取;静态内容中幻灯片切换视为场景边界;模糊边界优先拆分。
限制:依赖 ffmpeg 和 ffprobe;输出结构须遵循 references/schema.md;其他收费、平台或效果信息暂未提供。