Skip to main content

video-review

成片自检闸门——ffprobe 校验 + 5 位抽帧黑帧扫 + 音频电平 + 时长/分辨率一致性,verdict pass/fail/warn。各视频生产技能合成后、交付前必跑。

소스 정보

저장소
TeamWiseFlow/xiaobei
최근 소스 활동
2026년 7월 26일 14:37
감지된 SKILL.md 언어
중국어
스타
8,574
포크
1,455

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
3 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
video-review
description
成片自检闸门——ffprobe 校验 + 5 位抽帧黑帧扫 + 音频电平 + 时长/分辨率一致性,verdict pass/fail/warn。各视频生产技能合成后、交付前必跑。
metadata
{"openclaw":{"emoji":"🔬","requires":{"bins":"[Truncated]"}}}
# video-review(成片自检公共技能) ## 用途 视频合成后的**强制自检闸门**——在向用户交付前跑一次,拦成片硬伤: - ffprobe 全字段校验(codec / 分辨率 / fps / pix_fmt / 音频配置) - 5 位抽帧黑帧扫(0% / 25% / 50% / 75% / 100%)—— ≥2 黑帧判 critical - 音频电平分析(volumedetect)—— 静音 / 削波 / 无音轨 - 时长 vs 目标(`--target-duration`,默认 ±5% 容差) - 分辨率 floor(9:16 竖屏最低 720x1280)+ 目标比对 + 段一致性 ## 调用 ```bash video-review <final.mp4> # 直接审单个成片文件 video-review <project-dir> # 审 <dir>/video.mp4,并对 artifacts/ 做段一致性检查 video-review <project-dir> --target-duration 30 --target-resolution 720x1280 video-review <final.mp4> --output review.json ``` 参数: | 参数 | 默认 | 说明 | |------|------|------| | `target` | — | 成片文件路径;或项目目录(目录时审 `<dir>/video.mp4`,且若存在 `artifacts/` 一并做段一致性检查) | | `--target-duration` | 无 | 目标时长(秒),从脚本片段规划累加得出 | | `--target-resolution` | 无 | 目标分辨率,形如 `720x1280` | | `--output` | `<project-dir>/review/verdict.json` | verdict JSON 落盘路径 | ## verdict 语义 | verdict | 退出码 | 含义 | 处置 | |---------|--------|------|------| | `pass` | 0 | 无 critical 无 warning | 可交付 | | `fail` | 1 | 有 critical issue | **不准交**——按 `critical[]` 修复后重审,最多重修 2 轮,仍 fail 则向用户复述 critical 项请求决策 | | `warn` | 2 | 有 non-critical issue | 向用户复述让其决定是否重修 | | — | 3 | 脚本本身故障(ffprobe missing / path invalid) | 不算评审结论,修脚本 | ## verdict JSON schema ```json { "verdict": "pass" | "fail" | "warn", "file": "<video.mp4 absolute path>", "ffprobe": { "codec", "width", "height", "fps", "pix_fmt", "duration", "size_bytes", "audio": {...} }, "frames": [ { "position_pct", "path", "mean_luma", "is_black" } ], "audio_level": { "mean_db", "max_db", "silent", "clipping", "absent" }, "checks": [ { "name": "duration_match", "status": "pass", "detail": "actual 30.2s vs target 30s, gap 0.2s" }, { "name": "resolution_floor", "status": "pass", "detail": "720x1280" }, { "name": "resolution_uniform", "status": "fail", "detail": "成片 720x1280 vs 段01 1080x1920" } ], "critical": [ "resolution_uniform: ..." ], "warnings": [ "audio_level mean_db=-42.1 close to silent threshold" ] } ``` ## 抽帧产物 5 帧静图落 `<project-dir>/review/frames/frame_NNN.jpg`,verdict JSON 落 `<project-dir>/review/verdict.json`。**不进 `artifacts/`、不进 `previews/`**,与 keyframes/ 子目录同级,互不混淆。 ## 段一致性检查 `probe_segments` 扫 `<project-dir>/artifacts/` 下各段 ffprobe,逐段比对分辨率与成片是否一致——拼了不同分辨率段是硬伤。`artifacts/_deprecated/` 子目录不参与(非递归 listdir)。 ## 强制约定 - **禁止跳过本脚本交付**:各视频生产技能的合成环节产出 `video.mp4` 后,必须先跑本脚本,verdict=pass 才能进交付/封面环节 - **禁止肉眼看交代替本脚本**:本脚本是替代"裸拼完就交"脆弱闸门的强制自检 - **warn 处置**:声画同出模式下 `audio_absent` warning 要对照看——AI 生成模式该出声没出声是 critical(退回重生成或补 TTS);Stock Footage + `--no-audio` 模式下 `audio_absent` 是预期,warn 可放行
GitHub에서 보기