---------------------------------------------------


拡張 x264 出力(GUI) Ex 1.xx/2.xx
拡張 x265 出力(GUI) Ex 3.xx
by rigaya

(seraphy氏 拡張 x264 出力(GUI) のパイプ処理版の書き直したx264guiExの拡張版)

---------------------------------------------------

拡張 x265 出力(GUI) Ex (x265guiEx) は、
x265(またはx264)を使用してエンコードを行うAviutlの出力プラグインです。

seraphy氏 拡張 x264 出力(GUI) を改造し、
x264を分離し、別プロセスとして実行できようにしたx264guiExのx265対応版です。


【動作環境】
Windows XP (x86)
Vista,7,8,8.1 (x86/x64)
Aviutl 0.99g4 以降
Aviutl 0.99k2 以降 推奨

【x265guiEx 使用にあたっての注意事項】
無保証です。自己責任で使用してください。
拡張 x265 出力(GUI) Exを使用したことによる、いかなる損害・トラブルについても責任を負いません。
つまり、こんなのってないよっていう状況に陥っても知りません。

【x265guiEx 再配布(二次配布)について】
このファイル(x265guiEx_readme.txt)と一緒に配布してください。
まあできればアーカイブまるごとで。

【使用方法】
---------------------------------------------------------------------------------
現在、x265guiExは開発途中であり、簡易インストーラは用意出来ていません。
そのため、以下の記述は不適切です。
Aviutlのプラグインフォルダにファイルを適切に配置した後、
別途用意した実行ファイル等を設定画面から適切に指定してください。
---------------------------------------------------------------------------------
1.
x265guiEx_3.xx.zipを解凍してください。

2.
解凍して出てくる auo_setup.exeをダブルクリックして実行してください。

3.
黒い画面が表示されますが、一瞬で終わる場合もあれば、最大で15分ほどかかる場合もあると思います。
しばらくすると黒い画面が消え、新たな画面が開かれます。

4.
Aviutl.exeのあるフォルダを指定してください...という画面が表示されます。
右のボタンをクリックして、Aviutl.exeのあるフォルダを指定してください。
※プラグインフォルダではありません。

5.
「次へ」をクリックしてください。
すると、新たなウィンドウが開きます。
「x265guiExでは音声エンコーダとして、neroaacencを使用します。...」
という画面が表示されたら、OKをクリックし、
表示されるneroaacencの利用許諾に「同意」をクリックした後、
そのウィンドウを閉じてください。

6.
必要な物が自動でダウンロードされ、インストールが行われます。

7.
完了しました、というメッセージが出たら終了です。「終了」をクリックしてください。

8.
Aviutlを起動し、「その他」>「出力プラグイン情報」にx265guiEx 3.xxがあるか確かめます。
ここでx265guiExの表示がない場合、1.で必要なものを忘れている、あるいは失敗したなどが考えられます。

9.
x265guiExの設定画面を開き、各実行ファイルの場所を指定します。
あと適当に設定します。

10.
エンコード開始。気長に待ちます。


【x265guiExで利用できる実行ファイル】

以下に実行ファイル名とダウンロード場所を列挙します。
実行ファイルは32bit/64bitともに可です。
<主要エンコーダ・muxer>
[x265]
http://x265.cc/

[x264]
(探せばもっと様々な方がビルドしてくれています。)
http://x264.nl/
http://pop.4-bit.jp/
http://www.xvidvideo.ru/x264-video-codec/
http://komisar.gin.by/
http://xhmikosr.1f0.de/x264/
http://x264.fushizen.eu/

[neroaacenc (AACエンコーダ)]
http://www.nero.com/jpn/downloads-nerodigital-nero-aac-codec.php

[L-SMASH (remuxer/muxer/timelineeditor)]
http://cid-6bdd4375ac8933c6.office.live.com/browse.aspx/L-SMASH

[mkvmerge (mkv出力時に必要)]
http://www.bunkus.org/videotools/mkvtoolnix/

