NVEnc

August 4, 2026 · View on GitHub

by rigaya

Build Windows Releases Build Linux Packages

このソフトウェアは、NVIDIAのGPU/APUに搭載されているHWエンコーダ(NVENC)の画質や速度といった性能の実験を目的としています。 Aviutlの出力プラグイン版と単体で動作するコマンドライン版があります。

  • NVEncC.exe
    単体で動作するコマンドライン版です。本項で説明します。

  • NVEnc.auo
    NVIDIAのNVEncを使用してエンコードを行うAviutlの出力プラグインの使用方法については、こちらを参照してください。

配布場所 & 更新履歴

こちら

インストール

インストール方法はこちら

ビルド

ビルド方法はこちら

基本動作環境

Windows 10/11 (x86/x64)
Linux (x64/aarch64)
AviUtl 1.00/1.10 (NVEnc.auo)
AviUtl2 2.00 beta19 以降 (NVEnc.auo2)
NVEncが載ったハードウェア
NVIDIA製 GPU GeForce 後期Kepler世代以降 (GK110, GK208, GK210以降)
NVIDIA グラフィックドライバ 452.39 以降

NVEncCの使用方法とオプション

NVEncCのオプションの説明

各GPUのエンコード機能情報の調査結果

NVEncC --check-features の結果をまとめたものです。ドライバに問い合わせた結果となっています。そのため、ドライバのバージョンによって結果が異なる可能性があります。

GPU世代WindowsLinux
KeplerGTX660TiTesla K80
MaxwellGTX970Tesla M80
PascalGTX1080, GTX1070, GTX1060, GTX1050TiGTX1080
VoltaGTX1650
TuringRTX2070, RTX2060, GTX1660Ti, GTX1650 SuperTesla T4
AmpereRTX3090, RTX3080, RTX3050Ti
Ada LovelaceRTX4090, RTX4080
BlackwellRTX5090

NVEnc 使用にあたっての注意事項

無保証です。自己責任で使用してください。
NVEncを使用したことによる、いかなる損害・トラブルについても責任を負いません。

使用出来る主な機能

NVEnc/NVEncC共通

  • NVENCを使用したエンコード
    • H.264/AVC
      • YUV420 / YUV444 / RGB
    • H.265/HEVC (第2世代Maxwell以降)
      • YUV420 / YUV444 / RGB / YUVA420 (YUV + alpha channel)
      • 10bit
    • AV1 (Ada Lovelace以降)
  • NVENCの各エンコードモード
    • CQP 固定量子化量
    • CBR 固定ビットレート
    • CBRHQ 固定ビットレート (高品質)
    • VBR 可変ビットレート
    • VBRHQ 可変ビットレート (高品質)
  • インタレ保持エンコード (PAFF方式)
  • colormatrix等の指定
  • SAR比指定
  • H.264 Level / Profileの指定
  • 最大ビットレート等の指定
  • 最大GOP長の指定
  • ロスレス出力 (YUV 420 / YUV 444)

NVEnc.auo

  • 音声エンコード
  • 音声及びチャプターとのmux機能
  • 自動フィールドシフト対応

NVEnc.auo

NVEncC

  • cuvidデコードに対応

    • MPEG1
    • MPEG2
    • H.264/AVC
    • HEVC (10bit/12bit YUV4:4:4対応)
    • VC-1
    • VP9
    • AV1
  • avs, vpy, y4m, rawなど各種形式に対応

  • マルチGPUも活用した並列エンコード

  • エンコード結果のSSIM/PSNR/VMAFを計算

  • VPPフィルタ

    カテゴリフィルタ
    インタレ解除deinterlace (CUVID), afs, bwdif, yadif, nnedi, rtgmc, kfm, decomb, onnx-deint
    逆テレシネ・間引きrff, ivtc, decimate, mpdecimate, select-every
    ノイズ除去knn, pmd, nlmeans, hqdn3d, smooth, denoise-dct, fft3d, msmooth, degrain, convolution3d, gauss, nvvfx-denoise, nvvfx-artifact-reduction
    リサイズresize (様々なアルゴリズム, npp, nvvfx, ngx-vsr, libplacebo), descale
    輪郭・ディテール強調unsharp, edgelevel, warpsharp, maa, cas, msharpen, detailsharpen
    デハロ・リンギング除去dehalo, finedehalo, hqdering, vinverse
    色調補正tweak, curves, softlight, chromashift, colorfix
    色空間変換・HDRcolorspace, libplacebo-tonemapping, ngx-truehdr
    バンディング低減deband, libplacebo-deband
    フレーム補間fruc, rife-ov
    その他delogo, subburn, pad, overlay, rotate, transform, stab, deflicker, deblock, libplacebo-shader, onnx, anime4k-shader

マルチGPU環境でのGPU自動選択

NVEncCでは、NVENCを実行可能なGPUが複数存在する場合、 指定されたオプションをもとに実行時に最適なGPUを自動選択します。 自動選択に任せず、自分でGPUを選択する場合には--deviceオプションで指定してください。

  1. 指定オプションを実行可能なGPUを選択
    指定されたオプションから下記をチェックします。
  • 指定されたコーデック、プロファイル、レベルのサポート
  • 下記を指定した場合、それをサポートしているかチェック
    • 10ビット深度
    • ロスレス
    • インターレース保持
    • psnr/ssim/vmaf計算時のHWデコード
  1. 指定オプションを満たすGPUを優先
    下記条件のチェックし、実行可能なGPUを優先します。
  • Bフレームの使用が指定された場合、Bフレームのサポート
  1. 1と2の条件を満たすGPUが複数ある場合、下記のGPUを優先して自動選択します。
  • Video Engine(VE)使用率の低いもの
  • GPU使用率の低いもの
  • GPUの世代の新しいもの
  • GPUのCUDAコア数の多いもの VE/GPU使用率の低いGPUで実行することで、複数のGPUを効率的に使用し、エンコード速度の最大限引き出します。また、一般に世代が新しく、CUDAコア数の多いGPUのほうが高速であると考えこれを優先します。

