讲师中心 微信公众号
AI工具推荐 视频效率加速

Nm Scry Media Composition

Polar Sponsor
爱发电 赞助
.NET 9.0

使用 ffmpeg 将 GIF 与视频合并为竖向或网格布局的组合教程

夜市技能——从claude-night-market/scry移植. 对于代理、钩子和命令的全部体验,请安装 Claude 代码插件.

功能概述

夜市技能——从claude-night-market/scry移植. 对于代理、钩子和命令的全部体验,请安装 Claude 代码插件.是一项面向实际任务的技能,主要用于Colution.;Table of Control.;

核心要点

  • Overview.;
  • Required TodoWrite。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

使用与执行

使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Night Market Skill — 由 claude-night-market/scry 移植而来。如需完整体验(含智能体、钩子与命令支持),请安装 Claude Code 插件。

目录

  • 概述
  • 必需的 TodoWrite 任务项
  • 清单文件格式
  • 清单文件 Schema
  • 分步执行流程
  • 1. 解析清单文件
  • 2. 验证组件输出文件存在性
  • 3. 执行 FFmpeg 合成操作
  • 4. 验证合成输出结果
  • FFmpeg 合成命令
  • 垂直堆叠
  • 水平堆叠
  • 顺序拼接
  • 网格布局(2×2)
  • 带背景色的合成
  • 布局选项
  • 布局选项详情
  • 合成示例
  • 终端 + 浏览器教程
  • 并排对比
  • 画中画(PiP)
  • 退出条件

媒体合成技能

将多个媒体资源(GIF、视频、图片)组合为复合输出,适用于详尽的教程与文档制作。

适用场景

  • 将多个独立生成的媒体输出整合为复合内容
  • 基于终端与浏览器录制素材创建复合演示

不适用场景

  • 单一格式输出且无需合成
  • 简单的终端录制 —— 请直接使用 scry:vhs-recording

概述

本技能协调多个独立生成的媒体资产,将其合成为统一输出。它读取定义了组件及其合成规则的清单文件,验证所有输入文件是否存在,并执行 FFmpeg 命令生成最终的复合媒体文件。

必需的 TodoWrite 任务项

- 解析合成清单文件
- 验证所有组件输出文件均存在
- 确定合成布局及参数
- 执行 FFmpeg 合成命令
- 验证合成输出文件已成功创建
- 上报合成指标(文件大小、分辨率等)

验证方式:运行命令时添加 --help 参数,确认其可用性。

清单文件格式

清单文件定义需合成的组件及其排列方式:

# 示例清单:tutorials/mcp.manifest.yaml
name: mcp
title: "MCP Server Integration"
components:
  - type: tape
    source: mcp.tape
    output: assets/gifs/mcp-terminal.gif
  - type: playwright
    source: browser/mcp-browser.spec.ts
    output: assets/gifs/mcp-browser.gif
    requires:
      - "skrills serve"
combine:
  output: assets/gifs/mcp-combined.gif
  layout: vertical
  options:
    padding: 10
    background: "#1a1a2e"

验证方式:运行命令时添加 --help 参数,确认其可用性。

清单文件 Schema

字段 类型 是否必需 说明
name string 是 合成任务的唯一标识符
title string 否 面向用户的可读标题
components array 是 待合成的媒体组件列表
components[].type string 是 数据源类型:tape、playwright、static
components[].source string 是 源文件路径
components[].output string 是 生成的目标输出路径
components[].requires array 否 生成前需执行的命令列表
combine.output string 是 合成后输出文件路径
combine.layout string 是 布局模式(见下表)
combine.options object 否 布局相关配置项

分步执行流程

1. 解析清单文件

# 读取并校验清单结构
yq eval '.' manifest.yaml

# 提取各组件的 output 字段值
yq eval '.components[].output' manifest.yaml

验证方式:运行命令时添加 --help 参数,确认其可用性。

2. 验证组件输出文件存在性

# 检查所有要求的输出文件是否存在
for output in $(yq eval '.components[].output' manifest.yaml); do
  if [[ ! -f "$output" ]]; then
    echo "ERROR: Missing component: $output"
    exit 1
  fi
done

验证方式:运行命令时添加 --help 参数,确认其可用性。

3. 执行 FFmpeg 合成操作

根据清单文件中指定的 layout,执行对应的 FFmpeg 命令。

4. 验证合成输出结果

# 验证输出文件存在且非空
if [[ -f "$output" && -s "$output" ]]; then
  echo "Composition successful: $output"
  ls -lh "$output"
