Communitygithub.com

eternityspring/video-shots

ラッシュ解析:完成した動画をショット単位の分析表に分解——各ショットの尺、画角、カテゴリ、カメラワーク、画面内容を抽出。コードが計測を担当し、AIは真に判断すべき4項目のみを担当。Node.jsとffmpegのみで動作。

video-shots とは?

このスキルは、完成した動画を個々のショットに分解し、詳細な分析表を生成するラッシュ解析ツールです。ffmpegのシーン検出でショットの切れ目を検出し、尺を計算、フレーム差分の中央値から動き量を測定します。AIは「画角」「カテゴリ」「カメラワーク」「画面内容」の4項目のみを判断し、各判断はコードによって即座に検証されます(例:カメラワークが「ズームイン」と主張しても、実際の動きが少なければ自動的に却下)。出力はshots.json、Markdownのショット表、および単一HTMLファイルのインタラクティブなレポートです。レポートには内蔵プレーヤー(再生中に現在のショットをハイライト、クリックでジャンプ)、ショットリズム表示、検索・フィルタ・ソート可能なショット表(リスト/カードビュー、開始/終了フレームを並べて表示、クリックで拡大)、画角・カテゴリ・カメラワークの分布、登場人物、品質ゲート、JSONエクスポートが含まれます。依存関係はゼロ、APIキー不要、Node.jsとffmpegのみで動作し、品質ゲートは14項目すべてがスクリプトにより決定的にチェックされます。

対応✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/eternityspring/reelbench-skills/tree/HEAD/skills/video-shots

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

video-shots は何をしますか?

ラッシュ解析:完成した動画をショット単位の分析表に分解——各ショットの尺、画角、カテゴリ、カメラワーク、画面内容を抽出。

役割分担は明確に:計測はすべてコードで(ショットの切れ目はffmpegのシーン検出、尺は切れ目同士の差分、動き量はフレーム差分の中央値)、モデルは本当に判断すべき4項目(画角/カテゴリ/カメラワーク/画面内容)のみを担当。そして各判断はコードによってその場で検証——「ズームイン/アウト」と主張しても実際の動きがほぼなければ、即座にブロック。

動画はコンタクトシートで確認(各ショットの開始フレームと終了フレームを1枚の大きな画像に合成、1画面に20数ショット、A/B比較でカメラワークが一目瞭然)、1枚ずつめくる必要なし。ショットの漏れや重複はrecutで修正・結合し、自動で番号と尺を再計算。手動で境界を変更しても品質ゲートを通らない。

出力:shots.json + Markdownショット表 + 単一ページのインタラクティブローリングレポート:内蔵プレーヤー(再生中に現在のショットをハイライト、クリックでジャンプ)、ショットリズム帯、検索・フィルタ・ソート可能なショット表(リスト/カードビュー、開始/終了フレームを並べて表示、クリックで拡大)、画角・カテゴリ・カメラワークの分布、登場人物、品質ゲート、JSONエクスポート。単一ファイルで依存関係ゼロ、オフラインでダブルクリックで開く。

14の品質ゲートはすべてスクリプトによって決定的にチェック。

依存関係ゼロ、APIキー不要、Node.jsとffmpegのみで動作。

ラッシュ解析と質問された場合に使用。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

eternityspring/reelbench-skills

把一条视频重建成「只有画面和声音」的干净文件——**源片的元数据一概不搬**: GPS、设备型号、账号 ID、创建时间、章节、GoPro 的遥测轨,全部留在原地。 走的是白名单而不是黑名单:不列要删什么,只说带什么过去(画面一条流、声音一条流), 隐私保证来自结构,不来自枚举。 难点不在容器 tag,在**看不见的那几层**:x264 把完整编码参数写成 SEI 塞在码流里、 AAC 把版本号写进 DSE、avc1 的 compressorname 里还有一份——`ffprobe` 一个都看不见。 五个藏身处逐一堵死,每一处都有实测。 默认 `--mode copy`:**画面逐字节照搬**(cmp 验证过),只重编音频,53 秒的片子 1.3 秒跑完; `--mode encode` 完整重编码,多杀掉码流域的东西。 验收不靠声称:把源片所有元数据字符串当「针」,在输出文件里做**字节级扫描**, 扎到一根就红。12 道门全部由脚本确定性检查。 零依赖、零 API key,只要 node 和 ffmpeg。 Use when asked to 清元数据、去元数据、抹掉视频信息、视频隐私、去水印信息、 strip video metadata、remove exif from video、scrub video。

eternityspring/reelbench-skills

把拉片数据和原片合成一条**能直接看的视频**:一边是画面,一边是这一镜的分镜信息 (镜号、起止、时长、景别、类别、运镜、画面描述、台词),**镜头切了信息跟着切**, 镜头表自动滚动并高亮当前这一镜。 版式只看原片的宽高比:**横版 / 方版 → 画面在上、信息在下;竖版 → 画面在左、信息在右**, 画面永远原样缩放,不裁不拉。 镜头表**随播放滚动**:切点处滚一小段把当前镜头带到锚点、随后停住,高亮条同步滑过去。 实现上只截三张图(底板 + 铺开的长图 ×2),滚动与高亮由 ffmpeg 按时间裁窗, **布局全在 scripts/panel.css 里,改它就能改版式**,不用碰脚本。 吃 video-shots 产出的 shots.json(有 frames/ 就把关键帧当缩略图用)。 零 npm 依赖,用 ffmpeg 合成、无头浏览器渲面板。 Use when asked to 导出视频、合成视频、分镜视频、带分镜信息的视频、解说版视频、 video with shot info、annotated shot video。

関連スキル