なお、VE/GPU使用率の取得はエンコードの開始時に行われ、その値には数秒のタイムラグがあるため、 エンコードをほぼ同時に複数開始すると、複数のエンコードが同じGPUに割り当てられてしまうことが 多いのでご注意ください。

過去バージョンのドライバ対応状況

NVEnc対応するNVENC SDK API必要なグラフィックドライバのバージョン
NVEnc 0.00 以降4.0NVIDIA グラフィックドライバ 334.89 以降
NVEnc 1.00 以降5.0NVIDIA グラフィックドライバ 347.09 以降
NVEnc 2.00 以降6.0NVIDIA グラフィックドライバ 358 以降
NVEnc 2.08 以降7.0NVIDIA グラフィックドライバ 368.69 以降
NVEnc 3.02 以降7.0NVIDIA グラフィックドライバ 369.30 以降
NVEnc 3.08 以降8.0NVIDIA グラフィックドライバ 378.66 以降
NVEnc 4.00 以降8.1NVIDIA グラフィックドライバ 390.77 以降
NVEnc 4.31 以降9.0NVIDIA グラフィックドライバ 418.81 以降
NVEnc 4.51 以降9.1NVIDIA グラフィックドライバ 436.15 以降
NVEnc 5.10 以降9.0 - 10.0NVIDIA グラフィックドライバ 418.81 以降
NVEnc 5.18 以降9.0 - 11.0NVIDIA グラフィックドライバ 418.81 以降 (x64)
NVIDIA グラフィックドライバ 456.81 以降 (x86)
NVEnc 5.24 以降9.0 - 11.0NVIDIA グラフィックドライバ 418.81 以降 (x64)
NVIDIA グラフィックドライバ 456.81 以降 (x86)
NVEnc 5.36 以降9.0 - 11.1NVIDIA グラフィックドライバ 418.81 以降 (x64)
NVIDIA グラフィックドライバ 456.81 以降 (x86)
NVEnc 7.00 以降9.0 - 12.0NVIDIA グラフィックドライバ 418.81 以降 (x64)
NVIDIA グラフィックドライバ 456.81 以降 (x86)
NVEnc 7.26 以降9.0 - 12.1NVIDIA グラフィックドライバ 418.81 以降 (x64)
NVIDIA グラフィックドライバ 456.81 以降 (x86)
NVEnc 7.49 以降9.0 - 12.2NVIDIA グラフィックドライバ 418.81 以降 (x64)
NVIDIA グラフィックドライバ 456.81 以降 (x86)
NVEnc 8.00 以降10.0 - 13.0NVIDIA グラフィックドライバ 452.39 以降
対応するNVENC SDK API必要なグラフィックドライバのバージョン
9.0NVIDIA グラフィックドライバ (Win 418.81 / Linux 418.30) 以降
9.1NVIDIA グラフィックドライバ (Win 436.15 / Linux 435.21) 以降
10.0NVIDIA グラフィックドライバ (Win 445.87 / Linux 450.51) 以降
11.0NVIDIA グラフィックドライバ (Win 456.71 / Linux 455.28) 以降
11.1NVIDIA グラフィックドライバ (Win 471.41 / Linux 470.57.02) 以降
12.0???
12.1NVIDIA グラフィックドライバ (Win 531.61 / Linux 530.41.03) 以降
12.2NVIDIA グラフィックドライバ (Win 551.76 / Linux 550.54.14) 以降
13.0NVIDIA グラフィックドライバ (Win 570.00 / Linux 570.00) 以降
CUDAバージョン必要なグラフィックドライバのバージョン
10.1NVIDIA グラフィックドライバ (Win 418.96 / Linux 418.39) 以降
10.2.89NVIDIA グラフィックドライバ (Win 440.33 / Linux 441.22) 以降
11.0.2NVIDIA グラフィックドライバ (Win 451.48 / Linux 450.51.05) 以降
11.0.3NVIDIA グラフィックドライバ (Win 451.82 / Linux 450.51.06) 以降
11.1.0NVIDIA グラフィックドライバ (Win 456.38 / Linux 455.23) 以降
11.1.1NVIDIA グラフィックドライバ (Win 456.81 / Linux 455.32) 以降
11.2NVIDIA グラフィックドライバ (Win 460.89 / Linux 460.27.04) 以降
11.8NVIDIA グラフィックドライバ (Win 452.39 / Linux 450.80.02) 以降

NVEncのソースコードについて

  • MITライセンスです。
  • 本プログラムは、NVIDA CUDA Samplesをベースに作成されており、NVIDIA CUDA、NVIDIA Video Codec SDKNVIDIA Optical Flow SDKのサンプルコードを含みます。
    This software contains source code provided by NVIDIA Corporation.
  • --vpp-nvvfx フィルタは、NVIDIA BROADCASTを使用しています。
  • 本ソフトウェアでは、 jitify, ffmpeg, libplacebo, libhdr10plus, libdovi, vmaf, vship, tinyxml2, dtl, libass, ttmath, Caption2Assを使用しています。
    これらのライセンスにつきましては、該当ソースのヘッダ部分や、NVEnc_license.txtをご覧ください。

ソースの構成

Windows ... VCビルド

文字コード: UTF-8-BOM
改行: CRLF
インデント: 空白x4