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 以降 (QSVEnc.auo)
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までを使用した処理の高速化
- エンコード結果のSSIM/PSNRを計算
- VPP機能
- Media Functionを使用した高速フィルタリング
- リサイズ
- インタレ解除 (normal / bob / it)
- エッジ強調
- ノイズ低減
- Image Stablizier
- CUDAによるGPUフィルタリング
- インタレ解除
- afs (自動フィールドシフト)
- nnedi
- decimate
- mpdecimate
- delogo
- 字幕焼きこみ
- 色空間変換 (x64版のみ)
- hdr2sdr
- tonemap (libplacebo)
- リサイズ
- bilinear
- spline16, spline36, spline64
- lanczos2, lanczos3, lanczos4
- libplacebo
- 回転 / 反転
- パディング(黒帯)の追加
- バンディング低減
- deband
- libplacebo
- ノイズ除去
- knn (K-nearest neighbor)
- pmd (正則化pmd法)
- 輪郭・ディテール強調
- unsharp
- edgelevel (エッジレベル調整)
- warpsharp
- インタレ解除
- Media Functionを使用した高速フィルタリング
- 音声エンコード
- 音声及びチャプターとの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 |
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 |
DG2 | Arc A380 | Arc A380 |
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 | |
DG2 | 8bit | 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 | |
DG2 | 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