Aviutl+QSVでエンコードしてみる(core i7 3770+Z77)
新しくintelPCを組んだので録画したアニメをAviutl+QSVEncでエンコードしようと思います。
QSV(Quick Sync Video)
QSVはSandy bridge以降のintelCPUの回路に組み込まれたハードウェア・エンコーダです。
メリットとしてはCPUの負荷の低下、消費電力の減少、専用回路による高速化です。
徹底検証 Quick Sync Video
QSVEncCとavisynthでもやってみました。
QSVEncC+avisynthで高速自動エンコードする その1 Firefoxは情弱のたしなみ
さらにPowerShellで自動CMカットを行うスクリプトをかきました。
【CLIEnc4TS】PowerShell + QSVEncCで自動エンコード/自動CMカット part1
スポンサーリンク QSV(Quick Sync Video)
QSVはSandy bridge以降のintelCPUの回路に組み込まれたハードウェア・エンコーダです。
メリットとしてはCPUの負荷の低下、消費電力の減少、専用回路による高速化です。
徹底検証 Quick Sync Video
QSVEncCとavisynthでもやってみました。
QSVEncC+avisynthで高速自動エンコードする その1 Firefoxは情弱のたしなみ
さらにPowerShellで自動CMカットを行うスクリプトをかきました。
【CLIEnc4TS】PowerShell + QSVEncCで自動エンコード/自動CMカット part1
QSV動作要件
まずはQSVEnc使用可能の条件を確認でぇす!
最近のミドルクラスのPCなら大体大丈夫なんじゃないでしょうか。
実はQSVは外付けGPUでなく、オンボードビデオを使う必要があるという変な条件があります。
それを回避し外付けGPUでも使用可能なのが「Virtu MVP」で対応しているのが上のチップセットなのです。
必要なもの
次に必要なソフトなどのリンク先です。
基本的に上記のものを揃えれば良いかと思います。neroとかいらないの?と思う人がいると思いますが、
QSVEncに[QSVEnc]、[NeroaacEnc]、[L-SMASH]を自動ダウンロード、インストールするインストーラがあります。
QSVEncの説明書をよく読みましょう。基本的にプラグインはaviutl.exeと同じディレクトリに入れればいいです。
あと以前まとめた記事も見ておいてください。→ aviutlの導入について(x264)
ちなみにMP4Boxの代わりにL-SMASHがデフォルトに採用されているみたいです。
QSVなどの導入
1.Virtu MVP


Virtu MVPの設定は簡単です。
1.[Main]タブにて"GPU Virtualization"をONにする
2.[Applications]タブにて"Add"からAviutlの登録、"Work in I-mode"にします
自分は一応再起動しましたが、別に必要は無さそうです。
2.Aviutl
.NETとかはインストールして、aviutlが入ったフォルダはCドライブに置きましょう。
QSVEnc_readme.txtを熟読して、auo_setup.exeを実行し、上でおいたaviutlフォルダを指定しインストールします。
最後にx264.exeやMPEG-2入力プラグインもaviutl.exeと同じディレクトリに入れておしまいです。
なお出力した映像・音声ファイルをMP4に格納する為にL-SMASHがインストールされましたが、
MP4Boxのほうが安定してるらしいので自分はこっちを使います。(L-SMASHだと音声がおかしくなる?)
L-SMASHとMP4Boxどちらでも問題ないと思いますが、MP4Boxを使う場合は、
解凍したQSVEncの中にmp4box用"QSVEnc.ini"があるのでaviutl.exeと同じディレクトリに置き、指定します。
Aviutlを起動して、[その他]-[出力プラグイン情報]から"拡張 QSV 出力"とあればおk、なければどこかが間違っています。
3.拡張QSV出力の設定
早速エンコードしたいので、拡張 QSV 出力の設定をしましょう。(とは言ってもほとんどすることはないですが…)
まずなにかTSファイルを読み込み、
[ファイル]-[プラグイン出力]-[拡張 QSV 出力]を選択、[ビデオ圧縮]で設定ウィンドウを開きます。