[mplex (mpg出力時に必要)]
http://sourceforge.net/projects/mjpeg/files/mjpegtools/
mjpegtools > x.x.x > mjpegtools-x.x.x-mingw-bin.tar.bz2
x.x.xは適当なバージョン

<音声エンコーダ>
[FAW(fawcl) (FakeAACWave(偽装wav)解除)]
http://2sen.dip.jp/cgi-bin/friioup/upload.cgi?search=FakeAacWav&sstart=0001&send=9999

[faw2aac.auo (FakeAACWave(偽装wav)解除)]
http://www.rutice.net/FAW2aac

[qtaacenc (AACエンコーダ, 要QuickTime)]
http://tmkk.pv.land.to/qtaacenc/

[ext_bs (PVシリーズAAC抽出)]
http://www.sakurachan.org/soft/mediatools/

[lame (mp3エンコーダ)]
http://www.rarewares.org/mp3-lame-bundle.php

[ffmpeg (AC3エンコーダとして使用)]
http://blog.k-tai-douga.com/

[oggenc2 (ogg Vorbis, mkv専用)]
http://www.rarewares.org/ogg-oggenc.php

[qaac/refalac (AAC/ALACエンコーダ)]
http://sites.google.com/site/qaacpage/

[mp4alsrm23 (MPEG4 ALS (MPEG4 Audio Lossless Coding))]
http://www.nue.tu-berlin.de/menue/forschung/projekte/beendete_projekte/mpeg-4_audio_lossless_coding_als/parameter/en/
※Reference Software のとこにある MPEG-4 ALS codec for Windows - mp4alsRM23.exe

[flac (可逆圧縮)]
http://flac.sourceforge.net/download.html
http://www.rarewares.org/lossless.php


【利用するx265について】
x265が開発中であるため、x265の更新によりx265guiExが使用できなくなる場合があります。
現在 x265 0.5+76 以降が必要です。

64bitOSではx265 x64版が使用可能です。そのほうが速いと考えられます。


【利用するx264について】
パイプ処理のため、多くの方のビルドしているx264.exeを使用できます。
ただし、x264 r1673 (2010年 7月頃)以降が必須です。

64bitOSではx264 x64版が使用可能です。そのほうが速いです。(0〜15%程度)
64bitOSかどうかはマイコンピュータ右クリックから確認できます。

【iniファイルによる拡張】
x264guiEx.iniを書き換えることにより、
音声エンコーダやmuxerのコマンドラインを変更できます。
また音声エンコーダを追加することもできます。

デフォルトの設定では不十分だと思った場合は、
iniファイルの音声やmuxerのコマンドラインを調整してみてください。

【特定条件で発生する問題への対策】
・WinXPでエンコードを開始しようとすると、ログウィンドウが表示されず、例外が発生する。
→ 視覚効果関連の問題が発生することが稀にあるようです。
一度設定画面の右上「その他の設定」から 「視覚効果をオフにする」にチェックを入れ、
Aviutlを再起動し、使用してみてください。

・UltraVNC使用時にログウィンドウが表示されない。
→ ログウィンドウの透過が影響しているようです。
設定画面の右上「その他の設定」から「ログウィンドウの透過をオフにする」に
チェックを入れて使用してみてください。

