デコード設定の指定方法
October 10, 2025 · View on GitHub
レイアウト機能 で指定する JSON ファイルでは、 映像ソースをデコードする一部のデコーダーのパラメーターを指定することができます。
デコードパラメーターによって、デコード性能やメモリ使用量が変わる可能性があるため、 環境に適した設定を行うことで、より効率的な合成処理が可能になります。
なお、デフォルトで使用されるデコードパラメーターは layout-examples/compose-default.jsonc にも記載されています。
NVIDIA Video Codec SDK デコーダーパラメーター
NVIDIA Video Codec SDK(nvcodec)は、CUDA 対応 GPU を利用したハードウェアデコーダーです。 Hisui では H.264、H.265、VP8、VP9、AV1 のデコードに利用できます。
利用条件
nvcodec デコーダーを利用するには、以下の条件を満たしている必要があります:
- CUDA 対応の NVIDIA GPU
- 適切な NVIDIA GPU ドライバー
- nvcodec に対応してビルドされた Hisui
- ubuntu-24.04_x86_64 向けのビルド済みバイナリは nvcodec が有効になっています(CUDA がない環境では実行時に無効になります)
- 自前でビルドした Hisui で nvcodec を有効にする場合には ビルド方法 をご参照ください
パラメーター
nvcodec デコーダーでは、H.264、H.265、AV1、VP8、VP9 の各コーデックで同じパラメーター項目が利用できます。
これらのパラメーターは、それぞれ以下のキーで指定します:
nvcodec_h264_decode_params: H.264 デコード時のパラメーターnvcodec_h265_decode_params: H.265 デコード時のパラメーターnvcodec_vp8_decode_params: VP8 デコード時のパラメーターnvcodec_vp9_decode_params: VP9 デコード時のパラメーターnvcodec_av1_decode_params: AV1 デコード時のパラメーター
なお、本ドキュメントでの各パラメーターについての説明などは参考程度のものとなっております。 正確な情報については、公式ドキュメントを参照してください。
デバイス制御パラメーター
device_id(整数値): 使用する CUDA デバイスの ID- デフォルト値:
0 - 指定可能な範囲: 0 以上の値(システムの利用可能 GPU 数による)
- デフォルト値:
メモリ・バッファ制御パラメーター
-
max_num_decode_surfaces(整数値): デコード用サーフェスの最大数- デフォルト値:
20 - 指定可能な範囲: 1 以上の値
- 値を大きくするとメモリ使用量が増加しますが、デコード性能が向上する可能性があります
- デフォルト値:
-
max_display_delay(整数値): 表示遅延の最大フレーム数- デフォルト値:
0 - 指定可能な範囲: 0以上の値
- 0に設定すると遅延を最小にし、値を大きくするとデコード効率が向上します
- デフォルト値:
使用例
以下は、H.264 用の nvcodec デコーダーパラメーターを指定したレイアウトファイルの例です:
{
"video_codec": "H264",
"video_layout": {
"main": {
"video_sources": ["archive-*.json"]
}
},
"nvcodec_h264_decode_params": {
"device_id": 0,
"max_num_decode_surfaces": 16,
"max_display_delay": 1
}
}