・簡易インストーラを追加。動画エンコーダのSvtAv1EncApp.exe、音声エンコード用のffmpeg_audenc.exe、mux用のmp4box.exeをインストールする。
・プリセットのデフォルト値を修正。(8→12)
ご指摘いただいた問題の修正。
・Aviutlの開いているファイルを出力ファイルで上書きしないように。 出力ファイル名がAviutlで開かれているファイル名と同じである場合、エラー終了させるようにした。
x264guiEx 2.71と同じ内容。
・同梱の実行ファイルを更新。(0.9.0+31)
・デフォルトの出力形式をmp4に変更。・パラメータが設定されていない場合、 「ファイル出力に失敗しました」というメッセージしか出なかったのを改善。これも
x264guiEx 2.71と同じ内容。
ダウンロード>>ダウンロード (ミラー) >>ソースはこちら
スポンサーサイト
サイズの小さいのは、どのmp4boxを使えばいいのかなとか考えていたので、「mux用のmp4box.exe」の同梱は嬉しいなぁ。
手持ちのtc2mp4mod.exe(2008.06.17版)ではmuxに失敗しました。
作成ファイルは、映像、音声、timecodeとも作成されており、mkvの場合は正常なものが作成されます。
(エラーの内容)
auo [info]: mp4box (v1.1) でmuxを行います。映像: on, 音声:off, tc:off, chap:off, 拡張モード:なし
auo [info]: tc2mp4mod でmuxを行います。映像: on, 音声: on, tc: on, chap:off, 拡張モード:なし
auo [error]: mux後ファイルが小さすぎます。muxに失敗したものと思われます。
auo [error]: 推定ファイルサイズ 7808 KB, 出力ファイルサイズ 0 KB
auo [error]: tc2mp4mod でのmuxに失敗しました。
auo [error]: muxのコマンドラインは…
auo [error]: ".\exe_files\tc2mp4Mod.exe" -i "D:\AviUtl-out\test.mp4" -s "D:\AviUtl-out\test_audio.aac" -o "D:\AviUtl-out\test_muxout.mp4" -t "D:\AviUtl-out\test.timecode.txt" -T 120000 -b 1001 -L "C:\PRO\AviUtl\exe_files\mp4box.exe" -O " -brand mp42 "
tc2mp4mod [error]: [32mExporting AOM AV1 Video - Size 1920x1080
tc2mp4mod.exeはav1に対応していないと思いますので、afsのVFR出力時はmp4出力ができません(仕様です)。案内が不足しており申し訳ありません。afsのVFR出力時はmkv出力が必要です。
afsでも24fps固定なら(あまり使わないとは思いますが)、拡張設定の24fps化にチェックをいれればmp4boxだけで24fps固定としてmp4にmuxできるようにはしています。
x264guiExにあったtc2mp4modの設定欄が残ってしまっているのが紛らわしい要因で、申し訳ありません。次回、設定欄を消しておきたいと思います。
ご説明ありがとうございます。
MKV出力でも支障ありません。
蛇足ですが、AMD製CPUの場合、物理コアの数値を指定した方が長時間エンコ(1ファイルのエンコ時間が概ね90分から2時間超えた当たりから処理速度が徐々に落ちる)での処理低下が少しだけ緩和されるようです。(環境にもよると思いますが)
例 Ryzen 7 RX3800X 8コアの場合 拡張シートの追加コマンド欄に --lp 8 を追記
初めてsvtAV1guiExを使わせていただきます。
速度設定(preset)についてですが、VBRの2passにすると、設定に関わらず、「8」になってしまいます。
CRFだと設定通りになります。
何か追加の作業が必要でしょうか?
VBR 2passではエンコードが2回実行されますが、初回は--preset 8で固定、2回目は設定値になるようにしております。
2passのコマンドラインについては、SVT-AV1のユーザーズガイドの"2 pass VBR 1000 Kbps at maximum quality from 24fps yuv 1920x1080 input"に書いてある例の "2 command lines" で実行するタイプを参考にしています。
https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/master/Docs/svt-av1_encoder_user_guide.md#2-pass-vbr-1000-kbps-at-maximum-quality-from-24fps-yuv-1920x1080-input例では初回を--preset 8、2回目を--preset 0にて実行していることがわかります。初回は分析用なので、比較的軽いpresetを使用することが適していると思われます。svtAV1guiExでの出力時も、これに倣ったものとしております。
ただ、最近--presetが12まで追加されたので、初回は「"設定値"か"8"の大きいほう」に変更しようかと思います。
ご説明ありがとうございます。
2pass時のパラメーターを確認したところ、確かに設定したプリセットになっていました。
但し、変換速度からすると1passの時と同じく「8」になっていると思われます。
具体的には、我が家のPCでは、
プリセット「8」で 8~9fps/s、「5」だと2fps/s程度です。
プリセット「5」にして変換すると、1pass、2passともに8~9fps/sの速度が出ています。
これは2pass時も「8」として変換しているのか、それともこれが正常動作なのででしょうか?
> 2pass時のパラメーターを確認したところ、確かに設定したプリセットになっていました。
設定したプリセットになっていましたら、正常動作だといえると思いますがいかがでしょうか…
ログには、SVT-AV1が実際に認識したパラメータも表示されているかと思います。
--preset 4を指定すると2pass目のログに、
Svt[info]: SVT [config]: Preset : 4
と出ます。(ここが違っていれば意図した動作ではないですが)
これにより、プラグインから渡されたパラメータだけでなく、SVT-AV1にも指定したプリセットが正常に反映されていることが確認できるかと思います。
説明ありがとございます。
2pass時の表示を確認してみました。
Svt[info]: SVT [config]: Preset :
の部分は、Presetの後ろは空欄(表記なし)となっていました。
プラグインからのパラメーターでは「Preset 5」と表示されていましたので、SVT-AV1に反映されていないということでしょうか?
空欄だとたしかに反映されていないかもしれないですね。プラグイン側の問題か、SVT-AV1側の問題かもよくわからないです…。
ちょっと状況がつかめないですが、ログ全文がないと難しいかもしれません。
念のため、正常動作時のログを下記に置いてあります。本来はこのようになるはずなのですが…。
https://1drv.ms/t/s!AsYziax1Q91rvUfQEga7d1f0S-tC?e=S1c3Dc