【エンコ後バッチ処理】
出力したファイルに対してなんらかの処理をするためのものです。
指定されたbatファイルから特定の文字列を検索し、置換を行ったバッチファイルを実行します。
バッチ処理が開始されるタイミングは、
動画・音声エンコード / mux処理 / 一時ファイルの削除及び移動が行われた後です。
そのため以下の置換文字列で一時ファイル系のパスにファイルはすでに存在しません。(自動削除されたあとです)
じゃあなんで置換できるんだよ、というとバッチ処理中の一時ファイル名として便利そうだからです。
だってmp4boxって#%でこけるし…orz
-- 共通置換文字列 --
;コマンドライン部分で共通で使用できる置換名
%{vidpath} … 一時動画ファイル名(フルパス)
%{audpath} … 一時音声ファイル名(フルパス)
%{tmpdir} … 一時フォルダ名(最後の\無し)
%{tmpfile} … 一時ファイル名(フルパス・拡張子除く)
%{tmpname} … 一時ファイル名(ファイル名のみ・拡張子除く)
%{savpath} … 出力ファイル名(フルパス)
%{savfile} … 出力ファイル名(フルパス・拡張子除く)
%{savname} … 出力ファイル名(ファイル名のみ・拡張子除く)
%{savdir} … 出力フォルダ名(最後の\無し)
%{aviutldir} … Aviutl.exeのフォルダ名(最後の\無し)
%{chpath} … チャプターファイル名(フルパス) (%{savfile}[chapter_appendix])
%{tcpath} … タイムコードファイル名(フルパス) (%{tmpfile}[tc_appendix])
%{muxout} … muxで作成する一時ファイル名(フルパス)
%{x264path} … 指定された x264.exe のパス
%{x264_10path} … 指定された x264.exe(10bit版) のパス
%{x265path} … 指定された x265.exe のパス
%{x265_10path} … 指定された x265.exe(10bit版) のパス
%{audencpath} … 実行された音声エンコーダのパス
%{mp4muxerpath} … mp4 muxerのパス
%{mkvmuxerpath} … mkv muxerのパス
%{fps_scale} … フレームレート(分母)
%{fps_rate} … フレームレート(分子)
%{fps_rate_times_4} … フレームレート(分子)×4
%{sar_x} / %{par_x} … サンプルアスペクト比 (横)
%{sar_y} / %{par_y} … サンプルアスペクト比 (縦)
%{dar_x} … 画面アスペクト比 (横)
%{dar_y} … 画面アスペクト比 (縦)
-- 以下エンコ後バッチファイルでのみ使用できるもの --
%{logpath} … ログファイルのパス
-- 以下はmuxを行った場合のみ --
%{chapter} … チャプターファイルへのパス (チャプターを追加するよう指定した時のみ)
%{chap_apple} … Apple形式のチャプターファイルへのパス (チャプターを追加するよう指定した時のみ)

【注意事項】
・自動フィールドシフト使用上の制限
自動フィールドシフト使用時はx264のvbv-bufsize,vbv-maxrateは正しく反映されません。
これは、エンコード中にタイムコードを取得して、mux時にタイムコードを反映させるためです。

・2passの制限
自動フィールドシフト(afs)を有効にした場合、
「自動マルチパス」以外の方法での2-pass(およびn-pass)エンコードは失敗します。
これは afsによるdrop数が2pass目以降
事前にわかっていなければならないためです。
自動フィールドシフトを使わない場合は問題ないです。

・パイプを作成するには、CreateProcess関数なるものを使うのですが、
調べると管理者権限が必要らしいのでよろしくです。


【ソースコードについて】
・無保証です。
・ソースコードを使用したことによるいかなる損害・トラブルについてrigayaは責任を負いません。
以上に了解して頂ける場合、ソースコードの使用、複製、改変、再頒布を行って頂いて構いません。

【簡易インストーラについて】
auo_setup.exe … .NET Framework をインストールし、auoSetup.exeを使用可能にします。libcurlを使用しています。
setup\\auoSetup.exe … .NET を利用した簡易インストーラ本体です。zlibを使用しています。
libcurl, zlibのライセンスファイルはsetup\licence以下に同梱しています。

【ビルドについて】
ビルドにはVC++2013が必要です。2012/2010でも可能だと思います。
2010ではAVX2付きでのコンパイルは出来ません。


【謝辞】
以下の方のソースやwebページ等は特に参考になりました。
ありがとうございます。(無論ほかにもいろいろ参考にしましたが。)

seraphy様
muken様
あじ様
猫科研究所様


【コンパイル環境】
VC++ 2013 Express for Desktop
Win XP 互換ビルド


【どうでもいいメモ】
2013.11.20 (3.07β)
Aviutl <推奨> 0.99k2以降
x264 <必須> r1673 (2010年 7月頃)以降
<推奨> r2334 (r2184〜r2334)
x265 <必須> 0.5+428 以降
※要x265guiEx.ini更新
・x265 b-pyramidオプションに対応。

2013.11.19 (3.06β)
・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 以下、略