x264guiEx 3.01

※ 2022/3/13 14:45 x264guiEx 3.01に更新しました。
x264guiEx 3.00の不具合修正です。申し訳ありません。



これまでもx264guiExでは、簡易インストーラを作成するなどして、なるべく簡単に導入できるようにしてきたつもりだが、やはり導入が難しい、あるいはうまくいかない、エラーが起こるというケースが多いみたいだ。

というわけで、とりあえずwebやtwitter上を探して、どういう事例があるのか調べてみた。

エラーや、エラーでなくても戸惑うポイントの例

・Onedrive/google driveでどれをダウンロードしていいかわからない。
旧バージョンのフォルダとかが紛らわしい。それに、やはり最近はgithubのほうが馴染み深いかもしれない。

・zipファイルを展開せずに簡易インストーラを実行してエラー
明示的に展開しなくてもよい( = 開くだけでよい) ようにしたい。

・簡易インストーラで、ダウンロードに失敗
→ すでにx264等の実行ファイルは同梱済み。VC runtimeのダウンロードに失敗している?

・簡易インストーラで、Aviutlのパス指定に戸惑う
やはりほかのプラグインと同じように、エクスプローラーでファイルコピーのほうが直感的。

・x264guiExがAviutlに認識されない
Windows 8.1/10/11環境を一通り確認したが、Windows Updateをしていれば.NET Frameworkは自動的に導入されていることがほとんど。ということはVC runtimeがインストールされていないのだと思う。これもやはり簡易インストーラでのVC runtimeのダウンロードに失敗するのが根本的な原因かもしれない。

・「ファイルの出力に失敗しました。」といきなり出る
・neroaacencが存在しない…
設定がなされていない場合(あるいは飛んだ)に起こる。x264guiEx 2.72で前回出力時の設定を自動で読み込むようにして対策済み。

・x264.exe の場所が指定されていません。
簡易インストーラを使用していればパスは自動的に入っているはずだが、設定が飛んで空欄になったとか、あるいは指定されているけど存在しないというケースがあるようだ。

そもそも、実行ファイルのパスの指定というのがややこしく厄介に思われる方も多いようだ。ということはパスの指定をしなくても動くようにする必要がある。

・x264に不正なパラメータ(オプション)が渡された可能性があります。
わからん。英語のエラーメッセージを読む、あるいは、とりあえずデフォルトで出力してください…。

・qaacエンコードに失敗する
・CoreAudioToolbox.dll:指定されたモジュールが見つかりません。
とりあえず AAC (ffmpeg) をデフォルトにして対策したつもりだが、古いx264guiExをお使いの方だろうか?

・音声の長さが動画の長さと大きく異なるようです。
わからん…なぜだ…

・muxに失敗する
・mux後ファイルが見つかりませんでした
muxerの指定が間違っているケースとかもあるようだが、多くは原因不明。(ひとつひとつ細かく見ればわかるだろうが…)

たまにmuxerがウイルス対策ソフトにウイルス扱いされて消される場合もあってこれが一番厄介(気づかないし)。



x264guiEx 3.00の変更

ということで、発生するエラーは多岐に及ぶので、もう少し改善する必要がありそう。

さらに導入しやすくして、エラーを発生しづらくするため、x264guiEx 3.00では、

・導入時はzipファイルの中身をAviutlフォルダにコピーするだけ
→ 簡易インストーラを起動する導入法は廃止する
→ とにかくすべて同梱する (ダウンロードエラーの回避)

・設定しなくてもすぐ使用できる
→ パスの指定をしなくてもいいように

ようにしてみた。これで、導入がうまくいかないケースが減ってくれるとよいのだが…。



3.00に上げるのと同時にいくつか変更をしている。

・簡易インストーラによる導入を廃止。
「中身をAviutlフォルダにコピーするだけ」なのでいらなくなった。実際にはAviutl起動時に動かす感じ。

※実行ファイルのパスを指定している場合、x264が自動では更新されなくなる(古い実行ファイルのパスのままになる)ので注意してください。

・Visual Studio 2022に移行。
せっかくなので開発環境も移行した。

・.NET Framework 4.8に移行。
これまでx264guiExは.NET Framework 4.5.2ベースだったが、これは2022/4/26までがサポート期限だということなので、4.8に移行することにした。

.NET Framework 4.8はWindows Updateが行われていれば、Win8.1/Win10 1903以降/Win 11では導入済みのことを確認したので、これらの環境で動くのなら特に問題はないはず。

・パッケージのフォルダ構成を変更。
「中身をAviutlフォルダにコピーするだけ」のために必要な変更。

x264guiExプラグインだけでなく必要な実行ファイル(x264.exe, ffmpeg_audenc.exe, muxer.exe, remuxer.exe)、さらにVC runtimeをインストールするのに必要な実行ファイルもすべて同梱して、ダウンロードに失敗する可能性をなくした。

ウイルス対策ソフトに消される可能性は残るけど、それはいかんともしがたい。

・配布場所をgithubに移行。
onedriveやgoolge driveに置いていると、zipファイルの中をスキャンして、挙句実行ファイルをウイルス扱いしてzipを削除するようなトラブルが起こることがあった。

・実行ファイルのパスが指定されていない場合、exe_files内の実行ファイルを検索して使用するように。
「設定しなくてもすぐ使用できる」に必要な変更。

パスを指定しなくても、zipファイルと同じフォルダ構成であれば、実行ファイルを自動で見つけて使用するようにした。

したがってパス設定欄が空白でも問題ありません。

もちろん、今まで通りパスを指定して使用することもできる。

・ログに使用した実行ファイルのパスを出力するように。
自動で見つけたといっても結局どれを使ってるの? というのを確認するため。

・mp4box向け設定ファイルを廃止。
継続的なテストが困難で、また導入時の迷いのもととなるため。

・相対パスでのパスの保存をデフォルトに。
Aviutlをフォルダごと移動してもなるべく問題が生じないようにするため。



x264guiEx 3.01での修正
・x264/音声エンコーダの指定がないときの設定画面のエラーを回避。

・設定画面でパス指定がないときは実行ファイルを自動選択することを表示するように。
こんな感じで、ただパスの指定欄を空欄にしておくのではなくで、exe_files内から自動選択することを明示するようにした。

x264guiEx_3_01_fix.png



x264guiEx 3.00 の導入・更新方法はこちら
x264guiEx 3.00 の削除方法はこちら



ダウンロード>>

ソースはこちら



x264guiEx 3.00の導入の流れは、上記リンクの通りだけど、実際の動きはどうなっているかというと

1. exe_filesとpluginsフォルダをすべてAviutlフォルダにコピーする。

2. この状態でAviutlを起動する。

3. pluginsフォルダ内のauo_setup.aufがAviutlにx264guiEx.auoより先に読み込まれる。

auo_setup.aufは、これは0個のフィルタを登録するフィルタプラグインで、初期化時にVC runtimeと.NET Frameworkのチェックを行う。(ほとんどの環境で.NET FrameworkはOS標準でインストール済み)

VC runtimeのチェックにはexe_files内のcheck_vc.dll、.NET Frameworkのチェックにはcheck_dotnet.dllを使用する。

VC runtimeなどのインストールが必要なら、exe_files内のauo_setup.exeを実行し、これが同じくexe_files内のVC_redist.x86.exeを呼ぶなどして、VC runtimeをインストールする。

なお、このプラグインの作成方法として、こちらの資料を参考にさせていただきました。ありがとうございました。
あるフィルタプラグインのfunc_initより必ず先に実行する

4. auo_setup.aufの処理が終わると、x264guiEx.auoをロードする条件は整っているので、問題なくロードできる。

