画像やリンクが無効になっている可能性もあるのでご了承下さい。
今までは Handbrake を用いた温存用適当エンコを行ってきて、自前で複数ファイルを一気にエンコ出来る様な Wrapper を作ったりしてきた。しかし、メインマシンも折角 Radeon になった事だから VCE の高速な H.264 エンコードも試してみたところ、程よい結果が得られたのでメモ代わりに記事とする。
今回用いるソフトウェアは A’s Video Converter である。DXVA で Fluid Motion を使用可能にする BlueskyFRC でおなじみの Bluesky 氏による物。
A’s Video Converter は AMD の VCE や Intel の QSV を用いたハードウェアエンコードを提供してくれる。個人的にハードウェアエンコードには不信感しか無いので、保存用には用いず今回の様に適当な温存用に使いたいなと思った次第。
目標とする画質は「Handbrake にて -q 21 程度」とした。サンプルに用いた 30 分アニメだと動画のビットレートが 1,452kbps となった物。このほかデインタレやリサイズなども行っている。
Handbrake の詳細なセッティングは次の通り。
-f av_mp4 -e x264 --x264-preset=medium --x264-tune=animation --h264-profile=high --h264-level="4.1" -q 21 -r 23.976 --cfr -a 1 -E fdk_aac -w 1280 -l 720 --crop 0:0:0:0 --decomb --detelecine -P
上記セッティングに近い成果物が得られる A’s Video Converter の設定は次の通り。
エンコーダが VCE になっている事を確認、レートコントロールを「固定 QP」に変更、「QP は最小 27 最大 51」に。品質 vs 速度は品質重視、プロファイルを High にして CABAC を有効とする。
オーディオエンコードは弄らずそのまま。
フィルタのタブでは「DXVA プリプロセッサ設定」にチェックを入れて「設定」をする。表示されたウィンドウでは次の様に設定する。リサイズは好みで 1280x720 にしているが好きな物にすれば良い。インタレ解除を行いつつ、fps は Fluid Motion をより良く効かせたいから 23.976 とする。
デコードのタブは全て LAV Filters の物を用いるのが一番良いかも。使用する A’s Video Converter が 32bit であれば LAV も合わせて 32bit、64bit であれば LAV も 64bit の物が必要になることに注意する。
この設定でエンコードを行うと、Handbrake では 1,452kbps ファイルサイズ 367,382,419byte であった物が、A’s Video Converter だと 1,475kbps ファイルサイズ 394,060,266byte になった。「ビットレート的」にはかなり近い物が出来た。
肝心のエンコード速度は A10-7870K (OC 4.4GHz iGPU 950MHz) のサブマシン上にて Handbrake は平均 38fps 前後、A’s Video Converter では 76~80fps となり倍速という結果に。
また、メインマシンの Radeon R7 370 では 100~103fps と更に速くなった。
画質も似た感じでビットレート通りと言った所だろうか。じっくり見たい場合には物足りない感じがあるけど、適当に再生しながらになるのであれば充分な画質だった。ファイルサイズが多少増えても良いのであれば「最小 QP を 22~26」あたりで様子を見るのも手。
一度設定を行ってしまえば、TS ファイルを一つでも複数でも纏めて AsVideoConv.exe にドラッグしてやるだけで順番若しくは同時にでもエンコード可能だから素晴らしいソフトウェアだ。
Handbrake でエンコードを行っている人も、APU 若しくは Radeon ユーザーなら一度は A’s Video Converter を試して実際に画質を見てみるのも良いだろう。好みに合えば高速なエンコードが可能なので時短にもなるし GPU 主体のエンコードだから省電力にもなるかもしれない。
2017/03/12 追記
設定周りを再検証して見なおした結果、かなり良くなっていた。続きは下記記事に。
コメント