デコード設定の指定方法

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
  }
}