温存用適当エンコ環境を Amatsukaze 使用に切り替え

Software
この記事は約7分で読めます。
この記事は最終更新日より 1 年以上経過しています。
画像やリンクが無効になっている可能性もあるのでご了承下さい。

 ここ数年は PT2 で録画したアニメのうち「録画したけどまた見るかも知れないから取り敢えず残しておく」なんていう適当に温存しておくエンコとして HandBrakeCLI を用いた自作のスクリプトでエンコードしてきた。
 適当エンコという物は筆者個人の定義として「CM カットやロゴ消し無し且つインタレ解除と逆テレシネ有り」ということ。これにより Fluid Motion が効いてヌルヌル且つ適度な画質を保ちつつファイルサイズを縮小して保存しておけるという事に。

筆者の適当エンコ要件

  1. 画質はそこまで求めない
  2. ファイルサイズは小さくしておきたい
  3. CM カットやロゴ消しは面倒だからやらない
  4. Fluid Motion 必須なのでプログレッシブの 24fps にする (インタレ解除 & 逆テレシネ)
  5. エンコードは速い方が良いので H.264 を用い、解像度は 960x720 SAR 4:3 の 720p にする。

 この条件に合わせて Amatsukaze の動作をカスタマイズしていく。今回はこの設定をメモとしつつ紹介してみたい。

Amatsukaze と Avisynth 用フィルターのダウンロード

 Github のリポジトリにある Release から一番上にある最新の物をダウンロードして使用させて頂く。
 適当なフォルダに展開しておく。

GitHub - nekopanda/Amatsukaze: Automated MPEG2-TS Transcoder
Automated MPEG2-TS Transcoder. Contribute to nekopanda/Amatsukaze development by creating an account...

 Avisynth のフィルターを使うことが出来るので、今回インタレ解除と逆テレシネで用いるフィルターの x64 版をダウンロードしておく。
 TIVTC はバージョン 1.0.10 の物を用いる事。最新版では動作しない。 ⇒ 1.0.11 でもエラー無く動作するようになっていた事を確認した。(2018/09/24) ⇒ 1.0.14 でも動作に問題は無かったので以後は最新版を用いれば OK なハズ。(2019/03/21 追記)
 yadifmod2 は 0.0.4 を用いた。

Releases · pinterf/TIVTC
TIVTC and TDeint. Contribute to pinterf/TIVTC development by creating an account on GitHub.
Releases · chikuzen/yadifmod2
YadifMod2 = Yadif + YadifMod. Contribute to chikuzen/yadifmod2 development by creating an account on...

 ダウンロードしたフィルター 2 つともアーカイブ内 x64 フォルダ以下にある DLL ファイルを Amatsukaze\exe_files\plugins64 のフォルダにコピーしておく事。

Amatsukaze の設定

 Amatsukaze.vbs を実行すると GUI が現れるので、プロファイル のタブを表示させて設定をする。
 筆者設定は dGPU として Radeon を使用しているので CPU 主体の処理を行っている。

エンコード周りの設定

 エンコーダは x264 を用いる。これは x264.exe を用いたエンコードになる。
 エンコーダ追加オプション--crf 21 --aq-mode 3 --aq-strength 0.6 --asm avx --sar 4:3 としている。
 後のフィルタ設定で 960x720 にリサイズしているので SAR 値を 4:3 とすることで再生時には 1280x720 で表示される。これは画質よりエンコード速度を稼ぐ目的である。微妙にボケる程度の画質が許容出来るのであればこちらがオススメ。
 もし 1280x720 と等倍で保持したい場合には --sar 1:1 と一部書き換えてフィルタ設定で 1280x720 にリサイズする必要がある。
 好みに応じて更に --preset medium --tune animation などと preset と tune オプションを設定すると良い。
 また CPU として Ryzen 7 1700X を使用している関係上 --asm avx と付けているが、Intel の CPU であれば不要なので外すこと。

フィルタ設定

 Amatsukaze 0.7 以前であれば同梱されていた avs ファイルをカスタマイズしてインタレ解除を行っていたが、0.8.0.0 以降では GUI のみで主たるフィルタを適用する事が出来るようになった。もちろん今まで通り avs ファイルを書いてフィルタを適用する事も可能。

 GUI のみでフィルタ設定を行う場合、スクリーンショット一番上のリストから フィルタを設定 を選ぶ事。
 インタレ解除 にチェックを入れて解除方法に Yadif を選択。出力はアニメソースで Fluid Motion を適用する事が目的なので 24fps を選択。実写などのソースによっては 30fps とすると良いだろう。
 リサイズはエンコード速度を稼ぐ目的でデータ量を減らしたいので 960x720 にリサイズをしている。

 以下 avs ファイルは Amatsukaze 0.7 以前で使用していた物だが備忘録としてそのまま記載しておく。

