用途:从视频片段生成单张网格联系表,均匀抽取若干帧,每帧烧录 hh:mm:ss 时间戳,便于快速浏览和定位画面。
主要能力:整段或指定范围生成;帧数自动决定——超过 10 秒的片段用 16 帧 4x4 网格,10 秒及以内用 4 帧 2x2 网格以避免重复;竖屏片段依据容器旋转元数据自动旋转,使时间戳方向正确;可变帧率来源(如屏幕录制、部分运动相机)会被检测并走较慢的逐帧抓取路径。
前提:需要带 drawtext 的 ffmpeg。ButterCut 先从仓库 dependencies/ 目录解析 ffmpeg,再从 PATH 查找,两处都没有时给出明确错误。若报缺少 ffmpeg 或 No such filter: 'drawtext'(部分 PATH 构建,尤其标准 Homebrew 配方不含 drawtext),先运行 setup 技能安装合适的 ffmpeg 后重试。
使用方式:片段属于某个库时始终传 --library,输出会落在标准位置。
整段
ruby lib/buttercut/contact_sheet.rb <video-path> --library libraries/<lib>
从 <start> 到结尾
ruby lib/buttercut/contact_sheet.rb <video-path> <start> --library libraries/<lib>
明确范围
ruby lib/buttercut/contact_sheet.rb <video-path> <start> <end> --library libraries/<lib> <start> 与 <end> 接受秒数(如 12.5)或 HH:MM:SS / MM:SS。选项:--library DIR、--output PATH(精确路径,覆盖 --library)。
输出位置:带 --library DIR 时保存到 <library>/contact_sheets/<clipname>_<descriptor>.jpg;descriptor 为 full(覆盖整段)或 HH-MM-SS_to_HH-MM-SS(用短横替代冒号);目录不存在会自动创建。不带 --library 且无 --output 时保存在源视频旁,文件名带相同 _<descriptor> 后缀,适合临时测试,库内工作应始终传 --library。
运行后:将输出路径作为可点击链接分享,方便用户直接打开。
限制:依赖 ffmpeg 及 drawtext 滤镜;帧数与网格布局由时长自动决定,资料未提供自定义帧数或网格的选项;资料未提供收费、平台或价格信息。