Communitygithub.com

Ahmed-OC/motion-video-skills

用于任意渲染视频(无论是生成还是非生成)的质量保证与发布门控工具:探测规格、响度归一化、生成联系图、结构化审查以及确定性验证。

motion-video-skills 是什么?

该技能是一个全面的视频质量保证(QA)门控工具,适用于任何渲染后的视频文件,无论其来源如何,支持MP4、WebM和MOV格式。其核心功能包括:通过`probe.sh`脚本和FFmpeg自动检查视频规格(时长、帧率、分辨率、编码器、像素格式、音频流)与预期值的偏差;使用EBU R128标准测量并归一化响度至−14 LUFS,仅重新编码音频流以保持视频质量。此外,该技能还生成接触式联系图(contact sheet)和连续帧条带(consecutive-frame strips),便于视觉审查;实施一个结构化的审查流程,对钩子、可读性、动效、同步、风格一致性和音质六个维度进行评分/10。最后,通过FFmpeg的帧校验和检测生成视频的确定性,并提供交付清单(H.264、yuv420p、+faststart、−14 LUFS、海报帧、联系图)。该技能通过消除主观臆断、聚焦可测量的指标,极大地减少了视频渲染中的错误,将审查过程从“猜测”转变为“验证”,特别适用于需要频繁渲染和迭代审查的自动化流水线(如AI视频生成、自动化内容生产)。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Ahmed-OC/motion-video-skills/tree/HEAD/skills/video-qa

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

视频 QA —— 发布门控

视频不是在渲染完成后就大功告成;只有经过探查、在联系图上被看到并归一化后,才算真正完成。本技能适用于任何文件,独立于其生成方式。

1. 探查事实(永远不要依赖假设)

scripts/probe.sh video.mp4

将每个值与预期值(时间线、简报、平台规格)进行比较:

检查项预期值
时长原始时长 ± 0.1 秒
帧率 / 分辨率原始帧率 / 宽×高
编码器 / 像素格式h264 / yuv420p(yuvj420p 为全范围变体,通常可接受)
音频流存在(当且仅当视频应有声音)
综合响度−14 ± 2 LUFS(社交平台通常会归一化至接近 −14)

任何不匹配都是渲染错误,而非品位问题。修复上游问题,重新渲染。

2. 响度:测量 → 归一化(仅音频,耗时秒级)

# 测量
ffmpeg -hide_banner -i video.mp4 -af ebur128 -f null - 2>&1 | awk '/Integrated loudness/{getline; print}'

# 归一化至 −14 LUFS(视频流复制,无需重新编码)
ffmpeg -i video.mp4 -c:v copy -af "loudnorm=I=-14:TP=-1.5:LRA=11" -c:a aac -b:a 192k video_norm.mp4 \
  && mv video_norm.mp4 video.mp4

切勿通过耳朵使用音量滤镜进行归一化——LUFS 才是平台实际使用的单位。

3. 查看视觉:联系图 + 条带

scripts/contact_sheet.sh video.mp4 contact.png 2 8x   # 每 0.5 秒一帧,8 列
# 围绕关键时刻(例如 T 处的转场)的 12 个连续帧:
ffmpeg -y -ss <T-0.2> -i video.mp4 -frames:v 12 -vf "scale=320:-1,tile=6x2" strip_T.png

像放映胶片一样阅读联系图:节奏是否可见?剪辑是否落在拍点网格上?任何场景是否空荡或过于拥挤?联系图会隐藏运动质量——在签字确认前,务必至少完整观看一遍视频。

4. 审查环节(构建者 ≠ 评判者)

审查的是渲染结果——而非源文件或预期效果——每项评分 /10:

  1. 钩子——前 2 秒内有最引人注目的帧吗?
  2. 可读性——文本是否 ≥ 最小尺寸、位于安全区域内、无重叠/被裁剪、持续时间足够长?
  3. 动效——是否完全没有线性缓动、多属性入场、错落效果、退场速度是否快于入场速度?
  4. 同步——事件是否落在拍点/单词网格上?
  5. 风格一致性——是否使用同一色系、同一字体系统、统一的转场效果?
  6. 声音——旁白清晰、音乐音量降低、目标响度达标、无削波?

协议:记录最差的 3 个缺陷并附带时间戳 → 精确修复这些缺陷 → 重新渲染 → 重新评分。每个方面达到 ≥8/10 通常需要 3–5 轮。请在全新的上下文(或子智能体)中运行审查:代码的作者往往是代码最差的审查者。

5. 确定性(适用于生成/可重复视频)

# 同一输入的两次指纹必须逐字节匹配
ffmpeg -i video.mp4 -map 0:v -f framemd5 - | sha1sum

相同的流水线、相同的输入 → 不同的哈希值意味着存在隐藏的挂钟时间、未初始化的随机性或累积状态:修复生成器,而不是“重新抽卡”。

6. 交付检查清单

video.mp4        H.264, yuv420p, +faststart, −14 LUFS
poster.png/jpg   钩子帧
contact.png      每秒 2 帧的胶片条
sources          生成视频的任何源文件(可编辑 > 最终版)

明确告知用户要更改某个内容时应编辑哪个文件,以及重新渲染的命令。

证据规则

当审查者(无论是人类还是视觉模型)声称存在几何缺陷(“文本被裁剪”、“元素重叠”)时,请通过测量(播放器检查、像素采样或生成代码自身的度量)进行确认,然后再“修复”一个非缺陷。审查者幻觉边距的频率远高于渲染裁剪文本的频率。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能