Import("AMTFilterFunctions.avs")
src = IsProcess("AmatsukazeCLI.exe") ? AMT_SOURCE : LWLibavVideoSource("T:\sandbox\t28\ts\test.ts")
src.AssumeTFF()
Yadifmod2(mode=0, order=-1, field=-1).TDecimate(mode=1, hybrid=0)
Spline36Resize(960, 720)
AssumeBFF()

 余談として Radeon であっても D3DVP という GPU を用いた高速なインタレ解除を行うことも出来る。本記事の設定で筆者のマシンスペックだと大体 170~180fps 程とかなり高速だが、Fluid Motion を適用したときに滑らかなスクロールとなる部分がカク付いてしまったりでちょっとばかり納得出来なかった物で未だ Yadif でインタレ解除を行っている。

その他設定

 字幕とロゴ消し、ログファイルは不要なので 3 箇所にチェックを入れたのみとした。

プロファイルの保存

 上記設定を終えたらプロファイル設定画面の上部にある 新規 をクリックして任意のプロファイル名を入力すると設定が保持される。
 一番始めに 新規 をクリックしてプロファイルを作成した後、設定完了後に 適用 ボタンをクリックする方がスマートかな……

エンコードしてみる

 Amatsukaze の基本的な使い方は次のドキュメント通りに行うのでここでの説明は割愛するが、基本的には TS ファイルをキューにドラッグし、ロゴ情報がなければ生成してあげる手順を行うのみ。

https://github.com/nekopanda/Amatsukaze/blob/master/README.md

 オフィシャルのドキュメント通りに手順を踏んでエンコードが開始されるとこの様になる。

 筆者個人としての要件を設定した物だと期待通りのエンコード速度が得られ、概ね 110~125fps の速度でエンコードしてくれている。CPU は Ryzen 7 1700X で 3.8GHz に OC した状態だ。

エンコード結果

 エンコードの結果はログを見ることで把握出来る。

 今回の設定と TS ファイルの組み合わせでは 1,977MB の TS ファイルをエンコードし、7 分 10 秒かかった結果 253MB とする事が出来たという事になる。HandBrakeCLI で同様にした場合、エンコードしたファイルは 279MB だったのでそれよりも縮んだ。

 また、Amatsukaze を利用するに最大のメリットとして感じている物は自動的に CM 若しくはそれと思しき箇所へのチャプター入れが行われることだ。
 エンコード開始前にロゴ生成を要する理由はここにあってロゴの有無を検出する事で CM の位置を結構な精度で検出してくれる。
 CM 開始ないし終了位置にチャプターがあるということは、動画再生ソフトでチャプターを飛ばしてしまえば本編にサクッと飛ばすことが出来るのである。
 次のスクリーンショットは再生ソフトとして MPC-BE を用いてエンコードした MP4 を再生したところ。
 プログレスバーにある白いヒゲみたいなのがチャプター位置で CM や大きなシーンチェンジ位置になっていた。ともあれ CM に入ったら PageDown を押して本編に飛ばすことが出来たので視聴時間短縮にも繋がった。

おわりに

 保存用エンコをする場合なら CM カットをきっちりやっていたが、適当エンコならこの自動でチャプターを入れてくれつつも画質的に満足出来てエンコ速度も速い。
 キューがあるだけに複数ファイルのエンコードも出来てしまうのでかなり万能なエンコードツールないしフロントエンドだと思われる。
 Avisynth のフィルターを使えるところも強みだと思うので、画質により拘った設定も試行錯誤すれば可能だろうと思う。
 今まで自作したスクリプトでやってきた TS ファイルの適当エンコも Amatsukaze に乗り換えることで快適にエンコも視聴も出来るようになり、一石二鳥という感じだった。
 今後も愛用させて貰おうかと思う。

記事更新履歴

2018/09/24

 Amatsukaze 0.8.0.0 になって筆者愛用設定が GUI のみで完結出来るようになったので記事を修正した。

2019/03/21

 使用する TIVTC が更新されていたので 1.0.14 を試したら問題なく動作したので以後は最新版を使う感じにした。

著者プロフィール
ぶっち

本格的に PC へ触れ始めてたのは 1990 年位から。
興味は PC 全般。OS は Windows と Linux などを嗜む。
プログラマやネットワークエンジニアを経てフリーに活動している 2 児の父な 40 代半ばのおじさんです。

ぶっちをフォローする

コメント

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.