Communitygithub.com

出力検証パイプライン (@100FOUNTS/brief-to-3d-video-pipeline)

スタジオの出力(動画、画像、音声、3Dモデル)を承認前に検証します:フレームを抽出して目視確認し、ffprobeでフォーマットをチェックし、ラウドネスを測定し、`make verify`を実行します。レンダリング後、オーディオ変更後、ブリーフ編集後など、毎回使用してください。

brief-to-3d-video-pipeline) とは?

このスキルは、スタジオから出力された動画、画像、音声、3Dモデルが受け入れ可能かどうかを自動的に検証するためのパイプラインです。主な機能として、出力からフレームを抽出して目視確認(`ffmpeg`や`node scripts/capture.mjs`を使用)、`ffprobe`によるフォーマットチェック(解像度、フレームレート、コーデック等)、`ebur128`フィルタによるラウドネス測定(‑16 LUFS±1、True Peak ≤ −1 dBFS)、Whisper **large-v3**を用いた音声書き起こし検証、そして`make verify`または`verify_output.py`による統合テストを実施します。このスキルはClaude Code、Cursor、CodexなどのAIエージェントが、レンダリング後やオーディオ変更後、ブリーフ編集後に常に呼び出すことで「見た目が正しい」ことを確認し、自動テストだけでは検出できない視覚的・聴覚的な欠陥を発見するのに役立ちます。既知の落とし穴として、Kokoroの非決定性に対するハッシュ検証の必要性、ウィンドウサイズが小さいラウドネス測定の誤り、シーン複雑度によるPNGとJPEGの速度差などが文書化されています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/100FOUNTS/brief-to-3d-video-pipeline/tree/HEAD/.claude/skills/render-check

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

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

ドキュメント

スタジオ出力の検証

このプロジェクトの黄金律:「結果を見ずして『完了』と言うな」。自動テストは「動く」ことを保証しますが、見た目が正しいことは実際に見ることでしか確認できません(このプロジェクトでも、hyperframes checkはテキストを横切るアークを通過させてしまい、ビューアテストでは4つの視覚的失敗のいずれも検出できませんでした)。

手順

  1. 動画または seek(t) 付きシーン:最初のフレームだけでなく、6〜8枚の分散したフレームをコンタクトシートにまとめて、Readで目視確認します。 node scripts/capture.mjs <scene.html> 1,4,7,10,13,16,19 out/frames/sheet.png 4 既にレンダリングされたMP4の場合:ffmpeg -i out/x.mp4 -vf "fps=1/3,scale=640:-1,tile=3x3" -frames:v 1 out/frames/sheet.png 確認すべき点:テキストの切れや重なり、フレーム外の要素、コントラスト不良、空またはフリーズしたフレーム。
  2. フォーマット:ffprobe -v error -show_streams -show_format -of json <file> → 1920x1080、30 fps、H.264 yuv420p、期待通りの長さ、AAC 48 kHz オーディオトラック。
  3. 音声:ffmpeg -i <file> -vn -af ebur128=peak=true -f null - → インテグレーテッドラウドネス −16 LUFS(±1)、トゥルーピーク ≤ −1 dBFS。 実際に聴くことはできません:スペクトログラム(showspectrumpic)、測定値、そしてWhisper large-v3 による書き起こし(audio/verify_voice.py)を使用します。 小さなWhisperは絶対に使わないでください:無音部分でテキストを捏造し、49〜160%の誤ったエラー率を出力します。
  4. すべてをまとめて:make verify(または audio/.venv/bin/python scripts/verify_output.py)を実行します。ALL CORRECT で終了する必要があります。
  5. 正直に報告する:何を見たか、何を測定したか、判断できない点(音声の自然さ、デザインの好み)、および修正したとしても発生した障害があればそれらを報告します。

既知の落とし穴

  • 「同一」の結果は証明(cmp、ffmpeg -f framemd5 によるフレームハッシュ)が必要であり、仮定してはいけません。Kokoro はシードなしでは決定論的ではありません。
  • 0.4秒未満のウィンドウによるラウドネス測定は −65 LUFS(無効な値)になります:これらはスキップされます。
  • 複雑なシーンではPNGはJPEGより10倍遅くなることがあります(210秒対20秒)が、平坦なシーンではPNGの方が速くなります。

関連スキル