by rigaya
このソフトウェアは、IntelのCPUに搭載されているHWエンコーダ(QSV)の画質や速度といった性能の実験を目的としています。 単体で動作するコマンドライン版とAviutlの出力プラグイン版があります。
-
QSVEncC.exe
単体で動作するコマンドライン版です。本項で説明します。 -
QSVEnc.auo
oneVPL を使用してエンコードを行うAviutlの出力プラグインの使用方法については、こちらを参照してください。
インストール方法はこちら。
ビルド方法はこちら。
Windows 10/11 (x86/x64) (QSVEnc.auo / QSVEncC.exe x86版)
Windows 10/11 (x64) (QSVEncC.exe x64版)
AviUtl 1.00/1.10 (QSVEnc.auo)
AviUtl 2.00 beta19 以降 (QSVEnc.auo2)
CentOS/Readhat系 (QSVEncC)
Debian/Ubuntu系 (QSVEncC)
そのほかのディストリビューションでも動作する可能性があります。
無保証です。自己責任で使用してください。
QSVEncを使用したことによる、いかなる損害・トラブルについても責任を負いません。
-
QuickSyncVideoを使用したエンコード
- H.264/AVC
- H.265/HEVC (8bit/10bit)
- MPEG2
- VP9 (8bit/10bit)
- AV1 (8bit/10bit)
-
QuickSyncVideoの各エンコードモード
- CQP 固定量子化量
- CBR 固定ビットレート
- VBR 可変ビットレート
- AVBR 適応的可変ビットレート
- QVBR 品質ベース可変ビットレート
- Lookahead 先行探索レート制御
- LA-HRD 先行探索レート制御 (HRD互換)
- ICQ 固定品質モード
- LA-ICQ 先行探索付き固定品質モード
- VCM ビデオ会議モード
-
エンコード品質の7段階による指定
-
インタレ保持エンコード (PAFF方式)
-
シーンチェンジ検出
-
SAR比指定
-
colormatrix等の指定
-
H.264 Level / Profileの指定
-
Blurayエンコードモード
-
最大ビットレート等の指定
-
最大GOP長の指定
-
AVX2までを使用した処理の高速化
-
マルチGPUも活用した並列エンコード
-
エンコード結果のSSIM/PSNRを計算
-
VPPフィルタ
カテゴリ フィルタ インタレ解除 deinterlace (Media Function), afs, bwdif, yadif, nnedi, rtgmc, kfm, decomb, onnx-deint 逆テレシネ・間引き rff, ivtc, decimate, mpdecimate ノイズ除去 knn, pmd, nlmeans, hqdn3d, smooth, denoise-dct, fft3d, msmooth, degrain, convolution3d, denoise (Media Function), mctf リサイズ resize (様々なアルゴリズム, libplacebo), descale 輪郭・ディテール強調 unsharp, edgelevel, warpsharp, maa, cas, msharpen, detailsharpen, detail-enhance (Media Function) デハロ・リンギング除去 dehalo, finedehalo, hqdering, vinverse 色調補正 tweak, curves, softlight, chromashift, colorfix 色空間変換・HDR colorspace, libplacebo-tonemapping バンディング低減 deband, libplacebo-deband フレーム補間 rife-ov, ai-frameinterp その他 delogo, subburn, pad, overlay, rotate, transform, stab, deflicker, deblock, image-stab (Media Function), libplacebo-shader, onnx, anime4k-shader
- 音声エンコード
- 音声及びチャプターとのmux機能
- 自動フィールドシフト対応
- HWデコードに対応
- MPEG2
- H.264/AVC
- HEVC
- VP8
- VP9
- AV1
- QSVによるデコード/VPP/エンコードをそれぞれ自由な組み合わせで使用可能
- エンコードなしの出力も可能
- avi(vfw), avs, vpy, y4m, rawなど各種形式に対応
- libavcodec/libavformatを利用した音声処理に対応
- libavcodec/libavformatを利用し、muxしながら出力が可能
下記はGPU、GPUドライバ、QSVEncのバージョンにより異なります。
| CPU Gen | GPU Gen | Windows | Linux |
|---|---|---|---|
| SandyBridge | Gen6 | i5 2410M | |
| IvyBridge | Gen7 | ||
| Haswell | Gen7.5 | i3 4170 i7 4610Y | |
| Broadwell | Gen8 | i7 5500U | i7 5500U |
| SkyLake | Gen9 | ||
| KabyLake | Gen9.5 | i5 7500 | i7 7700K i7 7500 |
| CoffeeLake | Gen9.5 | ||
| CommetLake | Gen9.5 | ||
| Cannonlake | Gen10 | ||
| IceLake | Gen11 | i5 1035G7 | i5 1035G7 |
| TigerLake | Gen12 | ||
| RocketLake | Gen12 | i7 11700K | i7 11700K |
| AlderLake | Gen12 | i9 12900K i3 N305 | i9 12900K i3 N305 |
| ArrowLake | Gen12.74 | u5 245K | |
| Alchemist | DG2(ACM) | Arc A380 | Arc A380 Arc A310 |
| Battlemage | BMG | Arc A580 |
| CPU Gen | GPU Gen | MPEG2 | H.264 PG | H.264 FF | HEVC PG | HEVC FF | VP9 FF | AV1 FF |
|---|---|---|---|---|---|---|---|---|
| SandyBridge | Gen6 | 8bit | 8bit | |||||
| IvyBridge | Gen7 | 8bit | 8bit | |||||
| Haswell | Gen7.5 | 8bit | 8bit | |||||
| Broadwell | Gen8 | 8bit | 8bit | |||||
| SkyLake | Gen9 | 8bit | 8bit | 8bit | ||||
| KabyLake | Gen9.5 | 8bit | 8bit | 8bit | 10bit | |||
| CoffeeLake | Gen9.5 | 8bit | 8bit | 8bit | 10bit | |||
| CommetLake | Gen9.5 | 8bit | 8bit | 8bit | 10bit | |||
| CannonLake | Gen10 | - | - | - | - | - | - | - |
| IceLake | Gen11 | 8bit | 8bit | 8bit | 10bit | 10bit | 10bit | |
| TigerLake | Gen12 | 8bit | 8bit | 8bit | 10bit | 10bit | 10bit | |
| RocketLake | Gen12 | 8bit | 8bit | 8bit | 10bit | 10bit | 10bit | |
| AlderLake | Gen12 | 8bit | 8bit | 8bit | 10bit | 10bit | 10bit | |
| ArrowLake | Gen12.74 | 8bit | 10bit | 10bit | 10bit | |||
| Alchemist | DG2(ACM) | 8bit | 10bit | 10bit | 10bit | |||
| Battlemage | BMG | 8bit | 10bit | 10bit | 10bit |
| CPU Gen | GPU Gen | MPEG2 | H.264 | HEVC | VP8 | VP9 | AV1 |
|---|---|---|---|---|---|---|---|
| SandyBridge | Gen6 | 8bit | 8bit | ||||
| IvyBridge | Gen7 | 8bit | 8bit | ||||
| Haswell | Gen7.5 | 8bit | 8bit | ||||
| Broadwell | Gen8 | 8bit | 8bit | 8bit | |||
| SkyLake | Gen9 | 8bit | 8bit | 8bit | 8bit | ||
| KabyLake | Gen9.5 | 8bit | 8bit | 10bit | 8bit | 8bit | |
| CoffeeLake | Gen9.5 | 8bit | 8bit | 10bit | 8bit | 8bit | |
| CommetLake | Gen9.5 | 8bit | 8bit | 10bit | 8bit | 8bit | |
| CannonLake | Gen10 | - | - | - | - | - | - |
| IceLake | Gen11 | 8bit | 8bit | 10bit | 8bit | 10bit | |
| TigerLake | Gen12 | 8bit | 8bit | 12bit | 12bit | 10bit | |
| RocketLake | Gen12 | 8bit | 8bit | 12bit | 12bit | 10bit | |
| AlderLake | Gen12 | 8bit | 8bit | 12bit | 12bit | 10bit | |
| ArrowLake | Gen12.74 | 8bit | 8bit | 12bit | 12bit | 12bit | |
| Alchemist | DG2(ACM) | 8bit | 8bit | 12bit | 12bit | 12bit | |
| Battlemage | BMG | 8bit | 8bit | 12bit | 12bit | 12bit |
QSVEncCでは、QSVを実行可能なGPUが複数存在する場合、 指定されたオプションをもとに実行時に最適なGPUを自動選択します。 自動選択に任せず、自分でGPUを選択する場合には--deviceオプションで指定してください。
- 指定オプションを実行可能なGPUを選択
指定されたオプションから下記をチェックします。
- 指定されたコーデック、プロファイル、レベルのサポート
- 下記を指定した場合、それをサポートしているかチェック
- 10ビット深度
- HWデコードのサポート (avhw指定時)
- 1の条件を満たすGPUが複数ある場合、下記条件をチェックしてGPUを自動選択します。
- Video Engine(VE)使用率の低いもの
- GPU使用率の低いもの
VE/GPU使用率の低いGPUで実行することで、複数のGPUを効率的に使用し、エンコード速度の最大限引き出します。
なお、VE/GPU使用率の取得はエンコードの開始時に行われ、その値には数秒のタイムラグがあるため、 エンコードをほぼ同時に複数開始すると、複数のエンコードが同じGPUに割り当てられてしまうことが 多いのでご注意ください。
- MITライセンスです。
- 本ソフトウェアでは、 oneVPL, ffmpeg, libplacebo, libhdr10plus, libdovi, libass, tinyxml2, ttmath, clRNG, dtl, Caption2Assを使用しています。 これらのライセンスにつきましては、該当ソースのヘッダ部分や、license.txtをご覧ください。
Windows ... VCビルド
Linux ... makefile + gcc/clangビルド
文字コード: UTF-8-BOM
改行: CRLF
インデント: 空白x4