・設定ポイント
もし1が駄目なら、Virtu MVPがONになっていないか、BIOSで内蔵GPUが有効になっていないとかだと思います。
最低上の設定だけで良いかと思います。動画設定は調べるの面倒なのでデフォルトのままです。
QSVEncの作者さんによると、1PASSエンコードのQSVの場合はCQPが良いみたいです。
rigayaの日記兼メモ帳 [QSVって] QSVをいじった結果… [ほんと微妙]
ただアスペクト比は設定しておいたほうが良いかと思います。地デジは大抵1440x1080で放送され、
16:9ではなくそのままエンコすると駄目なので、SARを4:3に指定しましょう。これで出力ファイルは16:9になります。
エンコードする
これでもうQSVでエンコードできるのでやってみます。比較用にCUDAと拡張x264出力も。
■環境
エンコードするファイル。MurdocCutでOPをカットしたものです。

出力ファイルのキャプチャ
基本的に今はTS保持派で画質・速度優先なので、元の半分以下かつ1GB以下であればいいかなと思ってます。
解像度はオリジナル、aviutlで行ったQSVとx264はフィルタなし、インターレース解除なしです。
CUDAはFreemake Video Converterを使っていて、リサイズとインターレース解除は行われてる模様。
ふと思ったらソースサイズ143MB!QSVとCUDAでもあまり小さくなっていないし、x264はほぼ変化なし。
多分OPはよく動くので品質固定だとあまり小さくできなかったのかも?ビットレート高すぎて、比較の意味があるのか・・・
今度は1話まるごとエンコードしてみます。

上のと変わらないので画像はなし
同じく解像度はオリジナルのまま、aviutlで行ったQSVとx264はフィルタなし、インターレース解除なしです。
上だと9000超えのビットレートが全体だと4000程度に減っています。
これだけファイルサイズが大きければ当たり前かもしれないですけど、あまり画質が悪いなとは感じないです。
このクオリティを8分でエンコできるのはやっぱ速いのかなと。
ついでにやったQSVの1280x720はIntel Media SDKの映像フィルタでリサイズしたものです。
今回の目的ではないですが、GTX660にしたおかげかCUDAもQSVと同等の速さです。
CUDAはQSVと比べると若干ぼやけていますが大きな違いではない感じです。
x264はやはりほぼ再生時間と同じで遅いです。またCPUがMAXなので並行作業はきびしい感じです。
設定の問題で、さすがにもう少し速くなるんじゃなかとも思っているんですが・・・
おわりに
QSVを試してみた感想としてはかなり使えそうと思いました。
自分みたいにあまり容量気にしないで、速くサイズを小さくしたい人にはよさそうな感じです。
CUDAも十分使えますが若干ぼやけているのと、設定があまり細かくできない所は惜しいのかなと思います。
ただ、原因はわからないのですがQSVでおかしな所があり、音声が時たま震えるように聞こえたり、
結構大きなノイズが入ります。入らない時は最後までないのですが、あると全体的にその用な感じになります。
リサイズするとノイズが入るような気がします。オリジナルサイズだと問題ないっぽいです。
円安の影響なのかCPUやメモリが値上がりしていてこれ以上高くなるのは嫌だったので組んでしまいましたが、
4月に発売予定の新マイクロアーキテクチャ「haswell」のCPUだと、Ivy Bridgeよりもさらに高速になるみたいです。
とまぁ、こんな感じでおわりです。それではまた~
スポンサーリンク まずはQSVEnc使用可能の条件を確認でぇす!
Windows Vista,7 (x86/x64) |
Aviutl 0.99g4 以降 |
Core ix 2xxx(PentiumやCeleronはほぼ無効?) |
SSE2の搭載されたCPU |
H61,H67,Z68,Z77などのチップセットの乗ったマザーボード |
内蔵GPUをプライマリにする(BIOS操作) |
WinXP非対応 |
実はQSVは外付けGPUでなく、オンボードビデオを使う必要があるという変な条件があります。
それを回避し外付けGPUでも使用可能なのが「Virtu MVP」で対応しているのが上のチップセットなのです。
必要なもの
次に必要なソフトなどのリンク先です。
AviUtl | 定番。これで編集したりします。0.99g4以降! |
Microsoft .NET Framework 3.5 (日本語化) | x264を動かす為の必須コンポーネント。win7は必要なし? |
Microsoft Visual C++ 2008 SP1 (x86) | x264を動かす為の必須コンポーネント |
Virtu MVP | 対応のマザボであればドライバCDに付属していると思います。 |
QSVEnc(rigayaの日記兼メモ帳) | QSVを使うためのaviutlプラグイン |
DirectShow File Reader | MPEG2系ファイル(DVDなど)をAviUtlで読み込めるようにする |
読み込み後なぜか終了してしまうのでDriectShowを使っています | |
MP4Box | 映像と音声の合成に必要 |
基本的に上記のものを揃えれば良いかと思います。neroとかいらないの?と思う人がいると思いますが、
QSVEncに[QSVEnc]、[NeroaacEnc]、[L-SMASH]を自動ダウンロード、インストールするインストーラがあります。
QSVEncの説明書をよく読みましょう。基本的にプラグインはaviutl.exeと同じディレクトリに入れればいいです。
あと以前まとめた記事も見ておいてください。→ aviutlの導入について(x264)
ちなみにMP4Boxの代わりにL-SMASHがデフォルトに採用されているみたいです。
QSVなどの導入
1.Virtu MVP


