jetson-video-recipe について
jetson-video-recipeは、Jetson向け動画エンコード設定の計画や後続ワークフローに使うスキルです。schema 2.0のJSONレシピを生成・検証し、デバイスの調査やメディア処理は行いません。
主な機能
- 01schema 2.0エンコードレシピの生成
- 02固定デフォルトと制約の適用
- 03構造と投影損失の検証
- 04正規JSONファイルの書き込みと検証
- 05計画と実機能力確認の分離
活用シーン
- 01Jetsonエンコード設定の計画
- 02エンコード前の設定競合の解決
- 03後続パイプライン向けレシピの準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nvidia/ skills --skill jetson-video-recipeインストール後、Claude Code で/jetson-video-recipeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
BENCHMARK.mdskill-card.mdskill.oms.sigevals/evals.jsonreferences/recipes-knobs-and-constraints.mdrecipes-workflow.md詳細
Jetson 動画レシピ
決定性のある nvcodec-recipe スキーマ 2.0 のドキュメントを 1 つ作成します。レシピの作成はターゲット外で行い、メディアも扱いません。プローブ、インストール、エンコード、デコードは行わず、サポート、品質、性能について主張することもありません。
境界
- PSNR、SSIM、または別の客観的品質指標のみを対象とするリクエストの場合は、別途承認された品質ワークフローが必要であることを伝え、そこで終了します。
- CQ と平均または最大ビットレートが併せて指定されていて競合する場合は、まずその競合を解決します。
input_requiredを返し、どちらを残すかだけを尋ねて終了します。ビットレートを上限と解釈し直したり、レシピを出力したりしてはいけません。 - 「低レイテンシ」が具体的に指定されていない場合、ユースケースは特定されません。会議、ライブストリーミング、または別の契約のどれを意味するのかを尋ね、
input_requiredを返し、レシピを出力せずに終了します。 - 明示された制御項目はすべて保持します。ある表現形式で指定できない場合は、投影時の損失として明記します。黙って破棄したり、弱めたりしてはいけません。
ワークフロー
- ユースケース、コーデック、正の整数の幅/高さ/fps、入力形式、GPU、および明示されたプロファイル、プリセット、チューニング、レート制御、ビットレート、GOP、B フレーム、先読み、AQ、マルチパス、バッファリングの各制御項目を収集します。raw エンコードまたは測定の前に
frame_countが必要ですが、圧縮入力の場合は、認証済みのデコーダー/トランスコーダーから報告されるまで不明のままでもかまいません。use_case、width、heightのいずれかが欠落している場合は、不足している項目だけを正確に列挙してinput_requiredを返し、終了します。それ以外の省略された項目には、文書化されたデフォルト値を適用します。省略されたプロファイルは SDK に選択させます。 - recipes-knobs-and-constraints.md に記載された固定デフォルト値と制約を適用し、recipes-workflow.md に記載されたとおりにスキーマ 2 のドキュメントを作成します。呼び出し元の値とデフォルト値は、個別に識別できる状態に保ちます。
- ドキュメントを構造的に検証します。スキーマ/種別が正確であること、JSON が有限であること、整数が正の値かつ上限内であること、列挙値が有効な文字列であること、レート制御フィールドが相互排他的であること、形式/プロファイルの制約が満たされていること、投影が同じ
encoder_intentから導出されていること、さらに呼び出し元が明示した各制御項目が各投影に反映されているか、その投影の損失として記載されていることを確認します。受理済みのレシピを編集せず、再生成してください。再生成したドキュメントも構造検証に失敗する場合は、正確な不備を添えてfailedを返し、レシピを出力してはいけません。 - 上書きのない新しいパスに、正規化されたソート順の JSON を書き込みます。その正規絶対パス、バイト数、SHA-256 を記録します。各利用側は、必ずそのファイルそのものを再ハッシュします。安全な新規パスを用意できない場合、または書き込み/再ハッシュに失敗した場合は、正確な理由を添えて
failedを返し、レシピを作成したと主張してはいけません。 - インテント、前提/デフォルト値、両方の投影、すべての損失、およびレシピファイルの正規絶対パス、バイト数、SHA-256 を返します。
bothの場合は、両方の結果を保持します。autoは、どちらも選択せずに両方の投影を保持することを意味します。パイプラインまたはベンチマークが、最新のライブ適格性証拠に基づいて選択します。
計画のみのレシピでは、この Markdown のルールが完全な根拠となります。投影の確認だけを目的として、ターゲットをプローブしたり、インストール済み SDK/サンプルソースを調べたり、ファイルシステム内のサンプル JSON を検索したり、別のスキルを呼び出したりしてはいけません。計画のみの場合でも、手順 2〜5 は必要です。正規化された新規レシピ JSON の書き込みと再ハッシュを行い、その絶対パス、バイト数、SHA-256 を報告してください。禁止されるのはターゲットおよびメディアの操作であり、ローカルでのレシピ成果物の作成ではありません。
ライブ処理と後続作業
ライブ分類をリクエストされた場合は、選択した製品と GPU について jetson-video-setup から最新の読み取り専用の準備状況を取得し、さらに jetson-video-capability から該当する生データまたはドキュメントの結果を取得します。不足している事実は unknown のままとし、明示的な否定または表現できない射影は unsupported とします。API が報告する機能は、操作の証明にはなりません。
実行の場合は jetson-video-pipeline に、測定の場合は jetson-video-benchmark に、元のレシピの識別情報をデータとして渡します。これらのスキルでは再ハッシュを行い、比較対象外の制御項目を一定に保つ必要があります。別のスキルの実装を取り込んだり、再現したりしないでください。
必須の結果
- H.264 1920x1080@60、6 Mbps CBR のライブストリーミングでは、デフォルトで P4、
low_latency、GOP 60、B フレーム 1、ルックアヘッド 0、フル解像度のマルチパス、 最大ビットレート 6,000,000、VBV 3,000,000 を使用します。 - 明示的な H.264 High プロファイルは、ネイティブ射影では正確に表現され、
公開されている PyNvVideoCodec 2.1 のサンプル射影では
unrepresentableです。 - CQ と平均ビットレートを併用するリクエストでは、解決されるまでレシピを生成しません。
制限事項
このスキルが生成するのは、エンコーダーの基本設定のみです。コンテンツ選択、コンテナ化/トランスコード作業、独立したデコード、ベンチマーク、証拠の取得は、それぞれを担当するスキルに属します。