最近はエンコードも殆どやらないんだけどAmatsukazeだけはマスターしとこうと思って弄ったら
何とかエンコード成功まではこぎつけたんだけどやっぱAviutlの方が細かく弄れるのでこっちもやってみたらハマった
ということでまずはインストールあたりからおさらい
Avisynth+を公式から落としてインストールしたらAvisynthNeo化するんだけど作者の推奨方法で
Aviutl本体のフォルダにNeoの方のAviSynth.dllを置くとあとからこれを消せば従来のAvisynth+環境に戻る
んでプラグインフォルダはAvisynth+のインストールフォルダに置いてオートロードするんだけど
plugins
plugins+
plugins64
plugins64+
というフォルダが4つあって使い分けがイマイチわかんなかったんだけどぶっちゃけ適当でも動く
32bitは「plugins+」、64bitは「plugins64+」にぶちこんどけばよい
厳密には+付きにはAvisynth+専用のプラグインを置くんだけど+専用のプラグインってあんまなさそうだし
Avisynthで動いてAvisynth+で動かないプラグインもないと思うので
いまさらAvisynth無印に戻るつもりもないんでこれでいいです
そしてここからハマった事例
MPEG2デコーダーとしてDGIndexからMPEG2DecPlus(改造版DGIndex)に切り替えてみた
切り替え理由はidct=4 (64-bit Floating Point)がかなり高速化するらしいので
MPEG2DecPlus64.dllをplugins64+フォルダに入れてMPEG2Source()で読み込む(DGIndexとは違うので注意)
しかしAviutlでavsファイルを入力してもMPEG2Sourceなんてコマンドはありませんぜ的なエラーが出て読めない
これはオートロードがうまく機能していないなと思いLoadPluginでMPEG2DecPlus64.dllのパスを指定して入力
すると「32bitのavisynthで64bitのプラグインは読み込めません」というエラーが出る
Avisynth+って32bitとか64bitの区別なかった気がしたのだけどどういう事!?
なんのことはないAviutlが32bitなので強制的にプラグインも32bit専用になってしまうのだった・・・
MPEG2DecPlusの32bit版MPEG2DecPlus.dllをplugins+フォルダに置くだけで解決
この辺はPT2とかの録画環境と似ててexeとdllはビット数を合わせるという基本を忘れていたぜw
まあ大体のプラグインが32bit、64bit両方あるので両方とも入れるのが基本ですわぇぇw
・NVEncとKTGMC
RTX2080SUPERを持ってるのでNVEncとCUDAが使えるぞというわけで
20系で画質が大幅アップしたh265エンコをしようというわけだがh265の仕様でインタレ保持は不可
なので何らかの方法でインタレ解除するんだけどソースが60iの実写なので60fps化する
従来だとQTGMCを使用するのだがこれがクソ重いので軽量化のためCUDA使用のKTGMCを使用してみる
単体で使うのではなくKFMDeintのmode=1を使用することでQTGMCと比較して細部の輪郭やテロップが潰れにくい
KFMなどの高画質化フィルタを併用できる
KFMDeint(mode=1, pass=0, preset="Slow", cuda=true)などなど
・AviutlでAvisynthのメリットって?
エンコーダの設定やTrimなどがGUIで行えるという以外はメリットがあまりないような気はする
フィルタ類もAvisynthのほうが高画質高機能なものも多いがその分マルチスレッド互換性やその他制限で重い
Trim後のaac出力やチャプターファイルの作成には便利
他にもYV12周りに地雷があったり(YUY2変換必須)色々癖はあるがまあケースバイケースかなぁ・・・






コメントを残す