Virtu MVPの設定は簡単です。
1.[Main]タブにて"GPU Virtualization"をONにする
2.[Applications]タブにて"Add"からAviutlの登録、"Work in I-mode"にします
自分は一応再起動しましたが、別に必要は無さそうです。
2.Aviutl
.NETとかはインストールして、aviutlが入ったフォルダはCドライブに置きましょう。
QSVEnc_readme.txtを熟読して、auo_setup.exeを実行し、上でおいたaviutlフォルダを指定しインストールします。
最後にx264.exeやMPEG-2入力プラグインもaviutl.exeと同じディレクトリに入れておしまいです。
なお出力した映像・音声ファイルをMP4に格納する為にL-SMASHがインストールされましたが、
MP4Boxのほうが安定してるらしいので自分はこっちを使います。(L-SMASHだと音声がおかしくなる?)
L-SMASHとMP4Boxどちらでも問題ないと思いますが、MP4Boxを使う場合は、
解凍したQSVEncの中にmp4box用"QSVEnc.ini"があるのでaviutl.exeと同じディレクトリに置き、指定します。
Aviutlを起動して、[その他]-[出力プラグイン情報]から"拡張 QSV 出力"とあればおk、なければどこかが間違っています。
3.拡張QSV出力の設定
早速エンコードしたいので、拡張 QSV 出力の設定をしましょう。(とは言ってもほとんどすることはないですが…)
まずなにかTSファイルを読み込み、
[ファイル]-[プラグイン出力]-[拡張 QSV 出力]を選択、[ビデオ圧縮]で設定ウィンドウを開きます。

・設定ポイント
1.[ハードウェアエンコード(QuickSyncVideo)]と[ビデオメモリモード(QSV使用時推奨)]にチェックがあること確認 |
2.[NeroAacEnc.exeの指定]からディレクトリ指定を行う |
3.[mp4]タブで[外部muxerを使用]にチェック |
4.[remuxer.exe]、[timelineeditor.exe]、[muxer.exe]それぞれのディレクトリ指定を行う(mp4boxでも良い) |
最低上の設定だけで良いかと思います。動画設定は
QSVEncの作者さんによると、1PASSエンコードのQSVの場合はCQPが良いみたいです。
rigayaの日記兼メモ帳 [QSVって] QSVをいじった結果… [ほんと微妙]
ただアスペクト比は設定しておいたほうが良いかと思います。地デジは大抵1440x1080で放送され、
16:9ではなくそのままエンコすると駄目なので、SARを4:3に指定しましょう。これで出力ファイルは16:9になります。
エンコードする
これでもうQSVでエンコードできるのでやってみます。比較用にCUDAと拡張x264出力も。
■環境
CPU : intel Core i7 3770 (Ivy Bridge,3.4GHz) |
MB : ASRock Z77 Extreme6 |
MEM : 16GB (8GB x2) |
VGA : N660GTX Twin Frozr III OC (GeForce GTX 660,GDDR5/2048MB) |
OS : Windows7 SP1 64bit |
エンコードするファイル。MurdocCutでOPをカットしたものです。