とこんな感じなので、一度導入が完了したら、auo_setup.aufは削除しても構いません(もちろんしなくてもよい)。

今回からauo_setupのソースコードも公開することとしました。こちらに置いてあります。
スポンサーサイト



コメントの投稿

非公開コメント

No title

小サイズな7zip形式がなくなったのは残念ですが、
利便性は向上したと思います^^

Re: No title

そうですね、なんでも同梱するとファイルサイズが大きくなってしまうのが難点です。

かといっていろいろなバージョンを作ると迷ってしまう方も出てしまうのですよね…。
プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先: rigaya34589@live.jp
github twitter

最新記事
最新コメント
カテゴリ
月別アーカイブ
カウンター
検索フォーム
いろいろ
公開中のAviutlプラグインとかのダウンロード

○Aviutl 出力プラグイン
x264guiEx 3.xx
- x264を使用したH264出力
- x264guiExの導入紹介動画>
- x264guiExの導入
- x264guiExのエラーと対処方法>
- x264.exeはこちら>

x265guiEx
- x265を使用したH.265/HEVC出力
- x265guiExの導入>
- x265.exeはこちら>

QSVEnc + QSVEncC
- QuickSyncVideoによるHWエンコード
- QSVEnc 導入/使用方法>
- QSVEncCオプション一覧>

NVEnc + NVEncC
- NVIDIAのNVEncによるHWエンコード
- NVEnc 導入/使用方法>
- NVEncCオプション一覧>

VCEEnc + VCEEncC
- AMDのVCE/VCNによるHWエンコード
- VCEEnc 導入/使用方法>
- VCEEncCオプション一覧>

svtAV1guiEx
- SVT-AV1によるAV1出力
- svtAV1guiExの導入>
- SVT-AV1単体はこちら>

ffmpegOut
- ffmpegを使用した出力
- ffmpegOutの導入>


○Aviutl フィルタプラグイン
自動フィールドシフト (ミラー)
- SSE2~AVX512による高速化版
- オリジナル: aji様

clfilters 
- OpenCLベースの複数のGPUフィルタ集
- 対応フィルタの一覧等はこちら

エッジレベル調整MT (ミラー)
- エッジレベル調整の並列化/高速化
- SSE2~AVX512対応
- オリジナル: まじぽか太郎様

バンディング低減MT (ミラー)
- SSE2~AVX512による高速化版
- オリジナル: まじぽか太郎様

PMD_MT
- SSE2~AVX512による高速化版
- オリジナル: スレ48≫989氏

透過性ロゴ (ミラー)
- SSE2~FMA3によるSIMD版
- オリジナル: MakKi氏

AviutlColor (ミラー)
- BT.2020nc向け色変換プラグイン
- BT.709/BT.601向けも同梱

○その他
x264afs (ミラー)
- x264のafs対応版

aui_indexer (ミラー使い方>)
- lsmashinput.aui/m2v.auiの
 インデックス事前・一括生成

auc_export (ミラー使い方>)
- Aviutl Controlの
 エクスポートプラグイン版
 エクスポートをコマンドから

aup_reseter (ミラー)
- aupプロジェクトファイルの
 終了フラグを一括リセット

CheckBitrate (ミラー, 使い方, ソース)
- ビットレート分布の分析(HEVC対応)

チャプター変換 (使い方>)
- nero/appleチャプター形式変換

エッジレベル調整 (avisynth)
- Avisynth用エッジレベル調整

メモリ・キャッシュ速度測定
- スレッド数を変えて測定

○ビルドしたものとか
L-SMASH (ミラー)
x264 (ミラー)
x265 (ミラー)
SVT-AV1 (ミラー)

○その他
サンプル動画
その他

○読みもの (ミラー)
Aviutl/x264guiExの色変換
動画関連ダウンロードリンク集
簡易インストーラの概要

○更新停止・公開終了
改造版x264gui
x264guiEx 0.xx
RSSリンクの表示
リンク
QRコード
QR