最近のトレンドはAviutlからのパイプ出力ですな。だが…
あくまでもGUI。Yan氏のx264 for Aviutlはおそらく全てのx264に対応できる
一番いい方法なんだがGUIが欲しい…
ということでx264guiを改造してパイプ対応 + afs対応してみた。
手抜きなのでタイムコード関係は tc2mp4Mod に丸投げ。
muken氏に感謝。
で…本音は…
設定ファイルの互換性がしょっちゅうなくなんのがめんどくなってきた…
x64なx264とか使ってみたい…
だがGUIは欲しい…
わがまますぎてすまん。
仕組みとしては GUIの設定からx264へのコマンドラインを作って、映像データはパイプを使ってx264に送り込んでエンコードさせるというもの。
今回のx264guiEx.auoは基本的にはx264 r1804用だけど、x264のコマンドラインの仕様が変わらない限り、このままでいける。
【インストール】
Aviutlのプラグインフォルダに
x264guiEx.auo、x264guiEx.ini、x264guiExDefault.ini
の
3つを放り込んでください。
また、以下のものが必要なので、インストールしてください。
インストールされてれば必要ないです。
.Net Framework 2.0 SP2
リンク>>.Net Framework 2.0 SP2 LanguagePack
リンク>>VC++ 2008 SP1 再頒布可能パッケージ (x86)
リンク>>【使用方法】
1. 以下のものが必要になりますので、とりあえず集めてください。
- x264.exe (x86 / (64bitOSなら)x64も可)
- 何らかの音声エンコーダ(neroaacenc、qtaacenc等)
- 出力するコンテナのmuxer(mp4box, mkvmerge等)
ダウンロード先の例 (このほかにもいろいろあります)
・x264 (8bit depthのもの)
http://x264.nl/・neroaacenc
http://www.nero.com/jpn/technologies-aac-codec.html・mp4box
http://www.videohelp.com/tools/mp4box・mkvmerge
http://www.bunkus.org/videotools/mkvtoolnix/あるといいかもしれないもの
・qtaacenc
http://tmkk.pv.land.to/qtaacenc/ (要QuickTimeインストール)
・lame
http://www.rarewares.org/mp3-lame-bundle.php・FAW+fawcl
http://2sen.dip.jp/cgi-bin/friioup/upload.cgi?search=FakeAacWav&sstart=0001&send=9999・ext_bs
http://www.sakurachan.org/soft/mediatools/・ffmpeg
http://blog.k-tai-douga.com/ 2. 自動フィールドシフトを使用し、mp4出力する場合、さらに
- tc2mp4Mod
http://vfrmaniac.fushizen.eu/OtherStuff/が必要です。
muxerの場所を指定する欄に
mp4boxの場所 -> 最新のmp4boxの場所
tc2mp4Modの場所 -> tc2mp4Modの場所
というようにしてください。
(追記)
0.00の時は同梱のものを指定する欄がありましたが、mp4boxも新しいものを使うべきだとmuken氏にご指摘をいただいたので、その欄は廃止しました。よくない方法を述べてしまい、申し訳ありません。 3. 設定画面を開いたら、以下の場所を指定してください。
- x264.exe
- 使用するコンテナのmuxer
- 使用する音声エンコーダ
自動フィールドシフトを使用する場合は、さらに
- tc2mp4Mod
- mp4box_tc用
4. エンコードのパラメータを調整してください。
x264に渡される予定のコマンドが下部表示欄に出ます。
実際には、下部表示欄に出たものに、次のコマンドを
自動的に追加したものが渡されます。
- コマンド入力欄のコマンド
- 解像度情報 (--input-res)
- 色空間情報 (--input-csp yv12)
- フレームレート情報 (--fps)
- 出力先情報 (-o)
- 入力元情報 (パイプ)
5. OK をクリックして、設定画面を閉じる
6. 出力ファイル名を指定して、保存 -> エンコード開始。
【注意点】
・
自己責任で。
動くとは限りません。また、出力が正しい(?)とも限りません。私に動画ファイルやエンコードのさほど深い知識があるわけではありませんので、あんまり細かいことを言われても困ります。まったくわかりません。そのため、改造版を使用する場合、そのあたりをご理解いただき、自己責任でお願いします。
x264guiExの使用によるいかなる直接的・間接的・精神的ダメージを被っても責任はとりません。
・2passの制限
重要なことですが、自動フィールドシフト(afs)を有効にした場合、「自動マルチパス」以外の方法での2-pass(およびn-pass)エンコードは失敗します。これは afsによるdrop数が2pass目以降事前にわかっていなければならないためです。自動フィールドシフトを使わない場合は問題ないです。readmeには強制的に手動でやる方法も書いときましたが、非推奨。
・これまで(x264guiで)行われていたコマンド入力欄のパラメータチェックは行いません。これによってパッチをあててオプションを追加したx264にも対応できるはずです。一方で間違ったコマンドラインも素通りさせてしまうので、間違っていると、エンコードされませんので注意してください。
・パイプを作成するには、CreateProcess関数なるものを使うのですが、調べると管理者権限が必要なことがあるっぽいことが書いてありますのでそこらへんよろしくです。
あと詳しくはx264guiEx_readmeを。
GUIなのはいいけど、そのせいでたまには更新しないといけない時があると思う。たとえばコマンドの形態が変わったときとか。なるべく更新しなくてもいいように設計したつもりだが、GUIである以上更新はしょうがない、それがGUIの大きな欠点。
たとえば、パラメータの生成には、デフォルト値が重要で、それがx264guiExDefault.iniに書かれている。今のiniはx264 r1804用。x264のパラメータのデフォルトが変われば、これを更新たりしないといけない。
ダウンロード>>