出力ファイルのキャプチャ
オリジナル(143MB) | 拡張QSV出力(21.4秒、CPU:40%程度、106MB) |
![]() | ![]() |
![]() | ![]() |
拡張x264出力(3分25.8秒、CPU:99~100%、140MB) | CUDA(31秒、CPU:20%程度、106MB) |
基本的に今はTS保持派で画質・速度優先なので、元の半分以下かつ1GB以下であればいいかなと思ってます。
解像度はオリジナル、aviutlで行ったQSVとx264はフィルタなし、インターレース解除なしです。
CUDAはFreemake Video Converterを使っていて、リサイズとインターレース解除は行われてる模様。
ふと思ったらソースサイズ143MB!QSVとCUDAでもあまり小さくなっていないし、x264はほぼ変化なし。
多分OPはよく動くので品質固定だとあまり小さくできなかったのかも?ビットレート高すぎて、比較の意味があるのか・・・
拡張QSV出力 |
auo [info]: converting YUY2 -> NV12p, using SSE2 qsv [info]: based on Intel(R) Media SDK Encoding Sample Version 3.5.915.45327 qsv [info]: Input Frame Format NV12 qsv [info]: Output Video H.264/AVC High @ Level 4 qsv [info]: 1440x1080p 4:3 29.970fps (2997/100fps) qsv [info]: Encode Mode Constant QP (CQP) qsv [info]: CQP Value I:24 P:26 B:27 qsv [info]: Target usage balanced qsv [info]: Ref frames 2 frames qsv [info]: Bframe Settings 3 frames qsv [info]: GOP Length 300 frames qsv [info]: Memory type d3d9 qsv [info]: Input Buffer Size 4 frames qsv [info]: Intel iGPU ID 1st GPU qsv [info]: Media SDK impl QuickSyncVideo (hardware encoder), API v1.4 qsv [info]: encoded 2704 frames, 152.66 fps, 9728.53 kbps qsv [info]: frame type IDR 10 qsv [info]: frame type I 10 qsv [info]: frame type P 676 qsv [info]: frame type B 2018 auo [info]: QuickSyncVideoエンコード : 0時間 0分17.8秒 auo [info]: NeroAacEnc で音声エンコードを行います。 AAC-LC ビットレート指定, 192kbps auo [info]: mp4box でmuxを行います。映像: on, 音声: on, tc:off, 拡張モード:なし auo [info]: 総エンコード時間 : 0時間 0分21.4秒 |
CUDA(Freemake Video Converterの為詳細な設定はありません。) |
フレームサイズ:オリジナル ビデオコーデック:H.264 フレームレート:オリジナル ビットレートカスタム:9760kbps インターレース解除:あり |
拡張x264出力 |
auo [info]: arguments passed... --preset medium --crf 24 --qcomp 1 --qpmin 10 --qpmax 51 --qpstep 41 --bframes 5 --me umh --subme 9 --merange 64 --sar 4:3 --input-res 1440x1080 --input-csp yv12 --frames 2704 --fps 29970/1000 -o raw [info]: 1440x1080p 4:3 @ 2997/100 fps (cfr) x264 [info]: using SAR=4/3 x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 x264 [info]: profile High, level 4.0 x264 [info]: frame I:91 Avg QP:19.29 size:135465 x264 [info]: frame P:1668 Avg QP:20.42 size: 49525 x264 [info]: frame B:945 Avg QP:22.21 size: 13979 x264 [info]: consecutive B-frames: 42.0% 31.5% 12.9% 7.4% 4.3% 2.0% x264 [info]: mb I I16..4: 29.1% 51.3% 19.6% x264 [info]: mb P I16..4: 9.6% 15.5% 5.0% P16..4: 36.4% 9.5% 5.6% 0.0% 0.0% skip:18.4% x264 [info]: mb B I16..4: 0.9% 1.0% 0.4% B16..8: 37.7% 3.2% 0.8% direct: 4.8% skip:51.3% L0:45.5% L1:51.6% BI: 2.9% x264 [info]: 8x8 transform intra:51.2% inter:79.6% x264 [info]: coded y,uvDC,uvAC intra: 50.9% 68.0% 40.3% inter: 15.6% 25.7% 4.3% x264 [info]: i16 v,h,dc,p: 40% 38% 15% 7% x264 [info]: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 12% 33% 5% 5% 7% 5% 7% 7% x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 10% 50% 9% 5% 5% 6% 5% 5% 5% x264 [info]: i8c dc,h,v,p: 31% 38% 24% 8% x264 [info]: Weighted P-Frames: Y:4.6% UV:3.8% x264 [info]: ref P L0: 57.0% 6.8% 20.7% 15.3% 0.2% x264 [info]: ref B L0: 73.9% 22.5% 3.6% x264 [info]: ref B L1: 90.8% 9.2% x264 [info]: kb/s:9589.05 encoded 2704 frames, 13.39 fps, 9589.11 kb/s drop 0 frames auo [info]: x264エンコード時間 : 0時間 3分22.0秒 auo [info]: 音声エンコーダ neroAacEnc.exe で音声をエンコードします。 auo [info]: MP4Box.exe でmuxを開始します。音声用コマンド:2, afs用タイムコード:0, 拡張コマンド:0 auo [info]: 総エンコード時間 : 0時間 3分25.8秒 |
今度は1話まるごとエンコードしてみます。

上のと変わらないので画像はなし
オリジナル | 2.39GB |
拡張QSV出力(オリジナル) | 893MB、8分18.4秒、CPU:40%程度 |
拡張QSV出力(1280x720) | 434MB、7分49.6秒、CPU:40%程度 |
CUDA | 896MB、8分3秒、CPU:20%程度 |
拡張x264出力 | 932MB、27分34.0秒、CPU:99~100% |
上だと9000超えのビットレートが全体だと4000程度に減っています。
これだけファイルサイズが大きければ当たり前かもしれないですけど、あまり画質が悪いなとは感じないです。
このクオリティを8分でエンコできるのはやっぱ速いのかなと。
ついでにやったQSVの1280x720はIntel Media SDKの映像フィルタでリサイズしたものです。
今回の目的ではないですが、GTX660にしたおかげかCUDAもQSVと同等の速さです。
CUDAはQSVと比べると若干ぼやけていますが大きな違いではない感じです。
x264はやはりほぼ再生時間と同じで遅いです。またCPUがMAXなので並行作業はきびしい感じです。
設定の問題で、さすがにもう少し速くなるんじゃなかとも思っているんですが・・・
拡張QSV出力 |
auo [info]: converting YUY2 -> NV12p, using SSE2 qsv [info]: based on Intel(R) Media SDK Encoding Sample Version 3.5.915.45327 qsv [info]: Input Frame Format NV12 qsv [info]: Output Video H.264/AVC High @ Level 4 qsv [info]: 1440x1080p 4:3 29.970fps (2997/100fps) qsv [info]: Encode Mode Constant QP (CQP) qsv [info]: CQP Value I:24 P:26 B:27 qsv [info]: Target usage balanced qsv [info]: Ref frames 2 frames qsv [info]: Bframe Settings 3 frames qsv [info]: GOP Length 300 frames qsv [info]: Memory type d3d9 qsv [info]: Input Buffer Size 4 frames qsv [info]: Intel iGPU ID 1st GPU qsv [info]: Media SDK impl QuickSyncVideo (hardware encoder), API v1.4 qsv [info]: encoded 53914 frames, 121.86 fps, 3970.77 kbps qsv [info]: frame type IDR 180 qsv [info]: frame type I 180 qsv [info]: frame type P 13479 qsv [info]: frame type B 40255 auo [info]: QuickSyncVideoエンコード : 0時間 7分22.5秒 auo [info]: NeroAacEnc で音声エンコードを行います。 AAC-LC ビットレート指定, 192kbps auo [info]: L-SMASH muxer でmuxを行います。映像: on, 音声:off, tc:off, 拡張モード:なし auo [info]: L-SMASH remuxer でmuxを行います。映像: on, 音声: on, tc:off, 拡張モード:なし auo [info]: 総エンコード時間 : 0時間 8分18.4秒 |
CUDA(Freemake Video Converterの為詳細な設定はありません。) |
フレームサイズ:オリジナル ビデオコーデック:H.264 フレームレート:オリジナル ビットレートカスタム:3970kbps インターレース解除:あり |
拡張x264出力 |
auo [info]: arguments passed... --preset medium --bitrate 3970 --pass 1 --slow-firstpass --stats ".\x264.stats" --sar 4:3 --input-res 1440x1080 --input-csp yv12 --frames 53914 --fps 29970/1000 -o raw [info]: 1440x1080p 4:3 @ 2997/100 fps (cfr) x264 [info]: using SAR=4/3 x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 x264 [info]: profile High, level 4.0 x264 [info]: frame I:768 Avg QP:19.72 size: 96966 x264 [info]: frame P:21488 Avg QP:21.57 size: 28527 x264 [info]: frame B:31658 Avg QP:21.38 size: 7181 x264 [info]: consecutive B-frames: 14.8% 16.9% 11.8% 56.5% x264 [info]: mb I I16..4: 26.7% 62.0% 11.3% x264 [info]: mb P I16..4: 7.0% 10.8% 2.2% P16..4: 36.2% 9.1% 6.3% 0.0% 0.0% skip:28.4% x264 [info]: mb B I16..4: 0.4% 0.6% 0.1% B16..8: 30.6% 2.2% 0.3% direct: 4.8% skip:61.1% L0:47.4% L1:50.2% BI: 2.4% x264 [info]: final ratefactor: 21.57 x264 [info]: 8x8 transform intra:55.3% inter:84.7% x264 [info]: coded y,uvDC,uvAC intra: 44.9% 62.2% 28.0% inter: 11.1% 20.1% 1.4% x264 [info]: i16 v,h,dc,p: 42% 37% 10% 12% x264 [info]: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 17% 41% 3% 3% 3% 2% 4% 3% x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 55% 12% 3% 3% 4% 2% 3% 2% x264 [info]: i8c dc,h,v,p: 45% 26% 24% 5% x264 [info]: Weighted P-Frames: Y:3.4% UV:2.3% x264 [info]: ref P L0: 55.7% 8.2% 23.4% 12.6% 0.1% x264 [info]: ref B L0: 71.1% 23.6% 5.3% x264 [info]: ref B L1: 88.7% 11.3% x264 [info]: kb/s:4068.12 encoded 53914 frames, 33.55 fps, 4068.12 kb/s drop 0 frames auo [info]: x264エンコード時間 : 0時間26分46.7秒 auo [info]: 音声エンコーダ neroAacEnc.exe で音声をエンコードします。 auo [info]: MP4Box.exe でmuxを開始します。音声用コマンド:2, afs用タイムコード:0, 拡張コマンド:0 auo [info]: 総エンコード時間 : 0時間27分34.0秒 |
おわりに
QSVを試してみた感想としてはかなり使えそうと思いました。
自分みたいにあまり容量気にしないで、速くサイズを小さくしたい人にはよさそうな感じです。
CUDAも十分使えますが若干ぼやけているのと、設定があまり細かくできない所は惜しいのかなと思います。
ただ、原因はわからないのですがQSVでおかしな所があり、音声が時たま震えるように聞こえたり、
結構大きなノイズが入ります。入らない時は最後までないのですが、あると全体的にその用な感じになります。
リサイズするとノイズが入るような気がします。オリジナルサイズだと問題ないっぽいです。
円安の影響なのかCPUやメモリが値上がりしていてこれ以上高くなるのは嫌だったので組んでしまいましたが、
4月に発売予定の新マイクロアーキテクチャ「haswell」のCPUだと、Ivy Bridgeよりもさらに高速になるみたいです。
とまぁ、こんな感じでおわりです。それではまた~
- 関連記事
-
- QSVEncC+avisynthで高速自動エンコードする その1
- TSファイルを一括でQSVエンコードする
- Aviutl+QSVでエンコードしてみる(core i7 3770+Z77)
- 今更ながらGPGPU(CUDA)でTSをmp4にエンコードしてみた
- Avisynth+バッチファイル+αで簡単にアニメ高速エンコード その4
| エンコード | 21:39 | comments:2 | trackbacks:0 | TOP↑
管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
| | 2013/12/01 00:47 | |