else
  echo "ERROR: Composition failed"
  exit 1
fi

验证方式:运行命令时添加 --help 参数,确认其可用性。

FFmpeg 合成命令

垂直堆叠

将 GIF/视频自上而下堆叠:

ffmpeg -i top.gif -i bottom.gif 
  -filter_complex "[0:v][1:v]vstack=inputs=2" 
  -y output.gif

验证方式:运行命令时添加 --help 参数,确认其可用性。

带组件间间距(padding):

ffmpeg -i top.gif -i bottom.gif 
  -filter_complex "[0:v]pad=iw:ih+10:0:0:color=black[top];[top][1:v]vstack=inputs=2" 
  -y output.gif

验证方式:运行命令时添加 --help 参数,确认其可用性。

水平堆叠

将 GIF/视频并排堆叠:

ffmpeg -i left.gif -i right.gif 
  -filter_complex "[0:v][1:v]hstack=inputs=2" 
  -y output.gif

验证方式:运行命令时添加 --help 参数,确认其可用性。

顺序拼接

按顺序播放 GIF/视频:

# 创建 concat 列表文件
cat > concat_list.txt << EOF
file 'first.gif'
file 'second.gif'
file 'third.gif'
EOF

# 执行拼接
ffmpeg -f concat -safe 0 -i concat_list.txt 
  -y output.gif

验证方式:运行命令时添加 --help 参数,确认其可用性。

网格布局(2×2)

ffmpeg -i tl.gif -i tr.gif -i bl.gif -i br.gif 
  -filter_complex "[0:v][1:v]hstack=inputs=2[top];[2:v][3:v]hstack=inputs=2[bottom];[top][bottom]vstack=inputs=2" 
  -y output.gif

验证方式:运行命令时添加 --help 参数,确认其可用性。

带背景色的合成

ffmpeg -i top.gif -i bottom.gif 
  -filter_complex "color=c=#1a1a2e:s=800x600[bg];[bg][0:v]overlay=0:0[tmp];[tmp][1:v]overlay=0:300" 
  -y output.gif

验证方式:运行命令时添加 --help 参数,确认其可用性。

布局选项

布局 说明 支持的配置项
vertical 自上而下堆叠 padding、background、align
horizontal 从左至右堆叠 padding、background、align
sequential 按顺序播放 transition、duration
grid N × M 网格布局 rows、cols、padding
overlay 图层叠加(上层覆盖下层) position、opacity
pip 画中画(Picture-in-Picture) corner、scale、margin

布局选项详情

配置项 类型 默认值 说明
padding int 0 组件之间的像素间距
background string "black" 背景色(支持十六进制或颜色名称)
align string "center" 对齐方式:left / center / right
transition string "none" 转场类型:fade / wipe / none
scale float 0.25 PiP 缩放比例
corner string "br" PiP 所在角落:tl(左上)、tr(右上)、bl(左下)、br(右下)

合成示例

终端 + 浏览器教程

name: plugin-demo
components:
  - type: tape
    source: demo.tape
    output: terminal.gif
  - type: playwright
    source: browser.spec.ts
    output: browser.gif
combine:
  output: demo-combined.gif
  layout: vertical
  options:
    padding: 5
    background: "#0d1117"

验证方式:运行命令时添加 --help 参数,确认其可用性。

并排对比

name: before-after
components:
  - type: static
    source: before.gif
    output: before.gif
  - type: static
    source: after.gif
    output: after.gif
combine:
  output: comparison.gif
  layout: horizontal
  options:
    padding: 10

验证方式:运行命令时添加 --help 参数,确认其可用性。

画中画(PiP)

name: pip-demo
components:
  - type: tape
    source: main.tape
    output: main.gif
  - type: playwright
    source: overlay.spec.ts
    output: overlay.gif
combine:
  output: pip-demo.gif
  layout: pip
  options:
    corner: br
    scale: 0.3
    margin: 20

验证方式:运行命令时添加 --help 参数,确认其可用性。

退出条件

  • 清单文件成功解析
  • 所有组件输出文件均已验证存在
  • FFmpeg 合成命令执行无错误
  • 合成输出文件存在且大小非零
  • 输出分辨率与持续时间已记录
  • 临时文件已清理
目录

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

0

2026.11.05

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

0

2026.11.05

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

0

2026.11.04

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架零基础入门教程
XORM框架零基础入门教程

本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。

0

2026.11.04

Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

0

2026.11.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn