jetson-video-setup について
jetson-video-setup は、Jetson 上の NVIDIA Video Codec SDK または PyNvVideoCodec を調査、インストール、検証するスキルです。ネイティブ版と Python 環境を分けて扱い、指定のエンコードとデコードの確認に合格した場合にのみ準備完了と判定します。
主な機能
- 01ネイティブ SDK または PyNvVideoCodec の調査
- 02選択した製品と依存関係の導入
- 03エンコードとデコードによる検証
- 04製品ごとの準備状況の報告
活用シーン
- 01Jetson のコーデック環境の準備状況を確認
- 02指定した SDK 環境の導入や修復
- 03ネイティブ版と Python 環境を個別に検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nvidia/ skills --skill jetson-video-setupインストール後、Claude Code で/jetson-video-setupを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
BENCHMARK.mdskill-card.mdskill.oms.sigevals/evals.jsonreferences/setup-install.mdsetup-output-contract.mdsetup-workflow.mdvideo-content.md詳細
Jetson Video Setup
目的
稼働中の Jetson で、NVIDIA Video Codec SDK のネイティブ版と PyNvVideoCodec を調査、インストール、検証します。セットアップでは、製品のインストールと準備状況を確認します。コーデックの対応状況、エンコーダーの設定、パフォーマンス測定、アプリケーションのパイプラインについては、関連するビデオスキルを使用してください。
標準のパッケージマネージャー、Python 環境ツール、インストール済みの NVIDIA サンプルを直接使用し、簡潔な準備状況の結果を返します。
作業前に読む
- 調査と準備状況の確認について、setup-workflow.md を読んでください。
- APT、venv、pip に変更を加える前に、setup-install.md を一度最後まで読んでください。
- 返す簡潔で人間が読みやすい結果について、setup-output-contract.md を読んでください。
- リクエストにメディアの提供または取得が含まれる場合に限り、video-content.md を読んでください。
製品を選択する
対象に触れる前に、リクエストされた製品を特定してください。
- 「Video Codec SDK」、「VC SDK」、「native SDK」、または
nvidia-video-codec-sdkは、ネイティブ製品を指定します。 - 「PyNvVideoCodec」、「PyNv」、「PySDK」、「Python SDK」、または Python インターフェースが明示されている場合は、PyNvVideoCodec を指定します。
- ユーザーが両方を求めた場合に限り、両方を選択してください。
単に「video SDK」とだけ指定されたセットアップまたは準備状況のリクエストは、明確ではありません。ユーザーに、ネイティブの Video Codec SDK、PyNvVideoCodec、または両方のどれを希望するか尋ねてから、作業を停止してください。「report」という語があっても、この曖昧さは解消されません。
ネイティブ版と Python 版の作業は独立して行ってください。一方での失敗によって、もう一方の成功結果が失われないようにしてください。
ワークフロー
- コマンドが Jetson 上で実行されることを確認します。
/etc/nv_tegra_release、/etc/os-release、および要求された GPU の序数を調査してください。別のホスト上の場合は、ガイダンスのみを提示し、準備ができているとは判断しないでください。 - setup-workflow.md にある直接コマンドを使って、選択した製品のみを調査します。ネイティブ版では、インストール済みパッケージ、パッケージが所有する Samples ツリー、CUDA ツールキット、ビルドツールを特定してください。Python 版では、ユーザーが指定した、またはこのリクエスト中に作成した正確なインタープリターを使い、インストール済みディストリビューションと読み込まれたモジュールを調査してください。ファイルシステムをスキャンして仮想環境を探してはいけません。
- ユーザーが調査のみを求めた場合は、インストール済みのものを報告して終了してください。パッケージの存在またはインポートできることは
installedであり、readyではありません。 - 選択した製品が見つからず、ユーザーがインストールまたは修復を求めた場合は、インストールのリファレンスに従ってください。変更を加える前に、実行するパッケージまたは pip コマンドを正確に提示してください。最終的な Python 環境のパスを作成する前に、システムの前提条件をインストールして検証してください。選択した製品と、その不足している前提条件のみを変更してください。
- インストール後、直接調査を再度実行します。続いて、setup-workflow.md の説明に従い、インストールしたリリースの公式な 1 フレームのエンコードを実行し、その後、独立したデコードを実行してください。
- 選択した各製品を個別に報告してください。公式のエンコードと独立したデコードのすべての観測可能な確認に合格した場合に限り、
readyと報告します。それ以外の場合は、installed、blocked、またはfailedと報告し、失敗したコマンドまたは不足している前提条件を示して、具体的な次のアクションを 1 つ提示してください。
別のビデオスキルから準備状況の確認のみを求められた場合は、手順 1 と 2 を実施し、正確なパッケージ/Samples のルート、または Python インタープリター/パッケージのパスを返してください。そのスキルが直後に独自の認証済み操作を実行する場合は、セットアップのスモークテストを実行しないでください。
PyNvVideoCodec 環境の選択
インタープリターは、ユーザーが明示したパス、現在の会話ですでに確定している正確なパス、従来のプロファイルパスの順に優先して選択します。従来のスモークテスト用インタープリターは $HOME/.venvs/nvcodec/bin/python、full-samples 用インタープリターは $HOME/.venvs/nvcodec-full/bin/python です。これらの正確なパスを確認することは、ファイルシステムのスキャンにはあたりません。ディレクトリの順序で仮想環境を選択したり、システム Python にフォールバックしたりしないでください。
新しい環境には、該当する従来のパスが存在しない場合はそのパスを使用するか、ユーザーが所有する永続的な場所にある新しい絶対パスを明示してください。従来のパスが存在する場合は、まずその環境を調べてください。有効であれば再利用します。無効であれば、正確な不具合を報告し、その環境には手を加えず、別の新しいパスを指定するようユーザーに依頼してください。後続のスキルでそのまま使用できるよう、選択したインタープリターのパスを返してください。
セットアップのスモークテスト、デコード性能の作業、従来のインターフェース利用可否の確認には pynvc-smoke を使用してください。利用可否の確認では正確なスモークテスト用パスだけを調べ、そのパスが存在しないか無効な場合は not_ready を報告します。コンシューマーのエンコード操作(機能の利用可否を証明する場合を含む)と、高度な raw デコード、セグメンテーション、エンコード性能サンプルを使用する作業では、インストールガイドに記載されている別個の full-samples 環境と依存関係を選択します。メディアを使用しない機能インベントリーでは、どちらの従来のプロファイルも使用できます。まずスモークテスト用環境を調べ、そこに存在しない場合は full-samples を調べ、応答に使用した正確なインタープリターを報告してください。
どちらのプロファイルも使用できるのは、リクエスト全体がメディアを使用しないインベントリーの場合に限ります。リクエストに操作または機能の利用可否を証明する内容も含まれる場合は、そのリクエストで指定されたプロファイルを使用してください。そのプロファイルが利用可能な状態でなければ、not_ready を報告し、もう一方の従来のプロファイルには問い合わせないでください。上記のインターフェース利用可否の確認では、引き続きスモークテスト用パスを使用します。
準備完了の証明
どちらの製品でも、生成した 640×360 の 8 ビット NV12 フレーム(345,600 バイト)を 1 つ使用して H.264 エンコードを行い、新しいビットストリームを独立してデコードします。
| 製品 | 必須の証拠 |
|---|---|
| ネイティブ | パッケージ所有の AppEncCuda がエンコードフレームを 1 つ報告すること。パッケージ所有の AppDec が、その空でないビットストリームを正確に受け取り、デコードフレームを 1 つ報告し、345,600 バイトの NV12 出力を書き込むこと。 |
PyNv full-samples | wheel 所有の basic/encode.py が CPU バッファーフレームを 1 つエンコードしたと報告すること。wheel 所有の advanced/decode.py がそのビットストリームを正確に受け取り、フレームを 1 つ報告し、345,600 バイトの出力を書き込むこと。 |
PyNv pynvc-smoke | 同じエンコーダーの証明を行うこと。wheel 所有の advanced/decode_perf.py が、要求したデコードフレーム数と合計数がともに 1 であると報告し、ワーカーエラー、警告、トレースバックがないこと。raw デコードファイルが生成されることは証明の対象外です。 |
終了コードが 0 であることや、ファイルが作成されたことだけでは不十分です。期待するマーカーと件数、新たに作成された空でないビットストリーム、そして独立したコンシューマーを必須とします。H.264 は非可逆圧縮のため、デコード後のバイト列が入力と一致することは求めないでください。
CPU バッファーとデバイスメモリーのサンプルモードで証明できるのは、対象となる準備完了操作のみです。外部バッファー共有、ゼロコピー、別プロセスまたはパイプラインの別段階における同期プリミティブを証明するものではありません。プロセス内または段階間のバッファー契約の確認を求められた場合は、jetson-video-pipeline を呼び出してください。実際の後続段階における認証済み操作を必須とし、それにより共有ハンドル、フォーマットとレイアウト、所有権とライフタイム、シグナルと待機の動作、安全なバッファー再利用を証明してください。セットアップの証拠だけを根拠に、そのリクエストに回答しないでください。
要求された関連作業の実行
サポート、エンコーダー設定、スループット、またはアプリケーションのワークフローについても尋ねられた場合は、該当する公開スキルのみを呼び出してください。
jetson-video-capabilityjetson-video-recipejetson-video-benchmarkjetson-video-pipeline
選択した製品と正確なローカルパスをデータとして渡してください。関連スキルの非公開ファイルを読み込んだり、インポートしたりしないでください。必要な関連スキルを利用できない場合は、完了済みのセットアップ結果を保持し、不足しているスキルを明記してください。
安全性
- 報告のみを求められた場合は、直接の読み取り専用の確認のみを行ってください。サンプルをビルドしたり、ワークスペースや venv を作成したり、コーデック処理を開始したり、パッケージや既存の Python 環境を変更したりしないでください。
- すでに設定済みで、署名認証されているパッケージリポジトリのみを使用してください。NVIDIA SDK と CUDA パッケージは、インストール済みリリース向けの公開 Jetson リポジトリから取得する必要があります。ソース、キー、または信頼性チェックの回避策を追加・編集しないでください。
- APT のインストール前に候補パッケージと取得元を確認し、正確な
apt-get -sシミュレーションを実行してください。削除、ダウングレード、または想定外のパッケージがある場合は中止してください。確認済みのコマンドは、非対話型のsudo -nを使って実行してください。この認証を利用できない場合は、パスワード入力の要求、su、または別の権限昇格手段を使わずに中止してください。 - APT による変更後は
dpkg --auditを実行してください。結果が空でない場合、または実行に失敗した場合は中止してください。 - ネイティブ環境の取得と Python 環境の取得は分けてください。Python のみを求められた場合は
nvidia-video-codec-sdkをインストールしてはいけません。ネイティブ環境のみを求められた場合は venv を作成してはいけません。 - 認証情報をコマンド、ログ、レポートに含めないでください。シンボリックリンクになっているインストール先や想定外のインストール先は拒否し、ビルド先と出力先には新しいパスを使用してください。
- ローカルでのインストールやスモークテストの結果は、製品がサポートされていることや、そのリリースが最新の互換リリースであることを示すものではありません。そうした主張には、最新の NVIDIA 公式ドキュメントを使用してください。
PSNR、SSIM、DRM 再生、キャプチャ、推論、またはディスプレイ関連の作業では、セットアップはそのワークフローを担当しないことを明記し、明示的に求められたビデオコーデック部分のみを案内してください。